From d21b64685803d5aeac0de59a15f68a930fc65485 Mon Sep 17 00:00:00 2001 From: austinried <4966622+austinried@users.noreply.github.com> Date: Sat, 26 Sep 2026 19:10:52 +0000 Subject: [PATCH] drop the legacy stream-quality fallback No need to migrate the old max_bitrate/stream_format keys. --- .../subtracks/data/prefs/UserPreferences.kt | 20 +-------------- .../data/prefs/UserPreferencesTest.kt | 25 ------------------- 2 files changed, 1 insertion(+), 44 deletions(-) diff --git a/app/src/main/kotlin/com/subtracks/data/prefs/UserPreferences.kt b/app/src/main/kotlin/com/subtracks/data/prefs/UserPreferences.kt index df38dab1..2a53f596 100644 --- a/app/src/main/kotlin/com/subtracks/data/prefs/UserPreferences.kt +++ b/app/src/main/kotlin/com/subtracks/data/prefs/UserPreferences.kt @@ -4,7 +4,6 @@ import android.content.Context import androidx.datastore.core.DataStore import androidx.datastore.preferences.core.Preferences import androidx.datastore.preferences.core.edit -import androidx.datastore.preferences.core.intPreferencesKey import androidx.datastore.preferences.core.stringPreferencesKey import androidx.datastore.preferences.preferencesDataStore import com.subtracks.data.net.NetworkMode @@ -58,9 +57,7 @@ class UserPreferences( fun streamQuality(mode: NetworkMode): Flow = store.data.map { prefs -> - prefs[streamQualityKey(mode)]?.let(::decodeStreamQuality) - ?: legacyStreamQuality(prefs) - ?: defaultStreamQuality(mode) + prefs[streamQualityKey(mode)]?.let(::decodeStreamQuality) ?: defaultStreamQuality(mode) } suspend fun setStreamQuality( @@ -86,16 +83,6 @@ class UserPreferences( ) } - private fun legacyStreamQuality(prefs: Preferences): StreamQuality? { - val bitrate = prefs[LEGACY_BITRATE] - val format = prefs[LEGACY_FORMAT] - if (bitrate == null && format == null) return null - return StreamQuality( - maxBitrate = bitrate ?: 0, - format = format?.takeIf { it.isNotEmpty() }, - ) - } - private fun defaultStreamQuality(mode: NetworkMode): StreamQuality = when (mode) { NetworkMode.Wifi -> StreamQuality() @@ -114,11 +101,6 @@ class UserPreferences( starred = StarredFilter.entries.getOrElse(parts[2].toIntOrNull() ?: 0) { StarredFilter.Any }, ) } - - private companion object { - val LEGACY_BITRATE = intPreferencesKey("max_bitrate") - val LEGACY_FORMAT = stringPreferencesKey("stream_format") - } } fun createUserPreferences(context: Context): UserPreferences = UserPreferences(context.preferences) diff --git a/app/src/test/kotlin/com/subtracks/data/prefs/UserPreferencesTest.kt b/app/src/test/kotlin/com/subtracks/data/prefs/UserPreferencesTest.kt index 41715e31..7d5ab844 100644 --- a/app/src/test/kotlin/com/subtracks/data/prefs/UserPreferencesTest.kt +++ b/app/src/test/kotlin/com/subtracks/data/prefs/UserPreferencesTest.kt @@ -1,9 +1,6 @@ package com.subtracks.data.prefs import androidx.datastore.preferences.core.PreferenceDataStoreFactory -import androidx.datastore.preferences.core.edit -import androidx.datastore.preferences.core.intPreferencesKey -import androidx.datastore.preferences.core.stringPreferencesKey import androidx.test.ext.junit.runners.AndroidJUnit4 import com.subtracks.data.net.NetworkMode import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -58,28 +55,6 @@ class UserPreferencesTest { assertEquals(StreamQuality(320, null), prefs.streamQuality(NetworkMode.Wifi).first()) assertEquals(StreamQuality(96, "opus"), prefs.streamQuality(NetworkMode.Mobile).first()) - file.delete() - } - - @Test - fun streamQualityFallsBackToTheLegacySingleValue() = - runTest { - val file = File.createTempFile("user-prefs", ".preferences_pb").apply { delete() } - val store = PreferenceDataStoreFactory.create(scope = backgroundScope) { file } - store.edit { prefs -> - prefs[intPreferencesKey("max_bitrate")] = 192 - prefs[stringPreferencesKey("stream_format")] = "mp3" - } - val prefs = UserPreferences(store) - - assertEquals(StreamQuality(192, "mp3"), prefs.streamQuality(NetworkMode.Wifi).first()) - assertEquals(StreamQuality(192, "mp3"), prefs.streamQuality(NetworkMode.Mobile).first()) - - prefs.setStreamQuality(NetworkMode.Mobile, StreamQuality(64, null)) - - assertEquals(StreamQuality(192, "mp3"), prefs.streamQuality(NetworkMode.Wifi).first()) - assertEquals(StreamQuality(64, null), prefs.streamQuality(NetworkMode.Mobile).first()) - file.delete() } }