diff --git a/app/src/main/java/org/oxycblt/auxio/Auxio.kt b/app/src/main/java/org/oxycblt/auxio/Auxio.kt index 77eed0ff9..df737e4c2 100644 --- a/app/src/main/java/org/oxycblt/auxio/Auxio.kt +++ b/app/src/main/java/org/oxycblt/auxio/Auxio.kt @@ -25,6 +25,7 @@ import androidx.core.content.pm.ShortcutManagerCompat import androidx.core.graphics.drawable.IconCompat import dagger.hilt.android.HiltAndroidApp import javax.inject.Inject +import org.oxycblt.auxio.home.HomeSettings import org.oxycblt.auxio.image.ImageSettings import org.oxycblt.auxio.playback.PlaybackSettings import org.oxycblt.auxio.ui.UISettings @@ -39,6 +40,7 @@ class Auxio : Application() { @Inject lateinit var imageSettings: ImageSettings @Inject lateinit var playbackSettings: PlaybackSettings @Inject lateinit var uiSettings: UISettings + @Inject lateinit var homeSettings: HomeSettings override fun onCreate() { super.onCreate() @@ -46,6 +48,7 @@ class Auxio : Application() { imageSettings.migrate() playbackSettings.migrate() uiSettings.migrate() + homeSettings.migrate() // Adding static shortcuts in a dynamic manner is better than declaring them // manually, as it will properly handle the difference between debug and release // Auxio instances. diff --git a/app/src/main/java/org/oxycblt/auxio/home/HomeSettings.kt b/app/src/main/java/org/oxycblt/auxio/home/HomeSettings.kt index 53fa86faa..60d3144e7 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/HomeSettings.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/HomeSettings.kt @@ -71,10 +71,13 @@ class HomeSettingsImpl @Inject constructor(@ApplicationContext context: Context) Tab.fromIntCode(sharedPreferences.getInt(OLD_KEY_LIB_TABS, Tab.SEQUENCE_DEFAULT)) ?: unlikelyToBeNull(Tab.fromIntCode(Tab.SEQUENCE_DEFAULT)) - // Add the new playlist tab to old tab configurations - val correctedTabs = oldTabs + Tab.Visible(MusicMode.PLAYLISTS) + // The playlist tab is now parsed, but it needs to be made visible. + val playlistIndex = oldTabs.indexOfFirst { it.mode == MusicMode.PLAYLISTS } + if (playlistIndex > -1) { // Sanity check + oldTabs[playlistIndex] = Tab.Visible(MusicMode.PLAYLISTS) + } sharedPreferences.edit { - putInt(getString(R.string.set_key_home_tabs), Tab.toIntCode(correctedTabs)) + putInt(getString(R.string.set_key_home_tabs), Tab.toIntCode(oldTabs)) remove(OLD_KEY_LIB_TABS) } } diff --git a/app/src/main/java/org/oxycblt/auxio/home/tabs/Tab.kt b/app/src/main/java/org/oxycblt/auxio/home/tabs/Tab.kt index cd7bf8f06..30425e6d8 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/tabs/Tab.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/tabs/Tab.kt @@ -26,8 +26,6 @@ import org.oxycblt.auxio.util.logE * * @param mode The type of list in the home view this instance corresponds to. * @author Alexander Capehart (OxygenCobalt) - * - * TODO: Tab migration to playlists is busted and resets the config entirely. Need to fix. */ sealed class Tab(open val mode: MusicMode) { /**