diff --git a/app/src/main/java/de/mm20/launcher2/LauncherApplication.kt b/app/src/main/java/de/mm20/launcher2/LauncherApplication.kt index d61bb9a2..f6aa1e8d 100644 --- a/app/src/main/java/de/mm20/launcher2/LauncherApplication.kt +++ b/app/src/main/java/de/mm20/launcher2/LauncherApplication.kt @@ -16,7 +16,6 @@ import de.mm20.launcher2.files.filesModule import de.mm20.launcher2.hiddenitems.hiddenItemsModule import de.mm20.launcher2.icons.iconsModule import de.mm20.launcher2.music.musicModule -import de.mm20.launcher2.preferences.LauncherPreferences import de.mm20.launcher2.search.searchModule import de.mm20.launcher2.unitconverter.unitConverterModule import de.mm20.launcher2.websites.websitesModule @@ -43,7 +42,6 @@ class LauncherApplication : Application(), CoroutineScope, ImageLoaderFactory { override fun onCreate() { super.onCreate() Debug() - LauncherPreferences.initialize(this) startKoin { androidLogger(if (BuildConfig.DEBUG) Level.ERROR else Level.NONE) diff --git a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesCardFragment.kt b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesCardFragment.kt index f6ebbf67..6662d34f 100644 --- a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesCardFragment.kt +++ b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesCardFragment.kt @@ -13,14 +13,11 @@ import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import de.mm20.launcher2.R import de.mm20.launcher2.ktx.dp -import de.mm20.launcher2.preferences.LauncherPreferences import de.mm20.launcher2.ui.legacy.view.LauncherCardView import kotlin.math.roundToInt class PreferencesCardFragment : Fragment(R.layout.fragment_card_settings) { - val preferences = LauncherPreferences.instance - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) val previewCard = view.findViewById(R.id.previewCard) diff --git a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesEasterEggFragment.kt b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesEasterEggFragment.kt index c7ae44f5..c5ca1003 100644 --- a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesEasterEggFragment.kt +++ b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesEasterEggFragment.kt @@ -11,16 +11,13 @@ import android.widget.Toast import android.widget.ToggleButton import androidx.fragment.app.Fragment import de.mm20.launcher2.R -import de.mm20.launcher2.preferences.LauncherPreferences class PreferencesEasterEggFragment : Fragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater.inflate(R.layout.fragment_easteregg, null, false) val root = view.findViewById(R.id.easterEggRoot) val toggle = view.findViewById(R.id.magicModeToggle) - toggle.isChecked = LauncherPreferences.instance.easterEggEnabled toggle.setOnCheckedChangeListener { _, isChecked -> - LauncherPreferences.instance.easterEggEnabled = isChecked Toast.makeText(requireContext(), if (isChecked) R.string.easter_egg_activated else R.string.easter_egg_deactivated, Toast.LENGTH_SHORT).show() } return view diff --git a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesSearchFragment.kt b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesSearchFragment.kt index 3af03af9..d6a183be 100644 --- a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesSearchFragment.kt +++ b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesSearchFragment.kt @@ -17,7 +17,6 @@ import de.mm20.launcher2.ktx.checkPermission import de.mm20.launcher2.msservices.MicrosoftGraphApiHelper import de.mm20.launcher2.nextcloud.NextcloudApiHelper import de.mm20.launcher2.owncloud.OwncloudClient -import de.mm20.launcher2.preferences.LauncherPreferences import kotlinx.coroutines.launch import org.koin.android.ext.android.inject diff --git a/applications/src/main/java/de/mm20/launcher2/applications/AppRepository.kt b/applications/src/main/java/de/mm20/launcher2/applications/AppRepository.kt index 5cabc788..a18f1298 100644 --- a/applications/src/main/java/de/mm20/launcher2/applications/AppRepository.kt +++ b/applications/src/main/java/de/mm20/launcher2/applications/AppRepository.kt @@ -12,7 +12,6 @@ import android.os.UserHandle import android.os.UserManager import android.util.Log import de.mm20.launcher2.hiddenitems.HiddenItemsRepository -import de.mm20.launcher2.preferences.LauncherPreferences import de.mm20.launcher2.search.data.AppInstallation import de.mm20.launcher2.search.data.Application import de.mm20.launcher2.search.data.LauncherApp diff --git a/applications/src/main/java/de/mm20/launcher2/search/data/AppShortcut.kt b/applications/src/main/java/de/mm20/launcher2/search/data/AppShortcut.kt index 6d67c96c..bbb42e6d 100644 --- a/applications/src/main/java/de/mm20/launcher2/search/data/AppShortcut.kt +++ b/applications/src/main/java/de/mm20/launcher2/search/data/AppShortcut.kt @@ -16,7 +16,6 @@ import de.mm20.launcher2.applications.R import de.mm20.launcher2.icons.LauncherIcon import de.mm20.launcher2.ktx.getSerialNumber import de.mm20.launcher2.ktx.isAtLeastApiLevel -import de.mm20.launcher2.preferences.LauncherPreferences import de.mm20.launcher2.preferences.Settings import de.mm20.launcher2.preferences.Settings.IconSettings.LegacyIconBackground import kotlinx.coroutines.Dispatchers diff --git a/calendar/src/main/java/de/mm20/launcher2/search/data/CalendarEvent.kt b/calendar/src/main/java/de/mm20/launcher2/search/data/CalendarEvent.kt index b9abba13..291a80cc 100644 --- a/calendar/src/main/java/de/mm20/launcher2/search/data/CalendarEvent.kt +++ b/calendar/src/main/java/de/mm20/launcher2/search/data/CalendarEvent.kt @@ -22,7 +22,6 @@ import de.mm20.launcher2.ktx.checkPermission import de.mm20.launcher2.ktx.dp import de.mm20.launcher2.permissions.PermissionGroup import de.mm20.launcher2.permissions.PermissionsManager -import de.mm20.launcher2.preferences.LauncherPreferences import org.koin.core.component.KoinComponent import org.koin.core.component.get import java.text.SimpleDateFormat diff --git a/contacts/src/main/java/de/mm20/launcher2/search/data/Contact.kt b/contacts/src/main/java/de/mm20/launcher2/search/data/Contact.kt index aa8dca29..22013dbd 100644 --- a/contacts/src/main/java/de/mm20/launcher2/search/data/Contact.kt +++ b/contacts/src/main/java/de/mm20/launcher2/search/data/Contact.kt @@ -16,7 +16,6 @@ import de.mm20.launcher2.ktx.asBitmap import de.mm20.launcher2.ktx.sp import de.mm20.launcher2.permissions.PermissionGroup import de.mm20.launcher2.permissions.PermissionsManager -import de.mm20.launcher2.preferences.LauncherPreferences import de.mm20.launcher2.preferences.Settings import de.mm20.launcher2.preferences.Settings.IconSettings.LegacyIconBackground import kotlinx.coroutines.Dispatchers diff --git a/favorites/src/main/java/de/mm20/launcher2/favorites/FavoritesRepository.kt b/favorites/src/main/java/de/mm20/launcher2/favorites/FavoritesRepository.kt index 427d0fd0..1d74330f 100644 --- a/favorites/src/main/java/de/mm20/launcher2/favorites/FavoritesRepository.kt +++ b/favorites/src/main/java/de/mm20/launcher2/favorites/FavoritesRepository.kt @@ -5,7 +5,6 @@ import de.mm20.launcher2.database.AppDatabase import de.mm20.launcher2.database.entities.FavoritesItemEntity import de.mm20.launcher2.ktx.ceilToInt import de.mm20.launcher2.preferences.LauncherDataStore -import de.mm20.launcher2.preferences.LauncherPreferences import de.mm20.launcher2.search.SearchableDeserializer import de.mm20.launcher2.search.data.CalendarEvent import de.mm20.launcher2.search.data.Searchable diff --git a/files/src/main/java/de/mm20/launcher2/search/data/GDriveFile.kt b/files/src/main/java/de/mm20/launcher2/search/data/GDriveFile.kt index d476df07..8c5ee4c5 100644 --- a/files/src/main/java/de/mm20/launcher2/search/data/GDriveFile.kt +++ b/files/src/main/java/de/mm20/launcher2/search/data/GDriveFile.kt @@ -8,7 +8,6 @@ import de.mm20.launcher2.gservices.DriveFileMeta import de.mm20.launcher2.gservices.GoogleApiHelper import de.mm20.launcher2.helper.NetworkUtils import de.mm20.launcher2.icons.LauncherIcon -import de.mm20.launcher2.preferences.LauncherPreferences class GDriveFile( val fileId: String, diff --git a/files/src/main/java/de/mm20/launcher2/search/data/NextcloudFile.kt b/files/src/main/java/de/mm20/launcher2/search/data/NextcloudFile.kt index acd12ef1..792e286b 100644 --- a/files/src/main/java/de/mm20/launcher2/search/data/NextcloudFile.kt +++ b/files/src/main/java/de/mm20/launcher2/search/data/NextcloudFile.kt @@ -6,7 +6,6 @@ import android.net.Uri import de.mm20.launcher2.files.R import de.mm20.launcher2.helper.NetworkUtils import de.mm20.launcher2.nextcloud.NextcloudApiHelper -import de.mm20.launcher2.preferences.LauncherPreferences class NextcloudFile( fileId: Long, diff --git a/files/src/main/java/de/mm20/launcher2/search/data/OneDriveFile.kt b/files/src/main/java/de/mm20/launcher2/search/data/OneDriveFile.kt index a37f2a41..983ca5ed 100644 --- a/files/src/main/java/de/mm20/launcher2/search/data/OneDriveFile.kt +++ b/files/src/main/java/de/mm20/launcher2/search/data/OneDriveFile.kt @@ -7,7 +7,6 @@ import de.mm20.launcher2.msservices.DriveItem import de.mm20.launcher2.files.R import de.mm20.launcher2.msservices.MicrosoftGraphApiHelper import de.mm20.launcher2.icons.LauncherIcon -import de.mm20.launcher2.preferences.LauncherPreferences class OneDriveFile( val fileId: String, diff --git a/files/src/main/java/de/mm20/launcher2/search/data/OwncloudFile.kt b/files/src/main/java/de/mm20/launcher2/search/data/OwncloudFile.kt index a7e5a751..8c05e623 100644 --- a/files/src/main/java/de/mm20/launcher2/search/data/OwncloudFile.kt +++ b/files/src/main/java/de/mm20/launcher2/search/data/OwncloudFile.kt @@ -6,7 +6,6 @@ import android.net.Uri import de.mm20.launcher2.files.R import de.mm20.launcher2.helper.NetworkUtils import de.mm20.launcher2.owncloud.OwncloudClient -import de.mm20.launcher2.preferences.LauncherPreferences class OwncloudFile( fileId: Long, diff --git a/icons/src/main/java/de/mm20/launcher2/icons/providers/CalendarIconProvider.kt b/icons/src/main/java/de/mm20/launcher2/icons/providers/CalendarIconProvider.kt index bd2a42f5..253cc856 100644 --- a/icons/src/main/java/de/mm20/launcher2/icons/providers/CalendarIconProvider.kt +++ b/icons/src/main/java/de/mm20/launcher2/icons/providers/CalendarIconProvider.kt @@ -7,7 +7,6 @@ import android.graphics.drawable.ColorDrawable import de.mm20.launcher2.icons.CalendarDynamicLauncherIcon import de.mm20.launcher2.icons.LauncherIcon import de.mm20.launcher2.ktx.obtainTypedArrayOrNull -import de.mm20.launcher2.preferences.LauncherPreferences import de.mm20.launcher2.search.data.Application import de.mm20.launcher2.search.data.Searchable diff --git a/ms-services/src/main/java/de/mm20/launcher2/msservices/MicrosoftGraphApiHelper.kt b/ms-services/src/main/java/de/mm20/launcher2/msservices/MicrosoftGraphApiHelper.kt index 8866db77..95f34ec2 100644 --- a/ms-services/src/main/java/de/mm20/launcher2/msservices/MicrosoftGraphApiHelper.kt +++ b/ms-services/src/main/java/de/mm20/launcher2/msservices/MicrosoftGraphApiHelper.kt @@ -16,7 +16,6 @@ import com.microsoft.identity.client.PublicClientApplication import com.microsoft.identity.client.exception.MsalClientException import com.microsoft.identity.client.exception.MsalException import de.mm20.launcher2.crashreporter.CrashReporter -import de.mm20.launcher2.preferences.LauncherPreferences import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import java.net.URLEncoder diff --git a/preferences/src/main/java/de/mm20/launcher2/preferences/LauncherPreferences.kt b/preferences/src/main/java/de/mm20/launcher2/preferences/LauncherPreferences.kt deleted file mode 100644 index 5c55628f..00000000 --- a/preferences/src/main/java/de/mm20/launcher2/preferences/LauncherPreferences.kt +++ /dev/null @@ -1,69 +0,0 @@ -package de.mm20.launcher2.preferences - -import android.app.Application -import android.content.SharedPreferences -import androidx.core.content.edit -import androidx.preference.PreferenceManager - - -class LauncherPreferences(val context: Application, version: Int = 3) { - internal val preferences by lazy { - PreferenceManager.getDefaultSharedPreferences(context) - } - - - var version by IntPreference("preferences_version", default = 1) - - init { - val oldVersion = this.version - if ( version >= 2 && oldVersion <= 1) { - val appStartAnim = preferences.getInt("app_start_anim", 0) - preferences.edit { - remove("app_start_anim") - putString("app_start_anim", appStartAnim.toString()) - } - } - if (version >= 3 && oldVersion <= 2) { - val translucentCards = preferences.getBoolean("translucent_cards", false) - val theme = preferences.getString("theme", "2") - - preferences.edit { - remove("translucent_cards") - putInt("card_opacity", if (translucentCards) 0xCC else 0xFF) - if (theme == "4") { - putString("theme", "1") - putString("card_background", "2") - } - } - } - if (version >= 4 && oldVersion <= 3) { - val appStartAnim = preferences.getString("app_start_anim", "5") - if (appStartAnim == "0" || appStartAnim == "1") - preferences.edit { - putString("app_start_anim", "2") - } - } - this.version = version - } - - - var appStartAnim by EnumPreference("app_start_anim", default = AppStartAnimation.M) - - var cardRadius by IntPreference("card_radius", default = 8) - - var easterEggEnabled by BooleanPreference("easter_egg", default = false) - - companion object { - lateinit var instance: LauncherPreferences - fun initialize(app: Application) { - instance = LauncherPreferences(app) - } - } -} - -enum class AppStartAnimation(override val value: String): PreferenceEnum { - DEFAULT("5"), - M("2"), - FADE("3"), - SLIDE_BOTTOM("4") -} \ No newline at end of file diff --git a/preferences/src/main/java/de/mm20/launcher2/preferences/PreferenceDelegates.kt b/preferences/src/main/java/de/mm20/launcher2/preferences/PreferenceDelegates.kt deleted file mode 100644 index 1883082a..00000000 --- a/preferences/src/main/java/de/mm20/launcher2/preferences/PreferenceDelegates.kt +++ /dev/null @@ -1,89 +0,0 @@ -package de.mm20.launcher2.preferences - -import androidx.core.content.edit -import de.mm20.launcher2.crashreporter.CrashReporter -import org.json.JSONArray -import org.json.JSONException -import kotlin.properties.ReadWriteProperty -import kotlin.reflect.KProperty - -class StringPreference(val key: String, val default: String) : ReadWriteProperty { - override fun getValue(thisRef: LauncherPreferences, property: KProperty<*>): String { - return thisRef.preferences.getString(key, default)!! - } - - override fun setValue(thisRef: LauncherPreferences, property: KProperty<*>, value: String) { - thisRef.preferences.edit { - putString(key, value) - } - } -} - -class BooleanPreference(val key: String, val default: Boolean) : ReadWriteProperty { - override fun getValue(thisRef: LauncherPreferences, property: KProperty<*>): Boolean { - return thisRef.preferences.getBoolean(key, default) - } - - override fun setValue(thisRef: LauncherPreferences, property: KProperty<*>, value: Boolean) { - thisRef.preferences.edit { - putBoolean(key, value) - } - } -} - -class IntPreference(val key: String, val default: Int) : ReadWriteProperty { - override fun getValue(thisRef: LauncherPreferences, property: KProperty<*>): Int { - return thisRef.preferences.getInt(key, default) - } - - override fun setValue(thisRef: LauncherPreferences, property: KProperty<*>, value: Int) { - thisRef.preferences.edit { - putInt(key, value) - } - } -} - -class LongListPreference(val key: String, val default: List) : ReadWriteProperty> { - override fun getValue(thisRef: LauncherPreferences, property: KProperty<*>): List { - val list = mutableListOf() - try { - val jsonArray = JSONArray(thisRef.preferences.getString(key, null) ?: return default) - for (i in 0 until jsonArray.length()) { - list.add(jsonArray.getLong(i)) - } - } catch (e: JSONException) { - CrashReporter.logException(e) - return default - } - return list - } - - override fun setValue(thisRef: LauncherPreferences, property: KProperty<*>, value: List) { - val jsonArray = JSONArray() - for (i in value) { - jsonArray.put(i) - } - thisRef.preferences.edit { - putString(key, jsonArray.toString()) - } - } -} - - -interface PreferenceEnum { - val value: String -} - -class EnumPreference(val key: String, val default: T) : ReadWriteProperty where T : Enum, T : PreferenceEnum { - override fun getValue(thisRef: LauncherPreferences, property: KProperty<*>): T { - val value = thisRef.preferences.getString(key, null) ?: return default - val enumConstants = default::class.java.enumConstants as Array - return enumConstants.firstOrNull { it.value == value } ?: default - } - - override fun setValue(thisRef: LauncherPreferences, property: KProperty<*>, value: T) { - thisRef.preferences.edit { - putString(key, value.value) - } - } -} diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchVM.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchVM.kt index 521f2507..8dc4f9b2 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchVM.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchVM.kt @@ -10,7 +10,6 @@ import de.mm20.launcher2.calendar.CalendarRepository import de.mm20.launcher2.contacts.ContactRepository import de.mm20.launcher2.favorites.FavoritesRepository import de.mm20.launcher2.files.FileRepository -import de.mm20.launcher2.preferences.LauncherPreferences import de.mm20.launcher2.search.WebsearchRepository import de.mm20.launcher2.search.data.* import de.mm20.launcher2.unitconverter.UnitConverterRepository diff --git a/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidgetWM.kt b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidgetWM.kt index c9b87ece..cd0a6b98 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidgetWM.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/weather/WeatherWidgetWM.kt @@ -5,7 +5,6 @@ import androidx.lifecycle.* import de.mm20.launcher2.permissions.PermissionGroup import de.mm20.launcher2.permissions.PermissionsManager import de.mm20.launcher2.preferences.LauncherDataStore -import de.mm20.launcher2.preferences.LauncherPreferences import de.mm20.launcher2.weather.DailyForecast import de.mm20.launcher2.weather.Forecast import de.mm20.launcher2.weather.WeatherRepository diff --git a/ui/src/main/java/de/mm20/launcher2/ui/legacy/view/InnerCardView.kt b/ui/src/main/java/de/mm20/launcher2/ui/legacy/view/InnerCardView.kt index 89ed14d3..53f321df 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/legacy/view/InnerCardView.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/legacy/view/InnerCardView.kt @@ -10,7 +10,6 @@ import de.mm20.launcher2.ktx.dp import de.mm20.launcher2.ktx.lifecycleOwner import de.mm20.launcher2.ktx.lifecycleScope import de.mm20.launcher2.preferences.LauncherDataStore -import de.mm20.launcher2.preferences.LauncherPreferences import de.mm20.launcher2.ui.R import kotlinx.coroutines.Job import kotlinx.coroutines.flow.collectLatest diff --git a/wikipedia/src/main/java/de/mm20/launcher2/search/data/Wikipedia.kt b/wikipedia/src/main/java/de/mm20/launcher2/search/data/Wikipedia.kt index d23b60f6..fd5ff5d1 100644 --- a/wikipedia/src/main/java/de/mm20/launcher2/search/data/Wikipedia.kt +++ b/wikipedia/src/main/java/de/mm20/launcher2/search/data/Wikipedia.kt @@ -13,7 +13,6 @@ import androidx.core.text.toHtml import de.mm20.launcher2.wikipedia.R import de.mm20.launcher2.icons.LauncherIcon import de.mm20.launcher2.helper.NetworkUtils -import de.mm20.launcher2.preferences.LauncherPreferences import okhttp3.OkHttpClient import okhttp3.Request import org.json.JSONException