package eu.kanade.domain.base import android.content.Context import androidx.annotation.StringRes import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.util.system.isPreviewBuildType import eu.kanade.tachiyomi.util.system.isReleaseBuildType import tachiyomi.core.preference.Preference import tachiyomi.core.preference.PreferenceStore class BasePreferences( val context: Context, private val preferenceStore: PreferenceStore, ) { fun downloadedOnly() = preferenceStore.getBoolean( Preference.appStateKey("pref_downloaded_only"), false, ) fun incognitoMode() = preferenceStore.getBoolean(Preference.appStateKey("incognito_mode"), false) fun extensionInstaller() = ExtensionInstallerPreference(context, preferenceStore) fun acraEnabled() = preferenceStore.getBoolean("acra.enable", isPreviewBuildType || isReleaseBuildType) enum class ExtensionInstaller(@StringRes val titleResId: Int) { LEGACY(R.string.ext_installer_legacy), PACKAGEINSTALLER(R.string.ext_installer_packageinstaller), SHIZUKU(R.string.ext_installer_shizuku), PRIVATE(R.string.ext_installer_private), } }