From 79a51cbbbe239cce33d4e4b9754a0db220c0781d Mon Sep 17 00:00:00 2001 From: Nazar Sukhovych Date: Sun, 29 Dec 2024 14:43:04 +0100 Subject: [PATCH] REM-907 - Fix application theme --- .../com/elementary/tasks/core/utils/DI.kt | 2 +- .../core/utils/params/AuthPreferencesImpl.kt | 16 +++++++++++---- .../utils/params/DateTimePreferencesImpl.kt | 12 ++++++++--- .../core/utils/params/ThemePreferencesImpl.kt | 20 ++++++++++++++----- .../fragments/BaseNavigationFragment.kt | 5 ++++- .../fragments/recur/preset/PresetAdapter.kt | 1 + .../recur/preset/PresetDiffCallback.kt | 1 + .../recur/preset/PresetSelectionActivity.kt | 2 ++ .../fragments/recur/preset/PresetViewModel.kt | 1 + .../ui/common/activity/LightThemedActivity.kt | 13 +++++++----- 10 files changed, 54 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/elementary/tasks/core/utils/DI.kt b/app/src/main/java/com/elementary/tasks/core/utils/DI.kt index 182d2ba2a..20c2e77f0 100644 --- a/app/src/main/java/com/elementary/tasks/core/utils/DI.kt +++ b/app/src/main/java/com/elementary/tasks/core/utils/DI.kt @@ -172,7 +172,6 @@ val dataFlowRepositoryModule = module { } val utilModule = module { - single { Prefs(get()) } factory { PresetInitProcessor(get(), get(), get(), get(), get(), get()) } single { ReminderExplanationVisibility(get()) } single { MemoryUtil() } @@ -202,6 +201,7 @@ val utilModule = module { factory { RecurEventManager(get()) } + single { Prefs(get()) } single { RemotePrefs(get(), get(), get(), get()) } single { ThemePreferencesImpl(get()) as ThemePreferences } single { LocalePreferencesImpl(get()) as LocalePreferences } diff --git a/app/src/main/java/com/elementary/tasks/core/utils/params/AuthPreferencesImpl.kt b/app/src/main/java/com/elementary/tasks/core/utils/params/AuthPreferencesImpl.kt index e6d325e97..048cbd542 100644 --- a/app/src/main/java/com/elementary/tasks/core/utils/params/AuthPreferencesImpl.kt +++ b/app/src/main/java/com/elementary/tasks/core/utils/params/AuthPreferencesImpl.kt @@ -6,11 +6,19 @@ class AuthPreferencesImpl( private val prefs: Prefs ) : AuthPreferences { override val shufflePinView: Boolean - get() = prefs.shufflePinView + get() { + return prefs.shufflePinView + } override val useFingerprint: Boolean - get() = prefs.useFingerprint + get() { + return prefs.useFingerprint + } override val hasPinCode: Boolean - get() = prefs.hasPinCode + get() { + return prefs.hasPinCode + } override val pinCode: String - get() = prefs.pinCode + get() { + return prefs.pinCode + } } diff --git a/app/src/main/java/com/elementary/tasks/core/utils/params/DateTimePreferencesImpl.kt b/app/src/main/java/com/elementary/tasks/core/utils/params/DateTimePreferencesImpl.kt index 199113c42..12b65cf8d 100644 --- a/app/src/main/java/com/elementary/tasks/core/utils/params/DateTimePreferencesImpl.kt +++ b/app/src/main/java/com/elementary/tasks/core/utils/params/DateTimePreferencesImpl.kt @@ -8,9 +8,15 @@ class DateTimePreferencesImpl( private val prefs: Prefs ) : DateTimePreferences { override val is24HourFormat: Boolean - get() = prefs.is24HourFormat + get() { + return prefs.is24HourFormat + } override val birthdayTime: String - get() = prefs.birthdayTime + get() { + return prefs.birthdayTime + } override val locale: Locale - get() = Language.getScreenLanguage(prefs.appLanguage) + get() { + return Language.getScreenLanguage(prefs.appLanguage) + } } diff --git a/app/src/main/java/com/elementary/tasks/core/utils/params/ThemePreferencesImpl.kt b/app/src/main/java/com/elementary/tasks/core/utils/params/ThemePreferencesImpl.kt index d6cb3be58..176845c8d 100644 --- a/app/src/main/java/com/elementary/tasks/core/utils/params/ThemePreferencesImpl.kt +++ b/app/src/main/java/com/elementary/tasks/core/utils/params/ThemePreferencesImpl.kt @@ -6,17 +6,27 @@ class ThemePreferencesImpl( private val prefs: Prefs ) : ThemePreferences { override val nightMode: Int - get() = prefs.nightMode + get() { + return prefs.nightMode + } override val mapStyle: Int - get() = prefs.mapStyle + get() { + return prefs.mapStyle + } override val useDynamicColors: Boolean - get() = prefs.useDynamicColors + get() { + return prefs.useDynamicColors + } override val birthdayColor: Int - get() = prefs.birthdayColor + get() { + return prefs.birthdayColor + } override val notePalette: Int - get() = prefs.notePalette + get() { + return prefs.notePalette + } } diff --git a/app/src/main/java/com/elementary/tasks/navigation/fragments/BaseNavigationFragment.kt b/app/src/main/java/com/elementary/tasks/navigation/fragments/BaseNavigationFragment.kt index e856b2ab8..d9ba1658d 100644 --- a/app/src/main/java/com/elementary/tasks/navigation/fragments/BaseNavigationFragment.kt +++ b/app/src/main/java/com/elementary/tasks/navigation/fragments/BaseNavigationFragment.kt @@ -20,7 +20,10 @@ abstract class BaseNavigationFragment : protected val currentStateHolder by inject() protected val prefs = currentStateHolder.preferences - protected val isDark = currentStateHolder.theme.isDark + protected val isDark: Boolean + get() { + return currentStateHolder.theme.isDark + } protected val analyticsEventSender by inject() protected val themeProvider = currentStateHolder.theme diff --git a/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetAdapter.kt b/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetAdapter.kt index e258aba0c..2d91dba55 100644 --- a/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetAdapter.kt +++ b/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetAdapter.kt @@ -8,6 +8,7 @@ import com.elementary.tasks.core.data.ui.preset.UiPresetList import com.github.naz013.ui.common.view.visibleInvisible import com.elementary.tasks.databinding.ListItemRecurPresetBinding +@Deprecated("Use new builder screen") class PresetAdapter( private val canDelete: Boolean = true, private val onItemClickListener: (UiPresetList) -> Unit, diff --git a/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetDiffCallback.kt b/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetDiffCallback.kt index e654cbc5e..2782895fe 100644 --- a/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetDiffCallback.kt +++ b/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetDiffCallback.kt @@ -4,6 +4,7 @@ import androidx.recyclerview.widget.DiffUtil import com.elementary.tasks.core.data.ui.preset.UiPresetList import java.util.Objects +@Deprecated("Use new builder screen") class PresetDiffCallback : DiffUtil.ItemCallback() { override fun areItemsTheSame(oldItem: UiPresetList, newItem: UiPresetList): Boolean { diff --git a/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetSelectionActivity.kt b/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetSelectionActivity.kt index 21c956f6a..f10561991 100644 --- a/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetSelectionActivity.kt +++ b/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetSelectionActivity.kt @@ -22,6 +22,7 @@ import com.github.naz013.ui.common.view.visibleGone import com.elementary.tasks.databinding.ActivityRecurPresetListBinding import org.koin.androidx.viewmodel.ext.android.viewModel +@Deprecated("Use new builder screen") class PresetSelectionActivity : BindingActivity() { private val viewModel by viewModel() @@ -70,6 +71,7 @@ class PresetSelectionActivity : BindingActivity( } } +@Deprecated("Use new builder screen") class PresetPicker private constructor( launcherCreator: LauncherCreator, private val resultCallback: (String) -> Unit diff --git a/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetViewModel.kt b/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetViewModel.kt index 1f74e3049..0eb8153ac 100644 --- a/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetViewModel.kt +++ b/app/src/main/java/com/elementary/tasks/reminder/create/fragments/recur/preset/PresetViewModel.kt @@ -10,6 +10,7 @@ import com.github.naz013.feature.common.viewmodel.mutableLiveDataOf import com.github.naz013.repository.RecurPresetRepository import kotlinx.coroutines.launch +@Deprecated("Use new builder screen") class PresetViewModel( dispatcherProvider: DispatcherProvider, private val uiPresetListAdapter: UiPresetListAdapter, diff --git a/ui-common/src/main/kotlin/com/github/naz013/ui/common/activity/LightThemedActivity.kt b/ui-common/src/main/kotlin/com/github/naz013/ui/common/activity/LightThemedActivity.kt index ecd32d5f7..7a464b875 100644 --- a/ui-common/src/main/kotlin/com/github/naz013/ui/common/activity/LightThemedActivity.kt +++ b/ui-common/src/main/kotlin/com/github/naz013/ui/common/activity/LightThemedActivity.kt @@ -10,9 +10,9 @@ import android.view.View import android.view.inputmethod.InputMethodManager import android.window.OnBackInvokedDispatcher import androidx.activity.OnBackPressedCallback +import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate import androidx.core.view.WindowInsetsControllerCompat -import androidx.fragment.app.FragmentActivity import com.github.naz013.common.Module import com.github.naz013.common.intent.IntentKeys import com.github.naz013.logging.Logger @@ -28,7 +28,7 @@ import org.koin.android.ext.android.inject import org.koin.androidx.viewmodel.ext.android.viewModel import java.io.Serializable -abstract class LightThemedActivity : FragmentActivity() { +abstract class LightThemedActivity : AppCompatActivity() { private val themeProvider by inject() private val themePreferences by inject() @@ -45,7 +45,10 @@ abstract class LightThemedActivity : FragmentActivity() { } private val uiHandler = Handler(Looper.getMainLooper()) - protected val isDarkMode = themeProvider.isDark + protected val isDarkMode: Boolean + get() { + return themeProvider.isDark + } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -65,8 +68,8 @@ abstract class LightThemedActivity : FragmentActivity() { } } else { onBackPressedDispatcher.addCallback( - owner = this, - onBackPressedCallback = object : OnBackPressedCallback(true) { + this, + object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { invokeBackPress() }