Remove LauncherPreferences
This commit is contained in:
parent
6ba490287d
commit
470e378e17
@ -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)
|
||||
|
||||
@ -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<LauncherCardView>(R.id.previewCard)
|
||||
|
||||
@ -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<FrameLayout>(R.id.easterEggRoot)
|
||||
val toggle = view.findViewById<ToggleButton>(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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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")
|
||||
}
|
||||
@ -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<LauncherPreferences, String> {
|
||||
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<LauncherPreferences, Boolean> {
|
||||
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<LauncherPreferences, Int> {
|
||||
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<Long>) : ReadWriteProperty<LauncherPreferences, List<Long>> {
|
||||
override fun getValue(thisRef: LauncherPreferences, property: KProperty<*>): List<Long> {
|
||||
val list = mutableListOf<Long>()
|
||||
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<Long>) {
|
||||
val jsonArray = JSONArray()
|
||||
for (i in value) {
|
||||
jsonArray.put(i)
|
||||
}
|
||||
thisRef.preferences.edit {
|
||||
putString(key, jsonArray.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
interface PreferenceEnum {
|
||||
val value: String
|
||||
}
|
||||
|
||||
class EnumPreference<T>(val key: String, val default: T) : ReadWriteProperty<LauncherPreferences, T> where T : Enum<T>, 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<out T>
|
||||
return enumConstants.firstOrNull { it.value == value } ?: default
|
||||
}
|
||||
|
||||
override fun setValue(thisRef: LauncherPreferences, property: KProperty<*>, value: T) {
|
||||
thisRef.preferences.edit {
|
||||
putString(key, value.value)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user