diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 13dc201eb..55ad8f890 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -57,7 +57,7 @@ android:roundIcon="@mipmap/ic_launcher_round" /> diff --git a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt index f7b4d4f1b..4322f6057 100644 --- a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt @@ -57,7 +57,7 @@ class MainFragment : Fragment() { // --- UI SETUP --- - binding.lifecycleOwner = this + binding.lifecycleOwner = viewLifecycleOwner // Speed up the slide-in effect on the controls view, solely to improve the UX // and maybe hide the problem where the main view will snap-shrink before the compact diff --git a/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt index d51887ab8..c65d0c087 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt @@ -53,7 +53,7 @@ class AlbumDetailFragment : DetailFragment() { // --- UI SETUP --- - binding.lifecycleOwner = this + binding.lifecycleOwner = viewLifecycleOwner setupToolbar(R.menu.menu_album_detail) { itemId -> if (itemId == R.id.action_queue_add) { diff --git a/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt index 339d30a3f..5b7b9e2aa 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt @@ -65,7 +65,7 @@ class ArtistDetailFragment : DetailFragment() { // --- UI SETUP --- - binding.lifecycleOwner = this + binding.lifecycleOwner = viewLifecycleOwner setupToolbar() setupRecycler(detailAdapter) { pos -> diff --git a/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt index cf1ee9355..bd73c721c 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt @@ -53,7 +53,7 @@ class GenreDetailFragment : DetailFragment() { // --- UI SETUP --- - binding.lifecycleOwner = this + binding.lifecycleOwner = viewLifecycleOwner setupToolbar() setupRecycler(detailAdapter) { pos -> diff --git a/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt b/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt index 2f0795b8d..7dfe6e7f3 100644 --- a/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/library/LibraryFragment.kt @@ -43,6 +43,8 @@ class LibraryFragment : Fragment() { // --- UI SETUP --- + binding.lifecycleOwner = viewLifecycleOwner + binding.libraryToolbar.apply { menu.findItem(libraryModel.sortMode.toMenuId()).isChecked = true diff --git a/app/src/main/java/org/oxycblt/auxio/loading/LoadingFragment.kt b/app/src/main/java/org/oxycblt/auxio/loading/LoadingFragment.kt index 55566655f..ff2e47bc4 100644 --- a/app/src/main/java/org/oxycblt/auxio/loading/LoadingFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/loading/LoadingFragment.kt @@ -37,6 +37,7 @@ class LoadingFragment : Fragment() { // --- UI SETUP --- + binding.lifecycleOwner = viewLifecycleOwner binding.loadingModel = loadingModel // --- VIEWMODEL SETUP --- diff --git a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt index f8bd096d4..e2c2f612a 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt @@ -44,6 +44,8 @@ class QueueFragment : Fragment() { // --- UI SETUP --- + binding.lifecycleOwner = viewLifecycleOwner + binding.queueToolbar.setNavigationOnClickListener { findNavController().navigateUp() } 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 280aa00c2..f2578cd19 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 @@ -42,8 +42,8 @@ import org.oxycblt.auxio.playback.state.LoopMode import org.oxycblt.auxio.playback.state.PlaybackStateManager import org.oxycblt.auxio.settings.SettingsManager import org.oxycblt.auxio.ui.getSystemServiceSafe -import org.oxycblt.auxio.widget.BaseWidget -import org.oxycblt.auxio.widget.MinimalWidgetProvider +import org.oxycblt.auxio.widgets.BaseWidget +import org.oxycblt.auxio.widgets.MinimalWidgetProvider /** * A service that manages the system-side aspects of playback, such as: diff --git a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt index dcb60d736..73df3fc72 100644 --- a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt @@ -51,6 +51,8 @@ class SearchFragment : Fragment() { // --- UI SETUP -- + binding.lifecycleOwner = viewLifecycleOwner + binding.searchToolbar.apply { menu.findItem(searchModel.filterMode.toId()).isChecked = true diff --git a/app/src/main/java/org/oxycblt/auxio/widget/BaseWidget.kt b/app/src/main/java/org/oxycblt/auxio/widgets/BaseWidget.kt similarity index 97% rename from app/src/main/java/org/oxycblt/auxio/widget/BaseWidget.kt rename to app/src/main/java/org/oxycblt/auxio/widgets/BaseWidget.kt index c9f935331..fcef93b56 100644 --- a/app/src/main/java/org/oxycblt/auxio/widget/BaseWidget.kt +++ b/app/src/main/java/org/oxycblt/auxio/widgets/BaseWidget.kt @@ -1,4 +1,4 @@ -package org.oxycblt.auxio.widget +package org.oxycblt.auxio.widgets import android.app.PendingIntent import android.appwidget.AppWidgetManager @@ -11,7 +11,6 @@ import android.widget.RemoteViews import androidx.annotation.LayoutRes import org.oxycblt.auxio.BuildConfig import org.oxycblt.auxio.MainActivity -import org.oxycblt.auxio.R import org.oxycblt.auxio.logD import org.oxycblt.auxio.playback.state.PlaybackStateManager @@ -96,7 +95,7 @@ abstract class BaseWidget : AppWidgetProvider() { val ids = getAppWidgetIds(ComponentName(context, this::class.java)) if (ids.isNotEmpty()) { - // Existing widgets found, update thoughs + // Existing widgets found, update those ids.forEach { id -> updateAppWidget(id, views) } diff --git a/app/src/main/java/org/oxycblt/auxio/widget/MinimalWidgetProvider.kt b/app/src/main/java/org/oxycblt/auxio/widgets/MinimalWidgetProvider.kt similarity index 94% rename from app/src/main/java/org/oxycblt/auxio/widget/MinimalWidgetProvider.kt rename to app/src/main/java/org/oxycblt/auxio/widgets/MinimalWidgetProvider.kt index 967f1d36a..30c010eee 100644 --- a/app/src/main/java/org/oxycblt/auxio/widget/MinimalWidgetProvider.kt +++ b/app/src/main/java/org/oxycblt/auxio/widgets/MinimalWidgetProvider.kt @@ -1,4 +1,4 @@ -package org.oxycblt.auxio.widget +package org.oxycblt.auxio.widgets import android.content.Context import android.os.Build @@ -9,9 +9,6 @@ import org.oxycblt.auxio.coil.loadBitmap import org.oxycblt.auxio.logD import org.oxycblt.auxio.playback.state.PlaybackStateManager -// Workaround to make studio shut up about perfectly valid layouts somehow -// being invalid for remote views. - /** * The minimal widget. This widget only shows the album, song name, and artist without any * controls. Because you know. Minimalism. @@ -67,6 +64,9 @@ class MinimalWidgetProvider : BaseWidget() { companion object { const val TYPE = 0xA0D0 + + // Workaround to make studio shut up about perfectly valid layouts somehow + // being invalid for remote views. const val LAYOUT = R.layout.widget_minimal fun new(): MinimalWidgetProvider? {