From 0ce0399c9392844a2519f343d81e8364d54b67b3 Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Sat, 25 Jan 2025 09:36:59 -0600 Subject: [PATCH] Move QuickButtonPrefs files to new package --- .../unlauncher/datasource/DataStoreModule.kt | 4 +- .../QuickButtonPreferencesMigrations.kt | 7 ++- .../QuickButtonPreferencesRepository.kt | 49 ++++++++----------- .../QuickButtonPreferencesSerializer.kt | 2 +- .../ui/dialogs/ChooseQuickButtonDialog.kt | 2 +- .../slimlauncher/ui/main/HomeFragment.kt | 2 +- .../options/CustomizeQuickButtonsFragment.kt | 2 +- 7 files changed, 29 insertions(+), 39 deletions(-) rename app/src/main/java/com/{sduduzog/slimlauncher => jkuester/unlauncher}/datasource/quickbuttonprefs/QuickButtonPreferencesMigrations.kt (94%) rename app/src/main/java/com/{sduduzog/slimlauncher => jkuester/unlauncher}/datasource/quickbuttonprefs/QuickButtonPreferencesRepository.kt (63%) rename app/src/main/java/com/{sduduzog/slimlauncher => jkuester/unlauncher}/datasource/quickbuttonprefs/QuickButtonPreferencesSerializer.kt (94%) diff --git a/app/src/main/java/com/jkuester/unlauncher/datasource/DataStoreModule.kt b/app/src/main/java/com/jkuester/unlauncher/datasource/DataStoreModule.kt index c861e9db..a5a1672d 100644 --- a/app/src/main/java/com/jkuester/unlauncher/datasource/DataStoreModule.kt +++ b/app/src/main/java/com/jkuester/unlauncher/datasource/DataStoreModule.kt @@ -3,6 +3,8 @@ package com.jkuester.unlauncher.datasource import android.content.Context import androidx.datastore.core.DataStore import androidx.datastore.dataStore +import com.jkuester.unlauncher.datasource.quickbuttonprefs.QuickButtonPreferencesMigrations +import com.jkuester.unlauncher.datasource.quickbuttonprefs.QuickButtonPreferencesSerializer import com.jkuester.unlauncher.datastore.CorePreferences import com.jkuester.unlauncher.datastore.QuickButtonPreferences import com.jkuester.unlauncher.datastore.UnlauncherApps @@ -10,8 +12,6 @@ import com.sduduzog.slimlauncher.datasource.apps.UnlauncherAppsMigrations import com.sduduzog.slimlauncher.datasource.apps.UnlauncherAppsSerializer import com.sduduzog.slimlauncher.datasource.coreprefs.CorePreferencesMigrations import com.sduduzog.slimlauncher.datasource.coreprefs.CorePreferencesSerializer -import com.sduduzog.slimlauncher.datasource.quickbuttonprefs.QuickButtonPreferencesMigrations -import com.sduduzog.slimlauncher.datasource.quickbuttonprefs.QuickButtonPreferencesSerializer import dagger.Module import dagger.Provides import dagger.hilt.InstallIn diff --git a/app/src/main/java/com/sduduzog/slimlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesMigrations.kt b/app/src/main/java/com/jkuester/unlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesMigrations.kt similarity index 94% rename from app/src/main/java/com/sduduzog/slimlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesMigrations.kt rename to app/src/main/java/com/jkuester/unlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesMigrations.kt index 44ed8e8c..2bd7566d 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesMigrations.kt +++ b/app/src/main/java/com/jkuester/unlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesMigrations.kt @@ -1,4 +1,4 @@ -package com.sduduzog.slimlauncher.datasource.quickbuttonprefs +package com.jkuester.unlauncher.datasource.quickbuttonprefs import android.content.Context import androidx.datastore.core.DataMigration @@ -46,15 +46,14 @@ class QuickButtonPreferencesMigrations { prefBuilder.build() }, object : DataMigration { - override suspend fun shouldMigrate(currentData: QuickButtonPreferences): Boolean { - return !QuickButtonPreferencesRepository.RES_BY_ICON.keys.containsAll( + override suspend fun shouldMigrate(currentData: QuickButtonPreferences): Boolean = + !QuickButtonPreferencesRepository.RES_BY_ICON.keys.containsAll( listOf( currentData.leftButton.iconId, currentData.centerButton.iconId, currentData.rightButton.iconId ) ) - } override suspend fun migrate( currentData: QuickButtonPreferences diff --git a/app/src/main/java/com/sduduzog/slimlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesRepository.kt b/app/src/main/java/com/jkuester/unlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesRepository.kt similarity index 63% rename from app/src/main/java/com/sduduzog/slimlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesRepository.kt rename to app/src/main/java/com/jkuester/unlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesRepository.kt index 4e8473a4..28d77a8f 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesRepository.kt +++ b/app/src/main/java/com/jkuester/unlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesRepository.kt @@ -1,4 +1,4 @@ -package com.sduduzog.slimlauncher.datasource.quickbuttonprefs +package com.jkuester.unlauncher.datasource.quickbuttonprefs import android.app.Activity import android.util.Log @@ -58,39 +58,30 @@ class QuickButtonPreferencesRepository @Inject constructor( quickButtonPreferencesFlow.first() } - fun updateLeftIconId(iconId: Int) { + fun updateAsync(transform: suspend (t: QuickButtonPreferences) -> QuickButtonPreferences) { lifecycleScope.launch { - quickButtonPreferencesStore.updateData { currentPreferences -> - currentPreferences.toBuilder() - .setLeftButton( - currentPreferences.leftButton.toBuilder().setIconId(iconId).build() - ) - .build() - } + quickButtonPreferencesStore.updateData(transform) } } - fun updateCenterIconId(iconId: Int) { - lifecycleScope.launch { - quickButtonPreferencesStore.updateData { currentPreferences -> - currentPreferences.toBuilder() - .setCenterButton( - currentPreferences.centerButton.toBuilder().setIconId(iconId).build() - ) - .build() - } - } + fun updateLeftIconId(iconId: Int) = this.updateAsync { currentPreferences -> + currentPreferences + .toBuilder() + .setLeftButton(currentPreferences.leftButton.toBuilder().setIconId(iconId).build()) + .build() } - fun updateRightIconId(iconId: Int) { - lifecycleScope.launch { - quickButtonPreferencesStore.updateData { currentPreferences -> - currentPreferences.toBuilder() - .setRightButton( - currentPreferences.rightButton.toBuilder().setIconId(iconId).build() - ) - .build() - } - } + fun updateCenterIconId(iconId: Int) = this.updateAsync { currentPreferences -> + currentPreferences + .toBuilder() + .setCenterButton(currentPreferences.centerButton.toBuilder().setIconId(iconId).build()) + .build() + } + + fun updateRightIconId(iconId: Int) = this.updateAsync { currentPreferences -> + currentPreferences + .toBuilder() + .setRightButton(currentPreferences.rightButton.toBuilder().setIconId(iconId).build()) + .build() } } diff --git a/app/src/main/java/com/sduduzog/slimlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesSerializer.kt b/app/src/main/java/com/jkuester/unlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesSerializer.kt similarity index 94% rename from app/src/main/java/com/sduduzog/slimlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesSerializer.kt rename to app/src/main/java/com/jkuester/unlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesSerializer.kt index bfa22367..5acba80f 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesSerializer.kt +++ b/app/src/main/java/com/jkuester/unlauncher/datasource/quickbuttonprefs/QuickButtonPreferencesSerializer.kt @@ -1,4 +1,4 @@ -package com.sduduzog.slimlauncher.datasource.quickbuttonprefs +package com.jkuester.unlauncher.datasource.quickbuttonprefs import androidx.datastore.core.CorruptionException import androidx.datastore.core.Serializer diff --git a/app/src/main/java/com/sduduzog/slimlauncher/ui/dialogs/ChooseQuickButtonDialog.kt b/app/src/main/java/com/sduduzog/slimlauncher/ui/dialogs/ChooseQuickButtonDialog.kt index c4cfd7b8..d5919f64 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/ui/dialogs/ChooseQuickButtonDialog.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/ui/dialogs/ChooseQuickButtonDialog.kt @@ -5,8 +5,8 @@ import android.app.Dialog import android.content.DialogInterface import android.os.Bundle import androidx.fragment.app.DialogFragment +import com.jkuester.unlauncher.datasource.quickbuttonprefs.QuickButtonPreferencesRepository import com.sduduzog.slimlauncher.R -import com.sduduzog.slimlauncher.datasource.quickbuttonprefs.QuickButtonPreferencesRepository class ChooseQuickButtonDialog( private val repo: QuickButtonPreferencesRepository, diff --git a/app/src/main/java/com/sduduzog/slimlauncher/ui/main/HomeFragment.kt b/app/src/main/java/com/sduduzog/slimlauncher/ui/main/HomeFragment.kt index 1e210716..68bb2fc2 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/ui/main/HomeFragment.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/ui/main/HomeFragment.kt @@ -34,6 +34,7 @@ import androidx.fragment.app.viewModels import androidx.lifecycle.lifecycleScope import androidx.navigation.Navigation import androidx.recyclerview.widget.LinearLayoutManager +import com.jkuester.unlauncher.datasource.quickbuttonprefs.QuickButtonPreferencesRepository import com.jkuester.unlauncher.datastore.ClockType import com.jkuester.unlauncher.datastore.SearchBarPosition import com.jkuester.unlauncher.datastore.UnlauncherApp @@ -45,7 +46,6 @@ import com.sduduzog.slimlauncher.databinding.HomeFragmentContentBinding import com.sduduzog.slimlauncher.databinding.HomeFragmentDefaultBinding import com.sduduzog.slimlauncher.datasource.apps.UnlauncherAppsRepository import com.sduduzog.slimlauncher.datasource.coreprefs.CorePreferencesRepository -import com.sduduzog.slimlauncher.datasource.quickbuttonprefs.QuickButtonPreferencesRepository import com.sduduzog.slimlauncher.models.HomeApp import com.sduduzog.slimlauncher.models.MainViewModel import com.sduduzog.slimlauncher.ui.dialogs.RenameAppDisplayNameDialog diff --git a/app/src/main/java/com/sduduzog/slimlauncher/ui/options/CustomizeQuickButtonsFragment.kt b/app/src/main/java/com/sduduzog/slimlauncher/ui/options/CustomizeQuickButtonsFragment.kt index 5fd0b3c1..1f9f54df 100644 --- a/app/src/main/java/com/sduduzog/slimlauncher/ui/options/CustomizeQuickButtonsFragment.kt +++ b/app/src/main/java/com/sduduzog/slimlauncher/ui/options/CustomizeQuickButtonsFragment.kt @@ -4,9 +4,9 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import com.jkuester.unlauncher.datasource.quickbuttonprefs.QuickButtonPreferencesRepository import com.sduduzog.slimlauncher.R import com.sduduzog.slimlauncher.databinding.CustomizeQuickButtonsFragmentBinding -import com.sduduzog.slimlauncher.datasource.quickbuttonprefs.QuickButtonPreferencesRepository import com.sduduzog.slimlauncher.ui.dialogs.ChooseQuickButtonDialog import com.sduduzog.slimlauncher.utils.BaseFragment import dagger.hilt.android.AndroidEntryPoint