diff options
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/BehaviourPrefs.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/BehaviourPrefs.kt | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/BehaviourPrefs.kt b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/BehaviourPrefs.kt new file mode 100644 index 00000000..ad0cb6be --- /dev/null +++ b/app/src/main/kotlin/com/pitchedapps/frost/prefs/sections/BehaviourPrefs.kt @@ -0,0 +1,109 @@ +/* + * Copyright 2020 Allan Wang + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package com.pitchedapps.frost.prefs.sections + +import ca.allanwang.kau.kpref.KPref +import ca.allanwang.kau.kpref.KPrefFactory +import com.pitchedapps.frost.BuildConfig +import com.pitchedapps.frost.prefs.OldPrefs +import com.pitchedapps.frost.prefs.PrefsBase +import org.koin.core.KoinComponent +import org.koin.core.inject + +interface BehaviourPrefs : PrefsBase { + var biometricsEnabled: Boolean + + var overlayEnabled: Boolean + + var overlayFullScreenSwipe: Boolean + + var viewpagerSwipe: Boolean + + var loadMediaOnMeteredNetwork: Boolean + + var debugSettings: Boolean + + var linksInDefaultApp: Boolean + + var blackMediaBg: Boolean + + var autoRefreshFeed: Boolean + + var showCreateFab: Boolean + + var fullSizeImage: Boolean +} + +class BehaviourPrefsImpl( + factory: KPrefFactory +) : KPref("${BuildConfig.APPLICATION_ID}.prefs.behaviour", factory), + BehaviourPrefs, KoinComponent { + + private val oldPrefs: OldPrefs by inject() + + override var biometricsEnabled: Boolean by kpref( + "biometrics_enabled", + oldPrefs.biometricsEnabled /* false */ + ) + + override var overlayEnabled: Boolean by kpref( + "overlay_enabled", + oldPrefs.overlayEnabled /* true */ + ) + + override var overlayFullScreenSwipe: Boolean by kpref( + "overlay_full_screen_swipe", + oldPrefs.overlayFullScreenSwipe /* true */ + ) + + override var viewpagerSwipe: Boolean by kpref( + "viewpager_swipe", + oldPrefs.viewpagerSwipe /* true */ + ) + + override var loadMediaOnMeteredNetwork: Boolean by kpref( + "media_on_metered_network", + oldPrefs.loadMediaOnMeteredNetwork /* true */ + ) + + override var debugSettings: Boolean by kpref( + "debug_settings", + oldPrefs.debugSettings /* false */ + ) + + override var linksInDefaultApp: Boolean by kpref( + "link_in_default_app", + oldPrefs.linksInDefaultApp /* false */ + ) + + override var blackMediaBg: Boolean by kpref("black_media_bg", oldPrefs.blackMediaBg /* false */) + + override var autoRefreshFeed: Boolean by kpref( + "auto_refresh_feed", + oldPrefs.autoRefreshFeed /* false */ + ) + + override var showCreateFab: Boolean by kpref( + "show_create_fab", + oldPrefs.showCreateFab /* true */ + ) + + override var fullSizeImage: Boolean by kpref( + "full_size_image", + oldPrefs.fullSizeImage /* false */ + ) +} |