From 1e7a439c3149a3d8929e32371bf7cccf9294522f Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Sun, 1 May 2022 17:54:37 -0600 Subject: [PATCH] deps: switch material to 1.6.0-rc01 Switch material components to the more stable 1.6.0-rc01. Have to deal with android complaining, but whatever. --- app/build.gradle | 2 +- .../org/oxycblt/auxio/home/HomeViewModel.kt | 2 +- .../auxio/playback/system/PlaybackService.kt | 22 ++++++++++--------- .../auxio/settings/SettingsListFragment.kt | 3 +-- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index dc0ba647e..c9770f51e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -102,7 +102,7 @@ dependencies { implementation "io.coil-kt:coil:2.0.0-rc03" // Material - implementation "com.google.android.material:material:1.7.0-alpha01" + implementation "com.google.android.material:material:1.6.0-rc01" // LeakCanary debugImplementation "com.squareup.leakcanary:leakcanary-android:2.9.1" diff --git a/app/src/main/java/org/oxycblt/auxio/home/HomeViewModel.kt b/app/src/main/java/org/oxycblt/auxio/home/HomeViewModel.kt index 109f9d6c5..d15ee4cba 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/HomeViewModel.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/HomeViewModel.kt @@ -151,7 +151,7 @@ class HomeViewModel : ViewModel(), SettingsManager.Callback, MusicStore.Callback override fun onCleared() { super.onCleared() - musicStore.addCallback(this) + musicStore.removeCallback(this) settingsManager.removeCallback(this) } } diff --git a/app/src/main/java/org/oxycblt/auxio/playback/system/PlaybackService.kt b/app/src/main/java/org/oxycblt/auxio/playback/system/PlaybackService.kt index 8dbd206a0..f6f90ea74 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/system/PlaybackService.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/system/PlaybackService.kt @@ -64,6 +64,8 @@ import org.oxycblt.auxio.widgets.WidgetProvider * This service relies on [PlaybackStateManager.Callback] and [SettingsManager.Callback], so * therefore there's no need to bind to it to deliver commands. * @author OxygenCobalt + * + * TODO: Synchronize components in a less awful way. */ class PlaybackService : Service(), Player.Listener, PlaybackStateManager.Callback, SettingsManager.Callback { @@ -247,19 +249,19 @@ class PlaybackService : } private fun onSongChanged(song: Song?) { - if (song != null) { - logD("Setting player to ${song.rawName}") - player.setMediaItem(MediaItem.fromUri(song.uri)) - player.prepare() - notificationComponent.updateMetadata( - song, playbackManager.parent, ::startForegroundOrNotify) + if (song == null) { + // Clear if there's nothing to play. + logD("Nothing playing, stopping playback") + player.stop() + stopAndSave() return } - // Clear if there's nothing to play. - logD("Nothing playing, stopping playback") - player.stop() - stopAndSave() + logD("Loading ${song.rawName}") + player.setMediaItem(MediaItem.fromUri(song.uri)) + player.prepare() + notificationComponent.updateMetadata( + song, playbackManager.parent, ::startForegroundOrNotify) } override fun onPlayingChanged(isPlaying: Boolean) { diff --git a/app/src/main/java/org/oxycblt/auxio/settings/SettingsListFragment.kt b/app/src/main/java/org/oxycblt/auxio/settings/SettingsListFragment.kt index e52385717..4475a3f5d 100644 --- a/app/src/main/java/org/oxycblt/auxio/settings/SettingsListFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/settings/SettingsListFragment.kt @@ -46,8 +46,7 @@ import org.oxycblt.auxio.util.systemBarInsetsCompat * The actual fragment containing the settings menu. Inherits [PreferenceFragmentCompat]. * @author OxygenCobalt * - * TODO: Add option to restore state - * TODO: Add option to not restore state + * TODO: Add option to restore state TODO: Add option to not restore state */ @Suppress("UNUSED") class SettingsListFragment : PreferenceFragmentCompat() {