* Use 1.x preference abstraction - Uses SharedPreferences compared to 1.x impl which uses DataStore but it breaks all settings screens currently - Move PreferencesHelper to new PreferenceStore - PreferencesHelper should be split into smaller preference stores and be in core or domain - Remove flow preferences as new PreferenceStore handles changes for us Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com> * Fix PreferenceMutableState not updating * Fix changes not emitting on first subscription Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com> (cherry picked from commit 0086743a5311c22fb8c07f596ab5de384862a68a) # Conflicts: # app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt # app/src/main/java/eu/kanade/tachiyomi/App.kt # app/src/main/java/eu/kanade/tachiyomi/AppModule.kt # app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt # app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt # app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt # core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
39 lines
1.3 KiB
Kotlin
39 lines
1.3 KiB
Kotlin
package exh.debug
|
|
|
|
import eu.kanade.core.prefs.PreferenceMutableState
|
|
import eu.kanade.tachiyomi.core.preference.PreferenceStore
|
|
import kotlinx.coroutines.CoroutineScope
|
|
import uy.kohesive.injekt.injectLazy
|
|
import java.util.Locale
|
|
|
|
enum class DebugToggles(val default: Boolean) {
|
|
// Redirect to master version of gallery when encountering a gallery that has a parent/child that is already in the library
|
|
ENABLE_EXH_ROOT_REDIRECT(true),
|
|
|
|
// Enable debug overlay (only available in debug builds)
|
|
ENABLE_DEBUG_OVERLAY(true),
|
|
|
|
// Convert non-root galleries into root galleries when loading them
|
|
PULL_TO_ROOT_WHEN_LOADING_EXH_MANGA_DETAILS(true),
|
|
|
|
// Do not update the same gallery too often
|
|
RESTRICT_EXH_GALLERY_UPDATE_CHECK_FREQUENCY(true),
|
|
|
|
// Pretend that all galleries only have a single version
|
|
INCLUDE_ONLY_ROOT_WHEN_LOADING_EXH_VERSIONS(false),
|
|
;
|
|
|
|
private val prefKey = "eh_debug_toggle_${name.lowercase(Locale.US)}"
|
|
|
|
var enabled: Boolean
|
|
get() = preferenceStore.getBoolean(prefKey, default).get()
|
|
set(value) {
|
|
preferenceStore.getBoolean(prefKey).set(value)
|
|
}
|
|
|
|
fun asPref(scope: CoroutineScope) = PreferenceMutableState(preferenceStore.getBoolean(prefKey, default), scope)
|
|
|
|
companion object {
|
|
private val preferenceStore: PreferenceStore by injectLazy()
|
|
}
|
|
}
|