1
0
mirror of https://github.com/ultrasonic/ultrasonic synced 2025-03-01 09:57:57 +01:00

Added new preference key to avoid duplicate migration

This commit is contained in:
Nite 2020-09-24 21:00:21 +02:00
parent 102f3e8a04
commit 02716c827a
No known key found for this signature in database
GPG Key ID: 1D1AD59B1C6386C1

View File

@ -24,6 +24,7 @@ class ServerSettingsModel(
companion object {
private val TAG = ServerSettingsModel::class.simpleName
private const val PREFERENCES_KEY_SERVER_MIGRATED = "serverMigrated"
// These constants were removed from Constants.java as they are deprecated and only used here
private const val PREFERENCES_KEY_JUKEBOX_BY_DEFAULT = "jukeboxEnabled"
private const val PREFERENCES_KEY_SERVER_NAME = "serverName"
@ -192,8 +193,10 @@ class ServerSettingsModel(
): ServerSetting? {
val url = settings.getString(PREFERENCES_KEY_SERVER_URL + preferenceId, "")
val userName = settings.getString(PREFERENCES_KEY_USERNAME + preferenceId, "")
val isMigrated = settings.getBoolean(PREFERENCES_KEY_SERVER_MIGRATED + preferenceId, false)
if (url.isNullOrEmpty() || userName.isNullOrEmpty()) return null
if (url.isNullOrEmpty() || userName.isNullOrEmpty() || isMigrated) return null
setServerMigrated(settings, preferenceId)
return ServerSetting(
preferenceId,
@ -232,7 +235,7 @@ class ServerSettingsModel(
private suspend fun reindexSettings() {
var newIndex = 1
for (i in 1 until getMaximumIndexToCheck() + 1) {
var setting = repository.findByIndex(i)
val setting = repository.findByIndex(i)
if (setting != null) {
setting.index = newIndex
newIndex++
@ -248,4 +251,10 @@ class ServerSettingsModel(
if (rowsInDatabase > indexesInDatabase) return rowsInDatabase
return indexesInDatabase
}
private fun setServerMigrated(settings: SharedPreferences, preferenceId: Int) {
val editor = settings.edit()
editor.putBoolean(PREFERENCES_KEY_SERVER_MIGRATED + preferenceId, true)
editor.apply()
}
}