diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/settings/HistorySettingsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/settings/HistorySettingsFragment.kt index 423d3a670..2fc84f2ef 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/settings/HistorySettingsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/settings/HistorySettingsFragment.kt @@ -1,6 +1,7 @@ package org.koitharu.kotatsu.ui.settings import android.os.Bundle +import android.view.View import androidx.preference.Preference import com.google.android.material.snackbar.Snackbar import kotlinx.coroutines.Dispatchers @@ -24,6 +25,10 @@ class HistorySettingsFragment : BasePreferenceFragment(R.string.history_and_cach override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { addPreferencesFromResource(R.xml.pref_history) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) findPreference(AppSettings.KEY_PAGES_CACHE_CLEAR)?.let { pref -> viewLifecycleScope.launchWhenResumed { val size = withContext(Dispatchers.IO) { diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/settings/MainSettingsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/settings/MainSettingsFragment.kt index 1cd080f8a..71b5cc484 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/settings/MainSettingsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/settings/MainSettingsFragment.kt @@ -36,6 +36,10 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings), override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { addPreferencesFromResource(R.xml.pref_main) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) findPreference(AppSettings.KEY_LIST_MODE)?.summary = LIST_MODES[settings.listMode]?.let(::getString) findPreference(AppSettings.KEY_GRID_SIZE)?.run { @@ -62,6 +66,12 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings), title = getString(R.string.app_version, BuildConfig.VERSION_NAME) isEnabled = AppUpdateChecker.isUpdateSupported(context) } + settings.subscribe(this) + } + + override fun onDestroyView() { + settings.unsubscribe(this) + super.onDestroyView() } override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String?) { @@ -80,16 +90,6 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings), } } - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - settings.subscribe(this) - } - - override fun onDestroyView() { - settings.unsubscribe(this) - super.onDestroyView() - } - override fun onResume() { super.onResume() findPreference(AppSettings.KEY_REMOTE_SOURCES)?.run { diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/settings/NotificationSettingsLegacyFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/settings/NotificationSettingsLegacyFragment.kt index 0430a562d..599c14fb0 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/settings/NotificationSettingsLegacyFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/settings/NotificationSettingsLegacyFragment.kt @@ -2,6 +2,7 @@ package org.koitharu.kotatsu.ui.settings import android.media.RingtoneManager import android.os.Bundle +import android.view.View import androidx.preference.Preference import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.prefs.AppSettings @@ -13,6 +14,10 @@ class NotificationSettingsLegacyFragment : BasePreferenceFragment(R.string.notif override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { addPreferencesFromResource(R.xml.pref_notifications) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) findPreference(AppSettings.KEY_NOTIFICATIONS_SOUND)?.run { val uri = settings.notificationSound.toUriOrNull() summary = RingtoneManager.getRingtone(context, uri).getTitle(context) diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/settings/ReaderSettingsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/settings/ReaderSettingsFragment.kt index 74a990c6d..130b39341 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/settings/ReaderSettingsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/settings/ReaderSettingsFragment.kt @@ -1,6 +1,7 @@ package org.koitharu.kotatsu.ui.settings import android.os.Bundle +import android.view.View import androidx.preference.MultiSelectListPreference import org.koitharu.kotatsu.R import org.koitharu.kotatsu.core.prefs.AppSettings @@ -11,6 +12,10 @@ class ReaderSettingsFragment : BasePreferenceFragment(R.string.reader_settings) override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { addPreferencesFromResource(R.xml.pref_reader) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) findPreference(AppSettings.KEY_READER_SWITCHERS)?.let { it.summaryProvider = MultiSummaryProvider(R.string.gestures_only) } diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/settings/SourceSettingsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/settings/SourceSettingsFragment.kt index d5c483462..0864b5170 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/settings/SourceSettingsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/settings/SourceSettingsFragment.kt @@ -1,6 +1,7 @@ package org.koitharu.kotatsu.ui.settings import android.os.Bundle +import android.view.View import androidx.preference.EditTextPreference import androidx.preference.PreferenceFragmentCompat import org.koitharu.kotatsu.R @@ -30,6 +31,10 @@ class SourceSettingsFragment : PreferenceFragmentCompat() { val pref = preferenceScreen.getPreference(i) pref.isVisible = pref.key in keys } + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) findPreference(SourceSettings.KEY_DOMAIN)?.summaryProvider = EditTextSummaryProvider(R.string._default) } diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 04692c68e..721375513 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -4,6 +4,7 @@ true @drawable/ic_cross @style/AppActionMode + @style/PreferenceThemeOverlay