From da21fb83f482cafa7a509e66341b863625fac7a8 Mon Sep 17 00:00:00 2001 From: Niels van Velzen Date: Wed, 14 Apr 2021 19:06:36 +0200 Subject: [PATCH] Fix DisplayPreferencesScreen not saving the preferences --- .../ui/browsing/DisplayPreferencesScreen.kt | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/DisplayPreferencesScreen.kt b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/DisplayPreferencesScreen.kt index e6f1d88d16..13e4ed2c9a 100644 --- a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/DisplayPreferencesScreen.kt +++ b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/DisplayPreferencesScreen.kt @@ -2,13 +2,28 @@ package org.jellyfin.androidtv.ui.browsing import org.jellyfin.androidtv.R import org.jellyfin.androidtv.TvApp -import org.jellyfin.androidtv.ui.preference.dsl.* +import org.jellyfin.androidtv.ui.preference.dsl.OptionsFragment +import org.jellyfin.androidtv.ui.preference.dsl.checkbox +import org.jellyfin.androidtv.ui.preference.dsl.lazyOptionsScreen +import org.jellyfin.androidtv.ui.preference.dsl.list +import timber.log.Timber class DisplayPreferencesScreen : OptionsFragment() { + private val preferencesId by lazy { + requireArguments().getString(ARG_PREFERENCES_ID) + } + // Requires the caller of this view to pre-cache the display preferences private val displayPreferences by lazy { - val id = requireArguments().getString(ARG_PREFERENCES_ID) - TvApp.getApplication().getCachedDisplayPrefs(id) + Timber.d("Loading cached display preferences with id $preferencesId") + TvApp.getApplication().getCachedDisplayPrefs(preferencesId) + } + + override fun onStop() { + super.onStop() + + Timber.d("Saving cached display preferences with id $preferencesId") + TvApp.getApplication().updateDisplayPrefs(displayPreferences) } override val screen by lazyOptionsScreen {