diff --git a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt
index 2efaaa31b..3ff668cff 100644
--- a/app/src/main/java/org/oxycblt/auxio/MainFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/MainFragment.kt
@@ -50,10 +50,8 @@ import org.oxycblt.auxio.home.HomeViewModel
import org.oxycblt.auxio.home.Outer
import org.oxycblt.auxio.list.ListViewModel
import org.oxycblt.auxio.music.IndexingState
-import org.oxycblt.musikr.Music
import org.oxycblt.auxio.music.MusicType
import org.oxycblt.auxio.music.MusicViewModel
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.OpenPanel
import org.oxycblt.auxio.playback.PlaybackBottomSheetBehavior
import org.oxycblt.auxio.playback.PlaybackViewModel
@@ -70,6 +68,8 @@ import org.oxycblt.auxio.util.getDimen
import org.oxycblt.auxio.util.lazyReflectedMethod
import org.oxycblt.auxio.util.navigateSafe
import org.oxycblt.auxio.util.unlikelyToBeNull
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
/**
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 aa9b5d985..db4dde242 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/AlbumDetailFragment.kt
@@ -29,13 +29,8 @@ import org.oxycblt.auxio.detail.list.AlbumDetailListAdapter
import org.oxycblt.auxio.list.Item
import org.oxycblt.auxio.list.ListFragment
import org.oxycblt.auxio.list.menu.Menu
-import org.oxycblt.musikr.Album
-import org.oxycblt.musikr.Music
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.PlaylistDecision
import org.oxycblt.auxio.music.PlaylistMessage
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.resolveNames
import org.oxycblt.auxio.playback.PlaybackDecision
import org.oxycblt.auxio.playback.formatDurationMs
import org.oxycblt.auxio.util.collect
@@ -44,6 +39,11 @@ import org.oxycblt.auxio.util.getPlural
import org.oxycblt.auxio.util.navigateSafe
import org.oxycblt.auxio.util.showToast
import org.oxycblt.auxio.util.unlikelyToBeNull
+import org.oxycblt.musikr.Album
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.resolveNames
import timber.log.Timber as L
/**
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 160c6be07..b96452422 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt
@@ -29,14 +29,8 @@ import org.oxycblt.auxio.detail.list.ArtistDetailListAdapter
import org.oxycblt.auxio.list.Item
import org.oxycblt.auxio.list.ListFragment
import org.oxycblt.auxio.list.menu.Menu
-import org.oxycblt.musikr.Album
-import org.oxycblt.musikr.Artist
-import org.oxycblt.musikr.Music
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.PlaylistDecision
import org.oxycblt.auxio.music.PlaylistMessage
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.resolveNames
import org.oxycblt.auxio.playback.PlaybackDecision
import org.oxycblt.auxio.util.collect
import org.oxycblt.auxio.util.collectImmediately
@@ -44,6 +38,12 @@ import org.oxycblt.auxio.util.getPlural
import org.oxycblt.auxio.util.navigateSafe
import org.oxycblt.auxio.util.showToast
import org.oxycblt.auxio.util.unlikelyToBeNull
+import org.oxycblt.musikr.Album
+import org.oxycblt.musikr.Artist
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.resolveNames
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/DetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/DetailFragment.kt
index 2875e0acd..16aff144f 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/DetailFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/DetailFragment.kt
@@ -35,13 +35,13 @@ import org.oxycblt.auxio.list.ListFragment
import org.oxycblt.auxio.list.ListViewModel
import org.oxycblt.auxio.list.PlainDivider
import org.oxycblt.auxio.list.PlainHeader
-import org.oxycblt.musikr.Music
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.MusicViewModel
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.util.getDimenPixels
import org.oxycblt.auxio.util.overrideOnOverflowMenuClick
import org.oxycblt.auxio.util.setFullWidthLookup
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.MusicParent
abstract class DetailFragment
:
ListFragment(),
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/DetailGenerator.kt b/app/src/main/java/org/oxycblt/auxio/detail/DetailGenerator.kt
index 2e818b638..8ba06b5f7 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/DetailGenerator.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/DetailGenerator.kt
@@ -23,13 +23,13 @@ import javax.inject.Inject
import org.oxycblt.auxio.R
import org.oxycblt.auxio.list.ListSettings
import org.oxycblt.auxio.list.sort.Sort
+import org.oxycblt.auxio.music.MusicRepository
+import org.oxycblt.auxio.music.MusicType
import org.oxycblt.musikr.Album
import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Genre
import org.oxycblt.musikr.Music
import org.oxycblt.musikr.MusicParent
-import org.oxycblt.auxio.music.MusicRepository
-import org.oxycblt.auxio.music.MusicType
import org.oxycblt.musikr.Playlist
import org.oxycblt.musikr.Song
import org.oxycblt.musikr.tag.Disc
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/DetailViewModel.kt b/app/src/main/java/org/oxycblt/auxio/detail/DetailViewModel.kt
index e40278ef6..d514db4cf 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/DetailViewModel.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/DetailViewModel.kt
@@ -40,21 +40,21 @@ import org.oxycblt.auxio.list.PlainDivider
import org.oxycblt.auxio.list.PlainHeader
import org.oxycblt.auxio.list.adapter.UpdateInstructions
import org.oxycblt.auxio.list.sort.Sort
-import org.oxycblt.musikr.Album
-import org.oxycblt.musikr.Artist
-import org.oxycblt.musikr.Genre
-import org.oxycblt.musikr.Music
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.auxio.music.MusicType
-import org.oxycblt.musikr.Playlist
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.metadata.AudioProperties
import org.oxycblt.auxio.playback.PlaySong
import org.oxycblt.auxio.playback.PlaybackSettings
import org.oxycblt.auxio.util.Event
import org.oxycblt.auxio.util.MutableEvent
import org.oxycblt.auxio.util.unlikelyToBeNull
+import org.oxycblt.musikr.Album
+import org.oxycblt.musikr.Artist
+import org.oxycblt.musikr.Genre
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Playlist
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.metadata.AudioProperties
import timber.log.Timber as L
/**
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 cfae353fd..5ec60d085 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt
@@ -29,13 +29,8 @@ import org.oxycblt.auxio.detail.list.GenreDetailListAdapter
import org.oxycblt.auxio.list.Item
import org.oxycblt.auxio.list.ListFragment
import org.oxycblt.auxio.list.menu.Menu
-import org.oxycblt.musikr.Artist
-import org.oxycblt.musikr.Genre
-import org.oxycblt.musikr.Music
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.PlaylistDecision
import org.oxycblt.auxio.music.PlaylistMessage
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.PlaybackDecision
import org.oxycblt.auxio.util.collect
import org.oxycblt.auxio.util.collectImmediately
@@ -43,6 +38,11 @@ import org.oxycblt.auxio.util.getPlural
import org.oxycblt.auxio.util.navigateSafe
import org.oxycblt.auxio.util.showToast
import org.oxycblt.auxio.util.unlikelyToBeNull
+import org.oxycblt.musikr.Artist
+import org.oxycblt.musikr.Genre
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt
index 5c0961e1f..d729ffa0e 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt
@@ -35,13 +35,8 @@ import org.oxycblt.auxio.detail.list.PlaylistDragCallback
import org.oxycblt.auxio.list.Item
import org.oxycblt.auxio.list.ListFragment
import org.oxycblt.auxio.list.menu.Menu
-import org.oxycblt.musikr.Music
-import org.oxycblt.musikr.MusicParent
-import org.oxycblt.musikr.Playlist
import org.oxycblt.auxio.music.PlaylistDecision
import org.oxycblt.auxio.music.PlaylistMessage
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.playlist.m3u.M3U
import org.oxycblt.auxio.playback.PlaybackDecision
import org.oxycblt.auxio.playback.formatDurationMs
import org.oxycblt.auxio.ui.DialogAwareNavigationListener
@@ -52,6 +47,11 @@ import org.oxycblt.auxio.util.getPlural
import org.oxycblt.auxio.util.navigateSafe
import org.oxycblt.auxio.util.showToast
import org.oxycblt.auxio.util.unlikelyToBeNull
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Playlist
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.playlist.m3u.M3U
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/SongDetailDialog.kt b/app/src/main/java/org/oxycblt/auxio/detail/SongDetailDialog.kt
index 631c0f554..ef515357f 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/SongDetailDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/SongDetailDialog.kt
@@ -32,16 +32,16 @@ import org.oxycblt.auxio.databinding.DialogSongDetailBinding
import org.oxycblt.auxio.detail.list.SongProperty
import org.oxycblt.auxio.detail.list.SongPropertyAdapter
import org.oxycblt.auxio.list.adapter.UpdateInstructions
-import org.oxycblt.musikr.Music
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.resolveNames
-import org.oxycblt.musikr.metadata.AudioProperties
-import org.oxycblt.musikr.tag.Name
import org.oxycblt.auxio.playback.formatDurationMs
import org.oxycblt.auxio.playback.replaygain.formatDb
import org.oxycblt.auxio.ui.ViewBindingMaterialDialogFragment
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.concatLocalized
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.metadata.AudioProperties
+import org.oxycblt.musikr.resolveNames
+import org.oxycblt.musikr.tag.Name
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/decision/ArtistShowChoice.kt b/app/src/main/java/org/oxycblt/auxio/detail/decision/ArtistShowChoice.kt
index e01a190a9..a1d86fae2 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/decision/ArtistShowChoice.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/decision/ArtistShowChoice.kt
@@ -25,9 +25,9 @@ import org.oxycblt.auxio.list.ClickableListListener
import org.oxycblt.auxio.list.adapter.FlexibleListAdapter
import org.oxycblt.auxio.list.adapter.SimpleDiffCallback
import org.oxycblt.auxio.list.recycler.DialogRecyclerView
-import org.oxycblt.musikr.Artist
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.inflater
+import org.oxycblt.musikr.Artist
/**
* A [FlexibleListAdapter] that displays a list of [Artist] navigation choices, for use with
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/decision/DetailDecisionViewModel.kt b/app/src/main/java/org/oxycblt/auxio/detail/decision/DetailDecisionViewModel.kt
index af3a4b4db..d57d18042 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/decision/DetailDecisionViewModel.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/decision/DetailDecisionViewModel.kt
@@ -23,11 +23,11 @@ import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
+import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.musikr.Album
import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Library
import org.oxycblt.musikr.Music
-import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.musikr.Song
import timber.log.Timber as L
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/decision/ShowArtistDialog.kt b/app/src/main/java/org/oxycblt/auxio/detail/decision/ShowArtistDialog.kt
index e2defed2e..656147db0 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/decision/ShowArtistDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/decision/ShowArtistDialog.kt
@@ -32,9 +32,9 @@ import org.oxycblt.auxio.databinding.DialogMusicChoicesBinding
import org.oxycblt.auxio.detail.DetailViewModel
import org.oxycblt.auxio.list.ClickableListListener
import org.oxycblt.auxio.list.adapter.UpdateInstructions
-import org.oxycblt.musikr.Artist
import org.oxycblt.auxio.ui.ViewBindingMaterialDialogFragment
import org.oxycblt.auxio.util.collectImmediately
+import org.oxycblt.musikr.Artist
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/list/AlbumDetailListAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/list/AlbumDetailListAdapter.kt
index b1ec4cba2..de7fa331a 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/list/AlbumDetailListAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/list/AlbumDetailListAdapter.kt
@@ -35,14 +35,14 @@ import org.oxycblt.auxio.list.Item
import org.oxycblt.auxio.list.SelectableListListener
import org.oxycblt.auxio.list.adapter.SelectionIndicatorAdapter
import org.oxycblt.auxio.list.adapter.SimpleDiffCallback
-import org.oxycblt.musikr.Album
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.tag.Disc
-import org.oxycblt.musikr.tag.resolveNumber
import org.oxycblt.auxio.playback.formatDurationMs
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.getAttrColorCompat
import org.oxycblt.auxio.util.inflater
+import org.oxycblt.musikr.Album
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.tag.Disc
+import org.oxycblt.musikr.tag.resolveNumber
/**
* An [DetailListAdapter] implementing the header and sub-items for the [Album] detail view.
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/list/ArtistDetailListAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/list/ArtistDetailListAdapter.kt
index 4679ae668..5dc948707 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/list/ArtistDetailListAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/list/ArtistDetailListAdapter.kt
@@ -29,12 +29,12 @@ import org.oxycblt.auxio.list.Item
import org.oxycblt.auxio.list.SelectableListListener
import org.oxycblt.auxio.list.adapter.SelectionIndicatorAdapter
import org.oxycblt.auxio.list.adapter.SimpleDiffCallback
+import org.oxycblt.auxio.util.context
+import org.oxycblt.auxio.util.inflater
import org.oxycblt.musikr.Album
import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Music
import org.oxycblt.musikr.Song
-import org.oxycblt.auxio.util.context
-import org.oxycblt.auxio.util.inflater
/**
* A [DetailListAdapter] implementing the header and sub-items for the [Artist] detail view.
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/list/DetailListAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/list/DetailListAdapter.kt
index a823ae012..8feee699b 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/list/DetailListAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/list/DetailListAdapter.kt
@@ -35,9 +35,9 @@ import org.oxycblt.auxio.list.adapter.SelectionIndicatorAdapter
import org.oxycblt.auxio.list.adapter.SimpleDiffCallback
import org.oxycblt.auxio.list.recycler.BasicHeaderViewHolder
import org.oxycblt.auxio.list.recycler.DividerViewHolder
-import org.oxycblt.musikr.Music
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.inflater
+import org.oxycblt.musikr.Music
/**
* A [RecyclerView.Adapter] that implements shared behavior between lists of child items in the
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/list/PlaylistDetailListAdapter.kt b/app/src/main/java/org/oxycblt/auxio/detail/list/PlaylistDetailListAdapter.kt
index 2645759dd..3cb8e60c2 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/list/PlaylistDetailListAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/list/PlaylistDetailListAdapter.kt
@@ -40,12 +40,12 @@ import org.oxycblt.auxio.list.adapter.SelectionIndicatorAdapter
import org.oxycblt.auxio.list.adapter.SimpleDiffCallback
import org.oxycblt.auxio.list.recycler.MaterialDragCallback
import org.oxycblt.auxio.list.recycler.SongViewHolder
-import org.oxycblt.musikr.Playlist
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.resolveNames
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.getAttrColorCompat
import org.oxycblt.auxio.util.inflater
+import org.oxycblt.musikr.Playlist
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.resolveNames
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/sort/AlbumSongSortDialog.kt b/app/src/main/java/org/oxycblt/auxio/detail/sort/AlbumSongSortDialog.kt
index 6aeb51eea..4703c66f4 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/sort/AlbumSongSortDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/sort/AlbumSongSortDialog.kt
@@ -26,8 +26,8 @@ import org.oxycblt.auxio.databinding.DialogSortBinding
import org.oxycblt.auxio.detail.DetailViewModel
import org.oxycblt.auxio.list.sort.Sort
import org.oxycblt.auxio.list.sort.SortDialog
-import org.oxycblt.musikr.Album
import org.oxycblt.auxio.util.collectImmediately
+import org.oxycblt.musikr.Album
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/sort/ArtistSongSortDialog.kt b/app/src/main/java/org/oxycblt/auxio/detail/sort/ArtistSongSortDialog.kt
index 1362eef5f..9b2cc5542 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/sort/ArtistSongSortDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/sort/ArtistSongSortDialog.kt
@@ -26,8 +26,8 @@ import org.oxycblt.auxio.databinding.DialogSortBinding
import org.oxycblt.auxio.detail.DetailViewModel
import org.oxycblt.auxio.list.sort.Sort
import org.oxycblt.auxio.list.sort.SortDialog
-import org.oxycblt.musikr.Artist
import org.oxycblt.auxio.util.collectImmediately
+import org.oxycblt.musikr.Artist
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/sort/GenreSongSortDialog.kt b/app/src/main/java/org/oxycblt/auxio/detail/sort/GenreSongSortDialog.kt
index 5103d870f..b996c71f4 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/sort/GenreSongSortDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/sort/GenreSongSortDialog.kt
@@ -26,8 +26,8 @@ import org.oxycblt.auxio.databinding.DialogSortBinding
import org.oxycblt.auxio.detail.DetailViewModel
import org.oxycblt.auxio.list.sort.Sort
import org.oxycblt.auxio.list.sort.SortDialog
-import org.oxycblt.musikr.Genre
import org.oxycblt.auxio.util.collectImmediately
+import org.oxycblt.musikr.Genre
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/detail/sort/PlaylistSongSortDialog.kt b/app/src/main/java/org/oxycblt/auxio/detail/sort/PlaylistSongSortDialog.kt
index 3e0df5289..090428035 100644
--- a/app/src/main/java/org/oxycblt/auxio/detail/sort/PlaylistSongSortDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/detail/sort/PlaylistSongSortDialog.kt
@@ -26,8 +26,8 @@ import org.oxycblt.auxio.databinding.DialogSortBinding
import org.oxycblt.auxio.detail.DetailViewModel
import org.oxycblt.auxio.list.sort.Sort
import org.oxycblt.auxio.list.sort.SortDialog
-import org.oxycblt.musikr.Playlist
import org.oxycblt.auxio.util.collectImmediately
+import org.oxycblt.musikr.Playlist
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt
index 946a5a69e..9d9c179bd 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt
@@ -59,14 +59,10 @@ import org.oxycblt.auxio.list.ListViewModel
import org.oxycblt.auxio.list.SelectionFragment
import org.oxycblt.auxio.list.menu.Menu
import org.oxycblt.auxio.music.IndexingState
-import org.oxycblt.musikr.Music
import org.oxycblt.auxio.music.MusicType
import org.oxycblt.auxio.music.MusicViewModel
-import org.oxycblt.musikr.Playlist
import org.oxycblt.auxio.music.PlaylistDecision
import org.oxycblt.auxio.music.PlaylistMessage
-import org.oxycblt.musikr.IndexingProgress
-import org.oxycblt.musikr.playlist.m3u.M3U
import org.oxycblt.auxio.playback.PlaybackDecision
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.util.collect
@@ -75,6 +71,10 @@ import org.oxycblt.auxio.util.lazyReflectedField
import org.oxycblt.auxio.util.lazyReflectedMethod
import org.oxycblt.auxio.util.navigateSafe
import org.oxycblt.auxio.util.showToast
+import org.oxycblt.musikr.IndexingProgress
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.Playlist
+import org.oxycblt.musikr.playlist.m3u.M3U
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/home/HomeGenerator.kt b/app/src/main/java/org/oxycblt/auxio/home/HomeGenerator.kt
index 657ebbe55..605088af6 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/HomeGenerator.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/HomeGenerator.kt
@@ -22,11 +22,11 @@ import javax.inject.Inject
import org.oxycblt.auxio.home.tabs.Tab
import org.oxycblt.auxio.list.ListSettings
import org.oxycblt.auxio.list.adapter.UpdateInstructions
+import org.oxycblt.auxio.music.MusicRepository
+import org.oxycblt.auxio.music.MusicType
import org.oxycblt.musikr.Album
import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Genre
-import org.oxycblt.auxio.music.MusicRepository
-import org.oxycblt.auxio.music.MusicType
import org.oxycblt.musikr.Playlist
import org.oxycblt.musikr.Song
import timber.log.Timber as L
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 969816c09..17ee96617 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/HomeViewModel.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/HomeViewModel.kt
@@ -27,16 +27,16 @@ import org.oxycblt.auxio.home.tabs.Tab
import org.oxycblt.auxio.list.ListSettings
import org.oxycblt.auxio.list.adapter.UpdateInstructions
import org.oxycblt.auxio.list.sort.Sort
-import org.oxycblt.musikr.Album
-import org.oxycblt.musikr.Artist
-import org.oxycblt.musikr.Genre
import org.oxycblt.auxio.music.MusicType
-import org.oxycblt.musikr.Playlist
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.PlaySong
import org.oxycblt.auxio.playback.PlaybackSettings
import org.oxycblt.auxio.util.Event
import org.oxycblt.auxio.util.MutableEvent
+import org.oxycblt.musikr.Album
+import org.oxycblt.musikr.Artist
+import org.oxycblt.musikr.Genre
+import org.oxycblt.musikr.Playlist
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/AlbumListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/AlbumListFragment.kt
index 3e9148417..e283e7fd5 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/list/AlbumListFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/list/AlbumListFragment.kt
@@ -37,16 +37,16 @@ import org.oxycblt.auxio.list.adapter.SelectionIndicatorAdapter
import org.oxycblt.auxio.list.recycler.AlbumViewHolder
import org.oxycblt.auxio.list.recycler.FastScrollRecyclerView
import org.oxycblt.auxio.list.sort.Sort
-import org.oxycblt.musikr.Album
import org.oxycblt.auxio.music.IndexingState
-import org.oxycblt.musikr.Music
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.MusicViewModel
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.playback.formatDurationMs
import org.oxycblt.auxio.playback.secsToMs
import org.oxycblt.auxio.util.collectImmediately
+import org.oxycblt.musikr.Album
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Song
/**
* A [ListFragment] that shows a list of [Album]s.
diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt
index 747096b65..ecb1266a3 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt
@@ -35,16 +35,16 @@ import org.oxycblt.auxio.list.adapter.SelectionIndicatorAdapter
import org.oxycblt.auxio.list.recycler.ArtistViewHolder
import org.oxycblt.auxio.list.recycler.FastScrollRecyclerView
import org.oxycblt.auxio.list.sort.Sort
-import org.oxycblt.musikr.Artist
import org.oxycblt.auxio.music.IndexingState
-import org.oxycblt.musikr.Music
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.MusicViewModel
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.playback.formatDurationMs
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.positiveOrNull
+import org.oxycblt.musikr.Artist
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Song
/**
* A [ListFragment] that shows a list of [Artist]s.
diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/GenreListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/GenreListFragment.kt
index b62b01ccc..5d9c472d0 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/list/GenreListFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/list/GenreListFragment.kt
@@ -35,15 +35,15 @@ import org.oxycblt.auxio.list.adapter.SelectionIndicatorAdapter
import org.oxycblt.auxio.list.recycler.FastScrollRecyclerView
import org.oxycblt.auxio.list.recycler.GenreViewHolder
import org.oxycblt.auxio.list.sort.Sort
-import org.oxycblt.musikr.Genre
import org.oxycblt.auxio.music.IndexingState
-import org.oxycblt.musikr.Music
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.MusicViewModel
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.playback.formatDurationMs
import org.oxycblt.auxio.util.collectImmediately
+import org.oxycblt.musikr.Genre
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Song
/**
* A [ListFragment] that shows a list of [Genre]s.
diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/PlaylistListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/PlaylistListFragment.kt
index 70f574c98..80b658812 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/list/PlaylistListFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/list/PlaylistListFragment.kt
@@ -35,14 +35,14 @@ import org.oxycblt.auxio.list.recycler.FastScrollRecyclerView
import org.oxycblt.auxio.list.recycler.PlaylistViewHolder
import org.oxycblt.auxio.list.sort.Sort
import org.oxycblt.auxio.music.IndexingState
-import org.oxycblt.musikr.Music
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.MusicViewModel
-import org.oxycblt.musikr.Playlist
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.playback.formatDurationMs
import org.oxycblt.auxio.util.collectImmediately
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Playlist
+import org.oxycblt.musikr.Song
/**
* A [ListFragment] that shows a list of [Playlist]s.
diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/SongListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/SongListFragment.kt
index ee0470330..03d1b91dc 100644
--- a/app/src/main/java/org/oxycblt/auxio/home/list/SongListFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/home/list/SongListFragment.kt
@@ -37,14 +37,14 @@ import org.oxycblt.auxio.list.recycler.FastScrollRecyclerView
import org.oxycblt.auxio.list.recycler.SongViewHolder
import org.oxycblt.auxio.list.sort.Sort
import org.oxycblt.auxio.music.IndexingState
-import org.oxycblt.musikr.Music
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.MusicViewModel
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.playback.formatDurationMs
import org.oxycblt.auxio.playback.secsToMs
import org.oxycblt.auxio.util.collectImmediately
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Song
/**
* A [ListFragment] that shows a list of [Song]s.
diff --git a/app/src/main/java/org/oxycblt/auxio/image/CoverView.kt b/app/src/main/java/org/oxycblt/auxio/image/CoverView.kt
index 680138e64..1536402a3 100644
--- a/app/src/main/java/org/oxycblt/auxio/image/CoverView.kt
+++ b/app/src/main/java/org/oxycblt/auxio/image/CoverView.kt
@@ -53,18 +53,18 @@ import javax.inject.Inject
import org.oxycblt.auxio.R
import org.oxycblt.auxio.image.coil.RoundedRectTransformation
import org.oxycblt.auxio.image.coil.SquareCropTransformation
-import org.oxycblt.musikr.Album
-import org.oxycblt.musikr.Artist
-import org.oxycblt.musikr.Genre
-import org.oxycblt.musikr.Playlist
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.cover.Cover
import org.oxycblt.auxio.ui.MaterialFader
import org.oxycblt.auxio.ui.UISettings
import org.oxycblt.auxio.util.getAttrColorCompat
import org.oxycblt.auxio.util.getColorCompat
import org.oxycblt.auxio.util.getDimenPixels
import org.oxycblt.auxio.util.getDrawableCompat
+import org.oxycblt.musikr.Album
+import org.oxycblt.musikr.Artist
+import org.oxycblt.musikr.Genre
+import org.oxycblt.musikr.Playlist
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.cover.Cover
/**
* Auxio's extension of [ImageView] that enables cover art loading and playing indicator and
diff --git a/app/src/main/java/org/oxycblt/auxio/list/ListViewModel.kt b/app/src/main/java/org/oxycblt/auxio/list/ListViewModel.kt
index d6bd43f8d..b2eccb15a 100644
--- a/app/src/main/java/org/oxycblt/auxio/list/ListViewModel.kt
+++ b/app/src/main/java/org/oxycblt/auxio/list/ListViewModel.kt
@@ -25,17 +25,17 @@ import javax.inject.Inject
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import org.oxycblt.auxio.list.menu.Menu
+import org.oxycblt.auxio.music.MusicRepository
+import org.oxycblt.auxio.playback.PlaySong
+import org.oxycblt.auxio.util.Event
+import org.oxycblt.auxio.util.MutableEvent
import org.oxycblt.musikr.Album
import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Genre
import org.oxycblt.musikr.Music
import org.oxycblt.musikr.MusicParent
-import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.musikr.Playlist
import org.oxycblt.musikr.Song
-import org.oxycblt.auxio.playback.PlaySong
-import org.oxycblt.auxio.util.Event
-import org.oxycblt.auxio.util.MutableEvent
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/list/menu/Menu.kt b/app/src/main/java/org/oxycblt/auxio/list/menu/Menu.kt
index e3dc2b341..3413e03f0 100644
--- a/app/src/main/java/org/oxycblt/auxio/list/menu/Menu.kt
+++ b/app/src/main/java/org/oxycblt/auxio/list/menu/Menu.kt
@@ -21,13 +21,13 @@ package org.oxycblt.auxio.list.menu
import android.os.Parcelable
import androidx.annotation.MenuRes
import kotlinx.parcelize.Parcelize
+import org.oxycblt.auxio.playback.PlaySong
import org.oxycblt.musikr.Album
import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Genre
import org.oxycblt.musikr.Music
import org.oxycblt.musikr.Playlist
import org.oxycblt.musikr.Song
-import org.oxycblt.auxio.playback.PlaySong
/**
* Command to navigate to a specific menu dialog configuration.
diff --git a/app/src/main/java/org/oxycblt/auxio/list/menu/MenuDialogFragmentImpl.kt b/app/src/main/java/org/oxycblt/auxio/list/menu/MenuDialogFragmentImpl.kt
index c76e684f4..114b8f9f4 100644
--- a/app/src/main/java/org/oxycblt/auxio/list/menu/MenuDialogFragmentImpl.kt
+++ b/app/src/main/java/org/oxycblt/auxio/list/menu/MenuDialogFragmentImpl.kt
@@ -27,17 +27,17 @@ import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.DialogMenuBinding
import org.oxycblt.auxio.detail.DetailViewModel
import org.oxycblt.auxio.list.ListViewModel
-import org.oxycblt.musikr.Artist
-import org.oxycblt.musikr.Genre
import org.oxycblt.auxio.music.MusicViewModel
-import org.oxycblt.musikr.Playlist
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.resolveNames
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.playback.formatDurationMs
import org.oxycblt.auxio.util.getPlural
import org.oxycblt.auxio.util.share
import org.oxycblt.auxio.util.showToast
+import org.oxycblt.musikr.Artist
+import org.oxycblt.musikr.Genre
+import org.oxycblt.musikr.Playlist
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.resolveNames
/**
* [MenuDialogFragment] implementation for a [Song].
diff --git a/app/src/main/java/org/oxycblt/auxio/list/menu/MenuViewModel.kt b/app/src/main/java/org/oxycblt/auxio/list/menu/MenuViewModel.kt
index fa8e7dad9..ca3feb8e3 100644
--- a/app/src/main/java/org/oxycblt/auxio/list/menu/MenuViewModel.kt
+++ b/app/src/main/java/org/oxycblt/auxio/list/menu/MenuViewModel.kt
@@ -23,9 +23,9 @@ import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.auxio.playback.PlaySong
+import org.oxycblt.musikr.MusicParent
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/list/recycler/ViewHolders.kt b/app/src/main/java/org/oxycblt/auxio/list/recycler/ViewHolders.kt
index 6c14f568e..4d7c0fb22 100644
--- a/app/src/main/java/org/oxycblt/auxio/list/recycler/ViewHolders.kt
+++ b/app/src/main/java/org/oxycblt/auxio/list/recycler/ViewHolders.kt
@@ -32,6 +32,9 @@ import org.oxycblt.auxio.list.PlainDivider
import org.oxycblt.auxio.list.SelectableListListener
import org.oxycblt.auxio.list.adapter.SelectionIndicatorAdapter
import org.oxycblt.auxio.list.adapter.SimpleDiffCallback
+import org.oxycblt.auxio.util.context
+import org.oxycblt.auxio.util.getPlural
+import org.oxycblt.auxio.util.inflater
import org.oxycblt.musikr.Album
import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Genre
@@ -39,9 +42,6 @@ import org.oxycblt.musikr.Playlist
import org.oxycblt.musikr.Song
import org.oxycblt.musikr.areNamesTheSame
import org.oxycblt.musikr.resolveNames
-import org.oxycblt.auxio.util.context
-import org.oxycblt.auxio.util.getPlural
-import org.oxycblt.auxio.util.inflater
/**
* A [RecyclerView.ViewHolder] that displays a [Song]. Use [from] to create an instance.
diff --git a/app/src/main/java/org/oxycblt/auxio/music/MusicRepository.kt b/app/src/main/java/org/oxycblt/auxio/music/MusicRepository.kt
index 543581d87..3fee8efe4 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/MusicRepository.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/MusicRepository.kt
@@ -347,10 +347,10 @@ constructor(private val indexer: Indexer, private val musicSettings: MusicSettin
} else {
Name.Known.SimpleFactory
}
- val uris = musicSettings.musicLocations
+ val locations = musicSettings.musicLocations
val newLibrary =
- indexer.run(uris, Interpretation(nameFactory, separators), ::emitIndexingProgress)
+ indexer.run(locations, Interpretation(nameFactory, separators), ::emitIndexingProgress)
emitIndexingCompletion(null)
diff --git a/app/src/main/java/org/oxycblt/auxio/music/MusicSettings.kt b/app/src/main/java/org/oxycblt/auxio/music/MusicSettings.kt
index 1c2da46bb..01181e9dd 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/MusicSettings.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/MusicSettings.kt
@@ -69,7 +69,8 @@ constructor(
set(value) {
sharedPreferences.edit {
putStringSet(
- getString(R.string.set_key_music_locations), value.map { it.toString() }.toSet())
+ getString(R.string.set_key_music_locations),
+ value.map { it.toString() }.toSet())
apply()
}
}
diff --git a/app/src/main/java/org/oxycblt/auxio/music/MusicViewModel.kt b/app/src/main/java/org/oxycblt/auxio/music/MusicViewModel.kt
index accfb5ff4..ed54a2886 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/MusicViewModel.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/MusicViewModel.kt
@@ -29,8 +29,6 @@ import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
import org.oxycblt.auxio.R
import org.oxycblt.auxio.list.ListSettings
-import org.oxycblt.musikr.playlist.ExportConfig
-import org.oxycblt.musikr.playlist.ExternalPlaylistManager
import org.oxycblt.auxio.util.Event
import org.oxycblt.auxio.util.MutableEvent
import org.oxycblt.musikr.Album
@@ -38,6 +36,8 @@ import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Genre
import org.oxycblt.musikr.Playlist
import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.playlist.ExportConfig
+import org.oxycblt.musikr.playlist.ExternalPlaylistManager
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/music/decision/AddToPlaylistDialog.kt b/app/src/main/java/org/oxycblt/auxio/music/decision/AddToPlaylistDialog.kt
index 752b87427..321dd87ff 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/decision/AddToPlaylistDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/decision/AddToPlaylistDialog.kt
@@ -33,10 +33,10 @@ import org.oxycblt.auxio.databinding.DialogMusicChoicesBinding
import org.oxycblt.auxio.list.ClickableListListener
import org.oxycblt.auxio.music.MusicViewModel
import org.oxycblt.auxio.music.PlaylistDecision
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.ui.ViewBindingMaterialDialogFragment
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.navigateSafe
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/music/decision/DeletePlaylistDialog.kt b/app/src/main/java/org/oxycblt/auxio/music/decision/DeletePlaylistDialog.kt
index e0b5d2445..322c9cd60 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/decision/DeletePlaylistDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/decision/DeletePlaylistDialog.kt
@@ -29,10 +29,10 @@ import dagger.hilt.android.AndroidEntryPoint
import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.DialogDeletePlaylistBinding
import org.oxycblt.auxio.music.MusicViewModel
-import org.oxycblt.musikr.Playlist
import org.oxycblt.auxio.ui.ViewBindingMaterialDialogFragment
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.unlikelyToBeNull
+import org.oxycblt.musikr.Playlist
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/music/decision/ExportPlaylistDialog.kt b/app/src/main/java/org/oxycblt/auxio/music/decision/ExportPlaylistDialog.kt
index 6c86f9f11..74f40c38a 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/decision/ExportPlaylistDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/decision/ExportPlaylistDialog.kt
@@ -31,12 +31,12 @@ import dagger.hilt.android.AndroidEntryPoint
import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.DialogPlaylistExportBinding
import org.oxycblt.auxio.music.MusicViewModel
-import org.oxycblt.musikr.Playlist
-import org.oxycblt.musikr.playlist.ExportConfig
-import org.oxycblt.musikr.playlist.m3u.M3U
import org.oxycblt.auxio.ui.ViewBindingMaterialDialogFragment
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.unlikelyToBeNull
+import org.oxycblt.musikr.Playlist
+import org.oxycblt.musikr.playlist.ExportConfig
+import org.oxycblt.musikr.playlist.m3u.M3U
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/music/decision/PlaylistPickerViewModel.kt b/app/src/main/java/org/oxycblt/auxio/music/decision/PlaylistPickerViewModel.kt
index 1f36fbcda..753900d0b 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/decision/PlaylistPickerViewModel.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/decision/PlaylistPickerViewModel.kt
@@ -27,10 +27,10 @@ import kotlinx.coroutines.flow.StateFlow
import org.oxycblt.auxio.R
import org.oxycblt.auxio.list.Item
import org.oxycblt.auxio.list.sort.Sort
-import org.oxycblt.musikr.Music
import org.oxycblt.auxio.music.MusicRepository
-import org.oxycblt.musikr.Playlist
import org.oxycblt.auxio.music.PlaylistDecision
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.Playlist
import org.oxycblt.musikr.Song
import org.oxycblt.musikr.playlist.ExportConfig
import timber.log.Timber as L
diff --git a/app/src/main/java/org/oxycblt/auxio/music/locations/LocationAdapter.kt b/app/src/main/java/org/oxycblt/auxio/music/locations/LocationAdapter.kt
index 2db1873b9..3a6ebe679 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/locations/LocationAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/locations/LocationAdapter.kt
@@ -15,16 +15,14 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-
+
package org.oxycblt.auxio.music.locations
-import android.net.Uri
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import org.oxycblt.auxio.databinding.ItemMusicLocationBinding
import org.oxycblt.auxio.list.recycler.DialogRecyclerView
-import org.oxycblt.musikr.fs.Path
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.inflater
import org.oxycblt.musikr.fs.MusicLocation
diff --git a/app/src/main/java/org/oxycblt/auxio/music/locations/MusicSourcesDialog.kt b/app/src/main/java/org/oxycblt/auxio/music/locations/MusicSourcesDialog.kt
index 8f0489c8b..444134714 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/locations/MusicSourcesDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/locations/MusicSourcesDialog.kt
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-
+
package org.oxycblt.auxio.music.locations
import android.content.ActivityNotFoundException
@@ -50,10 +50,8 @@ class MusicSourcesDialog :
ViewBindingMaterialDialogFragment(), LocationAdapter.Listener {
private val locationAdapter = LocationAdapter(this)
private var openDocumentTreeLauncher: ActivityResultLauncher? = null
- @Inject
- lateinit var musicLocationFactory: MusicLocation.Factory
- @Inject
- lateinit var musicSettings: MusicSettings
+ @Inject lateinit var musicLocationFactory: MusicLocation.Factory
+ @Inject lateinit var musicSettings: MusicSettings
override fun onCreateBinding(inflater: LayoutInflater) =
DialogMusicLocationsBinding.inflate(inflater)
@@ -77,9 +75,7 @@ class MusicSourcesDialog :
) {
openDocumentTreeLauncher =
registerForActivityResult(
- ActivityResultContracts.OpenDocumentTree(),
- ::addDocumentTreeUriToDirs
- )
+ ActivityResultContracts.OpenDocumentTree(), ::addDocumentTreeUriToDirs)
binding.locationsAdd.apply {
ViewCompat.setTooltipText(this, contentDescription)
@@ -107,8 +103,7 @@ class MusicSourcesDialog :
val locations =
savedInstanceState?.getStringArrayList(KEY_PENDING_LOCATIONS)?.mapNotNull {
musicLocationFactory.existing(Uri.parse(it))
- }
- ?: musicSettings.musicLocations
+ } ?: musicSettings.musicLocations
locationAdapter.addAll(locations)
requireBinding().locationsEmpty.isVisible = locations.isEmpty()
@@ -117,8 +112,7 @@ class MusicSourcesDialog :
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putStringArrayList(
- KEY_PENDING_LOCATIONS, ArrayList(locationAdapter.locations.map { it.uri.toString() })
- )
+ KEY_PENDING_LOCATIONS, ArrayList(locationAdapter.locations.map { it.uri.toString() }))
}
override fun onDestroyBinding(binding: DialogMusicLocationsBinding) {
@@ -132,8 +126,7 @@ class MusicSourcesDialog :
requireBinding().locationsEmpty.isVisible = locationAdapter.locations.isEmpty()
}
- @Inject
- lateinit var contentResolver: ContentResolver
+ @Inject lateinit var contentResolver: ContentResolver
/**
* Add a Document Tree [Uri] chosen by the user to the current [MusicLocation]s.
diff --git a/app/src/main/java/org/oxycblt/auxio/music/metadata/SeparatorsDialog.kt b/app/src/main/java/org/oxycblt/auxio/music/metadata/SeparatorsDialog.kt
index 000daf45f..f2c5d0cec 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/metadata/SeparatorsDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/metadata/SeparatorsDialog.kt
@@ -29,8 +29,8 @@ import org.oxycblt.auxio.BuildConfig
import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.DialogSeparatorsBinding
import org.oxycblt.auxio.music.MusicSettings
-import org.oxycblt.musikr.tag.interpret.Separators
import org.oxycblt.auxio.ui.ViewBindingMaterialDialogFragment
+import org.oxycblt.musikr.tag.interpret.Separators
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/music/service/IndexerNotifications.kt b/app/src/main/java/org/oxycblt/auxio/music/service/IndexerNotifications.kt
index c5f9d3d37..f93cdfa7c 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/service/IndexerNotifications.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/service/IndexerNotifications.kt
@@ -25,8 +25,8 @@ import org.oxycblt.auxio.BuildConfig
import org.oxycblt.auxio.ForegroundServiceNotification
import org.oxycblt.auxio.IntegerTable
import org.oxycblt.auxio.R
-import org.oxycblt.musikr.IndexingProgress
import org.oxycblt.auxio.util.newMainPendingIntent
+import org.oxycblt.musikr.IndexingProgress
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/music/service/IndexingHolder.kt b/app/src/main/java/org/oxycblt/auxio/music/service/IndexingHolder.kt
index 95570eeb1..a24918bd5 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/service/IndexingHolder.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/service/IndexingHolder.kt
@@ -30,11 +30,11 @@ import org.oxycblt.auxio.BuildConfig
import org.oxycblt.auxio.ForegroundListener
import org.oxycblt.auxio.ForegroundServiceNotification
import org.oxycblt.auxio.music.IndexingState
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.auxio.music.MusicSettings
import org.oxycblt.auxio.playback.state.PlaybackStateManager
import org.oxycblt.auxio.util.getSystemServiceCompat
+import org.oxycblt.musikr.MusicParent
import timber.log.Timber as L
class IndexingHolder
diff --git a/app/src/main/java/org/oxycblt/auxio/music/service/MediaItemTranslation.kt b/app/src/main/java/org/oxycblt/auxio/music/service/MediaItemTranslation.kt
index 896e3a7a1..b33836132 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/service/MediaItemTranslation.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/service/MediaItemTranslation.kt
@@ -27,6 +27,8 @@ import androidx.annotation.StringRes
import androidx.media.utils.MediaConstants
import org.oxycblt.auxio.BuildConfig
import org.oxycblt.auxio.R
+import org.oxycblt.auxio.playback.formatDurationDs
+import org.oxycblt.auxio.util.getPlural
import org.oxycblt.musikr.Album
import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Genre
@@ -35,8 +37,6 @@ import org.oxycblt.musikr.MusicParent
import org.oxycblt.musikr.Playlist
import org.oxycblt.musikr.Song
import org.oxycblt.musikr.resolveNames
-import org.oxycblt.auxio.playback.formatDurationDs
-import org.oxycblt.auxio.util.getPlural
sealed interface MediaSessionUID {
data class Tab(val node: TabNode) : MediaSessionUID {
diff --git a/app/src/main/java/org/oxycblt/auxio/music/service/MusicBrowser.kt b/app/src/main/java/org/oxycblt/auxio/music/service/MusicBrowser.kt
index d21388eb9..a9d5b703d 100644
--- a/app/src/main/java/org/oxycblt/auxio/music/service/MusicBrowser.kt
+++ b/app/src/main/java/org/oxycblt/auxio/music/service/MusicBrowser.kt
@@ -27,16 +27,16 @@ import org.oxycblt.auxio.detail.DetailGenerator
import org.oxycblt.auxio.detail.DetailSection
import org.oxycblt.auxio.home.HomeGenerator
import org.oxycblt.auxio.list.adapter.UpdateInstructions
+import org.oxycblt.auxio.music.MusicRepository
+import org.oxycblt.auxio.music.MusicType
+import org.oxycblt.auxio.search.SearchEngine
import org.oxycblt.musikr.Album
import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Genre
import org.oxycblt.musikr.Music
-import org.oxycblt.auxio.music.MusicRepository
-import org.oxycblt.auxio.music.MusicType
import org.oxycblt.musikr.Playlist
import org.oxycblt.musikr.Song
import org.oxycblt.musikr.tag.resolveNumber
-import org.oxycblt.auxio.search.SearchEngine
class MusicBrowser
private constructor(
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackBarFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackBarFragment.kt
index 77bb5ec6e..c4bda9307 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackBarFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackBarFragment.kt
@@ -26,13 +26,13 @@ import dagger.hilt.android.AndroidEntryPoint
import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.FragmentPlaybackBarBinding
import org.oxycblt.auxio.detail.DetailViewModel
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.resolveNames
import org.oxycblt.auxio.playback.state.RepeatMode
import org.oxycblt.auxio.ui.ViewBindingFragment
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.getAttrColorCompat
import org.oxycblt.auxio.util.getColorCompat
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.resolveNames
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt
index eb4c14325..028ef5e85 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt
@@ -35,9 +35,6 @@ import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.FragmentPlaybackPanelBinding
import org.oxycblt.auxio.detail.DetailViewModel
import org.oxycblt.auxio.list.ListViewModel
-import org.oxycblt.musikr.MusicParent
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.resolveNames
import org.oxycblt.auxio.playback.state.RepeatMode
import org.oxycblt.auxio.playback.ui.StyledSeekBar
import org.oxycblt.auxio.playback.ui.SwipeCoverView
@@ -45,6 +42,9 @@ import org.oxycblt.auxio.ui.ViewBindingFragment
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.showToast
import org.oxycblt.auxio.util.systemBarInsetsCompat
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.resolveNames
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt
index 2895e2cbe..67d8160f7 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackViewModel.kt
@@ -28,12 +28,6 @@ import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
import org.oxycblt.auxio.list.ListSettings
-import org.oxycblt.musikr.Album
-import org.oxycblt.musikr.Artist
-import org.oxycblt.musikr.Genre
-import org.oxycblt.musikr.MusicParent
-import org.oxycblt.musikr.Playlist
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.state.DeferredPlayback
import org.oxycblt.auxio.playback.state.PlaybackCommand
import org.oxycblt.auxio.playback.state.PlaybackStateManager
@@ -43,6 +37,12 @@ import org.oxycblt.auxio.playback.state.RepeatMode
import org.oxycblt.auxio.playback.state.ShuffleMode
import org.oxycblt.auxio.util.Event
import org.oxycblt.auxio.util.MutableEvent
+import org.oxycblt.musikr.Album
+import org.oxycblt.musikr.Artist
+import org.oxycblt.musikr.Genre
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Playlist
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/decision/ArtistPlaybackChoiceAdapter.kt b/app/src/main/java/org/oxycblt/auxio/playback/decision/ArtistPlaybackChoiceAdapter.kt
index 991a04569..96067a8b8 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/decision/ArtistPlaybackChoiceAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/decision/ArtistPlaybackChoiceAdapter.kt
@@ -25,9 +25,9 @@ import org.oxycblt.auxio.list.ClickableListListener
import org.oxycblt.auxio.list.adapter.FlexibleListAdapter
import org.oxycblt.auxio.list.adapter.SimpleDiffCallback
import org.oxycblt.auxio.list.recycler.DialogRecyclerView
-import org.oxycblt.musikr.Artist
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.inflater
+import org.oxycblt.musikr.Artist
/**
* A [FlexibleListAdapter] that displays a list of [Artist] playback choices, for use with
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/decision/GenrePlaybackChoiceAdapter.kt b/app/src/main/java/org/oxycblt/auxio/playback/decision/GenrePlaybackChoiceAdapter.kt
index 8d91321a6..b79614d8f 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/decision/GenrePlaybackChoiceAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/decision/GenrePlaybackChoiceAdapter.kt
@@ -25,9 +25,9 @@ import org.oxycblt.auxio.list.ClickableListListener
import org.oxycblt.auxio.list.adapter.FlexibleListAdapter
import org.oxycblt.auxio.list.adapter.SimpleDiffCallback
import org.oxycblt.auxio.list.recycler.DialogRecyclerView
-import org.oxycblt.musikr.Genre
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.inflater
+import org.oxycblt.musikr.Genre
/**
* A [FlexibleListAdapter] that displays a list of [Genre] playback choices, for use with
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/decision/PlayFromArtistDialog.kt b/app/src/main/java/org/oxycblt/auxio/playback/decision/PlayFromArtistDialog.kt
index 12eeffb80..b51712e15 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/decision/PlayFromArtistDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/decision/PlayFromArtistDialog.kt
@@ -31,12 +31,12 @@ import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.DialogMusicChoicesBinding
import org.oxycblt.auxio.list.ClickableListListener
import org.oxycblt.auxio.list.adapter.UpdateInstructions
-import org.oxycblt.musikr.Artist
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.ui.ViewBindingMaterialDialogFragment
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.unlikelyToBeNull
+import org.oxycblt.musikr.Artist
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/decision/PlayFromGenreDialog.kt b/app/src/main/java/org/oxycblt/auxio/playback/decision/PlayFromGenreDialog.kt
index c0f263556..6b2ef64e5 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/decision/PlayFromGenreDialog.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/decision/PlayFromGenreDialog.kt
@@ -31,12 +31,12 @@ import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.DialogMusicChoicesBinding
import org.oxycblt.auxio.list.ClickableListListener
import org.oxycblt.auxio.list.adapter.UpdateInstructions
-import org.oxycblt.musikr.Genre
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.ui.ViewBindingMaterialDialogFragment
import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.unlikelyToBeNull
+import org.oxycblt.musikr.Genre
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/decision/PlaybackPickerViewModel.kt b/app/src/main/java/org/oxycblt/auxio/playback/decision/PlaybackPickerViewModel.kt
index 6df3fa0d9..95fae0c5a 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/decision/PlaybackPickerViewModel.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/decision/PlaybackPickerViewModel.kt
@@ -23,9 +23,9 @@ import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
+import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Music
-import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.musikr.Song
import timber.log.Timber as L
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/persist/PersistenceDatabase.kt b/app/src/main/java/org/oxycblt/auxio/playback/persist/PersistenceDatabase.kt
index 2dd88f674..99805a0d5 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/persist/PersistenceDatabase.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/persist/PersistenceDatabase.kt
@@ -28,8 +28,8 @@ import androidx.room.Query
import androidx.room.RoomDatabase
import androidx.room.TypeConverters
import androidx.room.migration.Migration
-import org.oxycblt.musikr.Music
import org.oxycblt.auxio.playback.state.RepeatMode
+import org.oxycblt.musikr.Music
/**
* Provides raw access to the database storing the persisted playback state.
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/persist/PersistenceRepository.kt b/app/src/main/java/org/oxycblt/auxio/playback/persist/PersistenceRepository.kt
index 3ed14f2d7..5d800af34 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/persist/PersistenceRepository.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/persist/PersistenceRepository.kt
@@ -19,9 +19,9 @@
package org.oxycblt.auxio.playback.persist
import javax.inject.Inject
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.auxio.playback.state.PlaybackStateManager
+import org.oxycblt.musikr.MusicParent
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt
index 794e52e04..9bc857314 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueAdapter.kt
@@ -32,11 +32,11 @@ import org.oxycblt.auxio.list.adapter.FlexibleListAdapter
import org.oxycblt.auxio.list.adapter.PlayingIndicatorAdapter
import org.oxycblt.auxio.list.recycler.MaterialDragCallback
import org.oxycblt.auxio.list.recycler.SongViewHolder
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.resolveNames
import org.oxycblt.auxio.util.context
import org.oxycblt.auxio.util.getAttrColorCompat
import org.oxycblt.auxio.util.inflater
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.resolveNames
import timber.log.Timber as L
/**
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 2cdfea7b7..ede1313e0 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
@@ -30,10 +30,10 @@ import dagger.hilt.android.AndroidEntryPoint
import kotlin.math.min
import org.oxycblt.auxio.databinding.FragmentQueueBinding
import org.oxycblt.auxio.list.EditClickListListener
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.ui.ViewBindingFragment
import org.oxycblt.auxio.util.collectImmediately
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueViewModel.kt b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueViewModel.kt
index b5fcc7bb0..5e1e2aa64 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueViewModel.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueViewModel.kt
@@ -24,12 +24,12 @@ import javax.inject.Inject
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import org.oxycblt.auxio.list.adapter.UpdateInstructions
-import org.oxycblt.musikr.MusicParent
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.state.PlaybackStateManager
import org.oxycblt.auxio.playback.state.QueueChange
import org.oxycblt.auxio.util.Event
import org.oxycblt.auxio.util.MutableEvent
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/replaygain/ReplayGainAudioProcessor.kt b/app/src/main/java/org/oxycblt/auxio/playback/replaygain/ReplayGainAudioProcessor.kt
index 8672ecb00..5c2e27c41 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/replaygain/ReplayGainAudioProcessor.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/replaygain/ReplayGainAudioProcessor.kt
@@ -26,12 +26,12 @@ import androidx.media3.common.audio.BaseAudioProcessor
import java.nio.ByteBuffer
import javax.inject.Inject
import kotlin.math.pow
-import org.oxycblt.musikr.Album
-import org.oxycblt.musikr.MusicParent
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.PlaybackSettings
import org.oxycblt.auxio.playback.state.PlaybackStateManager
import org.oxycblt.auxio.playback.state.QueueChange
+import org.oxycblt.musikr.Album
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/service/ExoPlaybackStateHolder.kt b/app/src/main/java/org/oxycblt/auxio/playback/service/ExoPlaybackStateHolder.kt
index 3a494babd..3b5944bd2 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/service/ExoPlaybackStateHolder.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/service/ExoPlaybackStateHolder.kt
@@ -43,9 +43,7 @@ import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import kotlinx.coroutines.yield
import org.oxycblt.auxio.image.ImageSettings
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.MusicRepository
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.PlaybackSettings
import org.oxycblt.auxio.playback.msToSecs
import org.oxycblt.auxio.playback.persist.PersistenceRepository
@@ -59,6 +57,8 @@ import org.oxycblt.auxio.playback.state.RawQueue
import org.oxycblt.auxio.playback.state.RepeatMode
import org.oxycblt.auxio.playback.state.ShuffleMode
import org.oxycblt.auxio.playback.state.StateAck
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
class ExoPlaybackStateHolder(
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionHolder.kt b/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionHolder.kt
index 021128a99..f57643bca 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionHolder.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionHolder.kt
@@ -36,9 +36,6 @@ import org.oxycblt.auxio.IntegerTable
import org.oxycblt.auxio.R
import org.oxycblt.auxio.image.BitmapProvider
import org.oxycblt.auxio.image.ImageSettings
-import org.oxycblt.musikr.MusicParent
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.resolveNames
import org.oxycblt.auxio.music.service.MediaSessionUID
import org.oxycblt.auxio.music.service.toMediaDescription
import org.oxycblt.auxio.playback.ActionMode
@@ -49,6 +46,9 @@ import org.oxycblt.auxio.playback.state.QueueChange
import org.oxycblt.auxio.playback.state.RepeatMode
import org.oxycblt.auxio.util.newBroadcastPendingIntent
import org.oxycblt.auxio.util.newMainPendingIntent
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.resolveNames
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionInterface.kt b/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionInterface.kt
index 7fde57c78..0620bd55a 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionInterface.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionInterface.kt
@@ -29,22 +29,22 @@ import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
import org.apache.commons.text.similarity.JaroWinklerSimilarity
import org.oxycblt.auxio.BuildConfig
+import org.oxycblt.auxio.music.MusicRepository
+import org.oxycblt.auxio.music.service.MediaSessionUID
+import org.oxycblt.auxio.music.service.MusicBrowser
+import org.oxycblt.auxio.playback.state.PlaybackCommand
+import org.oxycblt.auxio.playback.state.PlaybackStateManager
+import org.oxycblt.auxio.playback.state.RepeatMode
+import org.oxycblt.auxio.playback.state.ShuffleMode
import org.oxycblt.musikr.Album
import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Genre
import org.oxycblt.musikr.Library
import org.oxycblt.musikr.Music
import org.oxycblt.musikr.MusicParent
-import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.musikr.Playlist
import org.oxycblt.musikr.Song
-import org.oxycblt.auxio.music.service.MediaSessionUID
-import org.oxycblt.auxio.music.service.MusicBrowser
import org.oxycblt.musikr.tag.Name
-import org.oxycblt.auxio.playback.state.PlaybackCommand
-import org.oxycblt.auxio.playback.state.PlaybackStateManager
-import org.oxycblt.auxio.playback.state.RepeatMode
-import org.oxycblt.auxio.playback.state.ShuffleMode
import timber.log.Timber as L
class MediaSessionInterface
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackCommand.kt b/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackCommand.kt
index bc58043b2..d7cbd2900 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackCommand.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackCommand.kt
@@ -21,14 +21,14 @@ package org.oxycblt.auxio.playback.state
import javax.inject.Inject
import org.oxycblt.auxio.list.ListSettings
import org.oxycblt.auxio.list.sort.Sort
+import org.oxycblt.auxio.music.MusicRepository
+import org.oxycblt.auxio.playback.PlaybackSettings
import org.oxycblt.musikr.Album
import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Genre
import org.oxycblt.musikr.MusicParent
-import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.musikr.Playlist
import org.oxycblt.musikr.Song
-import org.oxycblt.auxio.playback.PlaybackSettings
/**
* A playback command that can be passed to [PlaybackStateManager] to start new playback.
diff --git a/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackStateManager.kt b/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackStateManager.kt
index ecfe72b8e..e0aede3ab 100644
--- a/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackStateManager.kt
+++ b/app/src/main/java/org/oxycblt/auxio/playback/state/PlaybackStateManager.kt
@@ -21,10 +21,10 @@ package org.oxycblt.auxio.playback.state
import javax.inject.Inject
import org.oxycblt.auxio.BuildConfig
import org.oxycblt.auxio.list.adapter.UpdateInstructions
+import org.oxycblt.auxio.playback.state.PlaybackStateManager.Listener
import org.oxycblt.musikr.Music
import org.oxycblt.musikr.MusicParent
import org.oxycblt.musikr.Song
-import org.oxycblt.auxio.playback.state.PlaybackStateManager.Listener
import timber.log.Timber as L
/**
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 b522efedf..e6f39872d 100644
--- a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt
+++ b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt
@@ -44,17 +44,9 @@ import org.oxycblt.auxio.list.ListViewModel
import org.oxycblt.auxio.list.PlainDivider
import org.oxycblt.auxio.list.PlainHeader
import org.oxycblt.auxio.list.menu.Menu
-import org.oxycblt.musikr.Album
-import org.oxycblt.musikr.Artist
-import org.oxycblt.musikr.Genre
-import org.oxycblt.musikr.Music
-import org.oxycblt.musikr.MusicParent
import org.oxycblt.auxio.music.MusicViewModel
-import org.oxycblt.musikr.Playlist
import org.oxycblt.auxio.music.PlaylistDecision
import org.oxycblt.auxio.music.PlaylistMessage
-import org.oxycblt.musikr.Song
-import org.oxycblt.musikr.playlist.m3u.M3U
import org.oxycblt.auxio.playback.PlaybackDecision
import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.util.collect
@@ -64,6 +56,14 @@ import org.oxycblt.auxio.util.getSystemServiceCompat
import org.oxycblt.auxio.util.navigateSafe
import org.oxycblt.auxio.util.setFullWidthLookup
import org.oxycblt.auxio.util.showToast
+import org.oxycblt.musikr.Album
+import org.oxycblt.musikr.Artist
+import org.oxycblt.musikr.Genre
+import org.oxycblt.musikr.Music
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Playlist
+import org.oxycblt.musikr.Song
+import org.oxycblt.musikr.playlist.m3u.M3U
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/search/SearchViewModel.kt b/app/src/main/java/org/oxycblt/auxio/search/SearchViewModel.kt
index 372a72254..ec835c912 100644
--- a/app/src/main/java/org/oxycblt/auxio/search/SearchViewModel.kt
+++ b/app/src/main/java/org/oxycblt/auxio/search/SearchViewModel.kt
@@ -33,12 +33,12 @@ import org.oxycblt.auxio.list.BasicHeader
import org.oxycblt.auxio.list.Item
import org.oxycblt.auxio.list.PlainDivider
import org.oxycblt.auxio.list.sort.Sort
-import org.oxycblt.musikr.Library
import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.auxio.music.MusicType
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.PlaySong
import org.oxycblt.auxio.playback.PlaybackSettings
+import org.oxycblt.musikr.Library
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/widgets/WidgetComponent.kt b/app/src/main/java/org/oxycblt/auxio/widgets/WidgetComponent.kt
index 100246efc..5977dff5c 100644
--- a/app/src/main/java/org/oxycblt/auxio/widgets/WidgetComponent.kt
+++ b/app/src/main/java/org/oxycblt/auxio/widgets/WidgetComponent.kt
@@ -30,14 +30,14 @@ import org.oxycblt.auxio.image.BitmapProvider
import org.oxycblt.auxio.image.ImageSettings
import org.oxycblt.auxio.image.coil.RoundedRectTransformation
import org.oxycblt.auxio.image.coil.SquareCropTransformation
-import org.oxycblt.musikr.MusicParent
-import org.oxycblt.musikr.Song
import org.oxycblt.auxio.playback.state.PlaybackStateManager
import org.oxycblt.auxio.playback.state.Progression
import org.oxycblt.auxio.playback.state.QueueChange
import org.oxycblt.auxio.playback.state.RepeatMode
import org.oxycblt.auxio.ui.UISettings
import org.oxycblt.auxio.util.getDimenPixels
+import org.oxycblt.musikr.MusicParent
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt b/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt
index 567956c15..5757976c5 100644
--- a/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt
+++ b/app/src/main/java/org/oxycblt/auxio/widgets/WidgetProvider.kt
@@ -30,12 +30,12 @@ import android.view.View
import android.widget.RemoteViews
import org.oxycblt.auxio.BuildConfig
import org.oxycblt.auxio.R
-import org.oxycblt.musikr.resolveNames
import org.oxycblt.auxio.playback.service.PlaybackActions
import org.oxycblt.auxio.playback.state.RepeatMode
import org.oxycblt.auxio.ui.UISettings
import org.oxycblt.auxio.ui.UISettingsImpl
import org.oxycblt.auxio.util.newBroadcastPendingIntent
+import org.oxycblt.musikr.resolveNames
import timber.log.Timber as L
/**
diff --git a/app/src/main/java/org/oxycblt/musikr/Indexer.kt b/app/src/main/java/org/oxycblt/musikr/Indexer.kt
index 426354602..1957eaad7 100644
--- a/app/src/main/java/org/oxycblt/musikr/Indexer.kt
+++ b/app/src/main/java/org/oxycblt/musikr/Indexer.kt
@@ -18,7 +18,6 @@
package org.oxycblt.musikr
-import android.net.Uri
import javax.inject.Inject
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.coroutineScope
@@ -35,7 +34,7 @@ import org.oxycblt.musikr.tag.Interpretation
interface Indexer {
suspend fun run(
- locations: MusicLocation,
+ locations: List,
interpretation: Interpretation,
onProgress: suspend (IndexingProgress) -> Unit = {}
): MutableLibrary
@@ -60,14 +59,14 @@ constructor(
private val evaluateStep: EvaluateStep
) : Indexer {
override suspend fun run(
- locations: MusicLocation,
+ locations: List,
interpretation: Interpretation,
onProgress: suspend (IndexingProgress) -> Unit
) = coroutineScope {
var exploredCount = 0
val explored =
exploreStep
- .explore(uris)
+ .explore(locations)
.buffer(Channel.UNLIMITED)
.onStart { onProgress(IndexingProgress.Songs(0, 0)) }
.onEach { onProgress(IndexingProgress.Songs(0, ++exploredCount)) }
diff --git a/app/src/main/java/org/oxycblt/musikr/MimeType.kt b/app/src/main/java/org/oxycblt/musikr/MimeType.kt
index 8e6dd0672..e618efbb4 100644
--- a/app/src/main/java/org/oxycblt/musikr/MimeType.kt
+++ b/app/src/main/java/org/oxycblt/musikr/MimeType.kt
@@ -1,3 +1,21 @@
+/*
+ * Copyright (c) 2024 Auxio Project
+ * MimeType.kt is part of Auxio.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package org.oxycblt.musikr
import android.content.Context
@@ -81,4 +99,4 @@ data class MimeType(val fromExtension: String, val fromFormat: String?) {
MimeTypeMap.getSingleton().getExtensionFromMimeType(fromExtension)?.uppercase()
}
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/org/oxycblt/musikr/Music.kt b/app/src/main/java/org/oxycblt/musikr/Music.kt
index effa83116..2cb54d450 100644
--- a/app/src/main/java/org/oxycblt/musikr/Music.kt
+++ b/app/src/main/java/org/oxycblt/musikr/Music.kt
@@ -29,15 +29,15 @@ import kotlinx.parcelize.IgnoredOnParcel
import kotlinx.parcelize.Parcelize
import org.oxycblt.auxio.list.Item
import org.oxycblt.auxio.music.MusicType
+import org.oxycblt.auxio.playback.replaygain.ReplayGainAdjustment
+import org.oxycblt.auxio.util.concatLocalized
+import org.oxycblt.auxio.util.toUuidOrNull
import org.oxycblt.musikr.cover.Cover
import org.oxycblt.musikr.fs.Path
import org.oxycblt.musikr.tag.Date
import org.oxycblt.musikr.tag.Disc
import org.oxycblt.musikr.tag.Name
import org.oxycblt.musikr.tag.ReleaseType
-import org.oxycblt.auxio.playback.replaygain.ReplayGainAdjustment
-import org.oxycblt.auxio.util.concatLocalized
-import org.oxycblt.auxio.util.toUuidOrNull
interface Library {
val songs: Collection
diff --git a/app/src/main/java/org/oxycblt/musikr/cover/CoverCache.kt b/app/src/main/java/org/oxycblt/musikr/cover/CoverCache.kt
index 687a952ee..709f671bb 100644
--- a/app/src/main/java/org/oxycblt/musikr/cover/CoverCache.kt
+++ b/app/src/main/java/org/oxycblt/musikr/cover/CoverCache.kt
@@ -44,8 +44,7 @@ constructor(
val id = coverIdentifier.identify(data)
coverFiles.write(id, data)
storedCoversDao.setStoredCover(
- StoredCover(uid = cover.uid, lastModified = cover.lastModified, coverId = id)
- )
+ StoredCover(uid = cover.uid, lastModified = cover.lastModified, coverId = id))
return coverFiles.read(id)
}
}
diff --git a/app/src/main/java/org/oxycblt/musikr/fs/DeviceFiles.kt b/app/src/main/java/org/oxycblt/musikr/fs/DeviceFiles.kt
index da769f7b8..076e34f74 100644
--- a/app/src/main/java/org/oxycblt/musikr/fs/DeviceFiles.kt
+++ b/app/src/main/java/org/oxycblt/musikr/fs/DeviceFiles.kt
@@ -31,8 +31,6 @@ import kotlinx.coroutines.flow.emitAll
import kotlinx.coroutines.flow.flatMapMerge
import kotlinx.coroutines.flow.flattenMerge
import kotlinx.coroutines.flow.flow
-import org.oxycblt.musikr.fs.path.DocumentPathFactory
-import timber.log.Timber
interface DeviceFiles {
fun explore(locations: Flow): Flow
@@ -47,11 +45,8 @@ data class DeviceFile(
)
@OptIn(ExperimentalCoroutinesApi::class)
-class DeviceFilesImpl
-@Inject
-constructor(
- @ApplicationContext private val context: Context
-) : DeviceFiles {
+class DeviceFilesImpl @Inject constructor(@ApplicationContext private val context: Context) :
+ DeviceFiles {
private val contentResolver = context.contentResolverSafe
override fun explore(locations: Flow): Flow =
@@ -71,8 +66,7 @@ constructor(
): Flow = flow {
contentResolver.useQuery(
DocumentsContract.buildChildDocumentsUriUsingTree(rootUri, treeDocumentId),
- PROJECTION
- ) { cursor ->
+ PROJECTION) { cursor ->
val childUriIndex =
cursor.getColumnIndexOrThrow(DocumentsContract.Document.COLUMN_DOCUMENT_ID)
val displayNameIndex =
@@ -104,8 +98,7 @@ constructor(
mimeType,
newPath,
size,
- lastModified)
- )
+ lastModified))
}
}
emitAll(recursive.asFlow().flattenMerge())
diff --git a/app/src/main/java/org/oxycblt/musikr/fs/FsModule.kt b/app/src/main/java/org/oxycblt/musikr/fs/FsModule.kt
index 5169cc847..55da22555 100644
--- a/app/src/main/java/org/oxycblt/musikr/fs/FsModule.kt
+++ b/app/src/main/java/org/oxycblt/musikr/fs/FsModule.kt
@@ -20,19 +20,12 @@ package org.oxycblt.musikr.fs
import android.content.ContentResolver
import android.content.Context
-import android.os.storage.StorageManager
import dagger.Binds
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
-import org.oxycblt.musikr.fs.path.DocumentPathFactory
-import org.oxycblt.musikr.fs.path.DocumentPathFactoryImpl
-import org.oxycblt.musikr.fs.path.MediaStorePathInterpreter
-import org.oxycblt.auxio.util.getSystemServiceCompat
-import org.oxycblt.musikr.fs.path.VolumeManager
-import org.oxycblt.musikr.fs.path.VolumeManagerImpl
@Module
@InstallIn(SingletonComponent::class)
@@ -47,5 +40,8 @@ class FsProvidesModule {
interface FsBindsModule {
@Binds fun deviceFiles(deviceFilesImpl: DeviceFilesImpl): DeviceFiles
- @Binds fun musicLocationFactory(musicLocationFactoryImpl: MusicLocationFactoryImpl): MusicLocation.Factory
+ @Binds
+ fun musicLocationFactory(
+ musicLocationFactoryImpl: MusicLocationFactoryImpl
+ ): MusicLocation.Factory
}
diff --git a/app/src/main/java/org/oxycblt/musikr/fs/MusicLocation.kt b/app/src/main/java/org/oxycblt/musikr/fs/MusicLocation.kt
index bf517179b..4c5a03e61 100644
--- a/app/src/main/java/org/oxycblt/musikr/fs/MusicLocation.kt
+++ b/app/src/main/java/org/oxycblt/musikr/fs/MusicLocation.kt
@@ -1,3 +1,21 @@
+/*
+ * Copyright (c) 2024 Auxio Project
+ * MusicLocation.kt is part of Auxio.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package org.oxycblt.musikr.fs
import android.content.Context
@@ -5,20 +23,21 @@ import android.content.Intent
import android.net.Uri
import android.provider.DocumentsContract
import dagger.hilt.android.qualifiers.ApplicationContext
-import org.oxycblt.musikr.fs.path.DocumentPathFactory
-import org.oxycblt.musikr.fs.path.VolumeManager
import javax.inject.Inject
+import org.oxycblt.musikr.fs.path.DocumentPathFactory
class MusicLocation internal constructor(val uri: Uri, val path: Path) {
override fun equals(other: Any?) =
other is MusicLocation && uri == other.uri && path == other.path
override fun hashCode() = 31 * uri.hashCode() + path.hashCode()
+
override fun toString(): String {
- val volumeId = when (path.volume) {
- is Volume.Internal -> VOLUME_INTERNAL
- is Volume.External -> path.volume.id
- }
+ val volumeId =
+ when (path.volume) {
+ is Volume.Internal -> VOLUME_INTERNAL
+ is Volume.External -> path.volume.id
+ }
return "$uri=${volumeId}:${path.components.unixString}"
}
@@ -29,32 +48,37 @@ class MusicLocation internal constructor(val uri: Uri, val path: Path) {
}
}
-class MusicLocationFactoryImpl @Inject constructor(
+class MusicLocationFactoryImpl
+@Inject
+constructor(
@ApplicationContext private val context: Context,
private val documentPathFactory: DocumentPathFactory
) : MusicLocation.Factory {
override fun new(uri: Uri): MusicLocation? {
if (!DocumentsContract.isTreeUri(uri)) return null
val path = documentPathFactory.unpackDocumentTreeUri(uri) ?: return null
- val notPersisted = context.contentResolverSafe.persistedUriPermissions
- .none { it.uri == uri && it.isReadPermission && it.isWritePermission }
+ val notPersisted =
+ context.contentResolverSafe.persistedUriPermissions.none {
+ it.uri == uri && it.isReadPermission && it.isWritePermission
+ }
if (notPersisted) {
context.contentResolverSafe.takePersistableUriPermission(
uri,
- Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION
- )
+ Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
}
return MusicLocation(uri, path)
}
override fun existing(uri: Uri): MusicLocation? {
if (!DocumentsContract.isTreeUri(uri)) return null
- val notPersisted = context.contentResolverSafe.persistedUriPermissions
- .none { it.uri == uri && it.isReadPermission && it.isWritePermission }
+ val notPersisted =
+ context.contentResolverSafe.persistedUriPermissions.none {
+ it.uri == uri && it.isReadPermission && it.isWritePermission
+ }
if (notPersisted) return null
val path = documentPathFactory.unpackDocumentTreeUri(uri) ?: return null
return MusicLocation(uri, path)
}
}
-private const val VOLUME_INTERNAL = "internal"
\ No newline at end of file
+private const val VOLUME_INTERNAL = "internal"
diff --git a/app/src/main/java/org/oxycblt/musikr/fs/Path.kt b/app/src/main/java/org/oxycblt/musikr/fs/Path.kt
index 9ad2fcf19..731ea5847 100644
--- a/app/src/main/java/org/oxycblt/musikr/fs/Path.kt
+++ b/app/src/main/java/org/oxycblt/musikr/fs/Path.kt
@@ -1,3 +1,21 @@
+/*
+ * Copyright (c) 2024 Auxio Project
+ * Path.kt is part of Auxio.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package org.oxycblt.musikr.fs
import android.content.Context
@@ -159,4 +177,4 @@ value class Components private constructor(val components: List) {
private fun String.trimSlashes() = trimStart(File.separatorChar).trimEnd(File.separatorChar)
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/org/oxycblt/musikr/fs/path/PathModule.kt b/app/src/main/java/org/oxycblt/musikr/fs/path/PathModule.kt
index 7e75dc81a..b82fc912b 100644
--- a/app/src/main/java/org/oxycblt/musikr/fs/path/PathModule.kt
+++ b/app/src/main/java/org/oxycblt/musikr/fs/path/PathModule.kt
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2024 Auxio Project
- * FsModule.kt is part of Auxio.
+ * PathModule.kt is part of Auxio.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -15,10 +15,9 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-
+
package org.oxycblt.musikr.fs.path
-import android.content.ContentResolver
import android.content.Context
import android.os.storage.StorageManager
import dagger.Binds
@@ -27,12 +26,7 @@ import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
-import org.oxycblt.musikr.fs.path.DocumentPathFactory
-import org.oxycblt.musikr.fs.path.DocumentPathFactoryImpl
-import org.oxycblt.musikr.fs.path.MediaStorePathInterpreter
import org.oxycblt.auxio.util.getSystemServiceCompat
-import org.oxycblt.musikr.fs.path.VolumeManager
-import org.oxycblt.musikr.fs.path.VolumeManagerImpl
@Module
@InstallIn(SingletonComponent::class)
diff --git a/app/src/main/java/org/oxycblt/musikr/fs/path/VolumeManager.kt b/app/src/main/java/org/oxycblt/musikr/fs/path/VolumeManager.kt
index 72c56bde7..aa5709ce1 100644
--- a/app/src/main/java/org/oxycblt/musikr/fs/path/VolumeManager.kt
+++ b/app/src/main/java/org/oxycblt/musikr/fs/path/VolumeManager.kt
@@ -1,8 +1,27 @@
+/*
+ * Copyright (c) 2024 Auxio Project
+ * VolumeManager.kt is part of Auxio.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
package org.oxycblt.musikr.fs.path
import android.content.Context
import android.os.storage.StorageManager
import android.os.storage.StorageVolume
+import javax.inject.Inject
import org.oxycblt.musikr.fs.Components
import org.oxycblt.musikr.fs.Volume
import org.oxycblt.musikr.fs.directoryCompat
@@ -11,7 +30,6 @@ import org.oxycblt.musikr.fs.isInternalCompat
import org.oxycblt.musikr.fs.mediaStoreVolumeNameCompat
import org.oxycblt.musikr.fs.storageVolumesCompat
import org.oxycblt.musikr.fs.uuidCompat
-import javax.inject.Inject
/** A wrapper around [StorageManager] that provides instances of the [Volume] interface. */
interface VolumeManager {
@@ -66,4 +84,4 @@ class VolumeManagerImpl @Inject constructor(private val storageManager: StorageM
override fun resolveName(context: Context) = storageVolume.getDescriptionCompat(context)
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/org/oxycblt/musikr/graph/MusicGraph.kt b/app/src/main/java/org/oxycblt/musikr/graph/MusicGraph.kt
index 33e1e6500..e2ba42557 100644
--- a/app/src/main/java/org/oxycblt/musikr/graph/MusicGraph.kt
+++ b/app/src/main/java/org/oxycblt/musikr/graph/MusicGraph.kt
@@ -19,12 +19,12 @@
package org.oxycblt.musikr.graph
import javax.inject.Inject
+import org.oxycblt.auxio.util.unlikelyToBeNull
import org.oxycblt.musikr.Music
import org.oxycblt.musikr.tag.interpret.PreAlbum
import org.oxycblt.musikr.tag.interpret.PreArtist
import org.oxycblt.musikr.tag.interpret.PreGenre
import org.oxycblt.musikr.tag.interpret.PreSong
-import org.oxycblt.auxio.util.unlikelyToBeNull
import timber.log.Timber as L
data class MusicGraph(
diff --git a/app/src/main/java/org/oxycblt/musikr/metadata/AudioProperties.kt b/app/src/main/java/org/oxycblt/musikr/metadata/AudioProperties.kt
index 628800a9b..a5733057d 100644
--- a/app/src/main/java/org/oxycblt/musikr/metadata/AudioProperties.kt
+++ b/app/src/main/java/org/oxycblt/musikr/metadata/AudioProperties.kt
@@ -23,8 +23,8 @@ import android.media.MediaExtractor
import android.media.MediaFormat
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
-import org.oxycblt.musikr.Song
import org.oxycblt.musikr.MimeType
+import org.oxycblt.musikr.Song
import timber.log.Timber as L
/**
@@ -119,7 +119,6 @@ constructor(@ApplicationContext private val context: Context) : AudioProperties.
return AudioProperties(
bitrate,
sampleRate,
- MimeType(fromExtension = song.mimeType.fromExtension, fromFormat = formatMimeType)
- )
+ MimeType(fromExtension = song.mimeType.fromExtension, fromFormat = formatMimeType))
}
}
diff --git a/app/src/main/java/org/oxycblt/musikr/metadata/ReusableMetadataRetriever.kt b/app/src/main/java/org/oxycblt/musikr/metadata/ReusableMetadataRetriever.kt
index bc7e1ec86..27f844156 100644
--- a/app/src/main/java/org/oxycblt/musikr/metadata/ReusableMetadataRetriever.kt
+++ b/app/src/main/java/org/oxycblt/musikr/metadata/ReusableMetadataRetriever.kt
@@ -110,8 +110,7 @@ constructor(private val mediaSourceFactory: MediaSource.Factory) :
job = MetadataJob(data, mediaSourceCaller)
mediaSourceHandler.sendEmptyMessageDelayed(
- MESSAGE_CHECK_FAILURE, /* delayMs= */ CHECK_INTERVAL_MS
- )
+ MESSAGE_CHECK_FAILURE, /* delayMs= */ CHECK_INTERVAL_MS)
return true
}
diff --git a/app/src/main/java/org/oxycblt/musikr/model/DeviceMusicImpl.kt b/app/src/main/java/org/oxycblt/musikr/model/DeviceMusicImpl.kt
index dd23495a7..e56821e1d 100644
--- a/app/src/main/java/org/oxycblt/musikr/model/DeviceMusicImpl.kt
+++ b/app/src/main/java/org/oxycblt/musikr/model/DeviceMusicImpl.kt
@@ -18,11 +18,12 @@
package org.oxycblt.musikr.model
+import org.oxycblt.auxio.music.MusicType
+import org.oxycblt.auxio.util.update
import org.oxycblt.musikr.Album
import org.oxycblt.musikr.Artist
import org.oxycblt.musikr.Genre
import org.oxycblt.musikr.Music
-import org.oxycblt.auxio.music.MusicType
import org.oxycblt.musikr.Song
import org.oxycblt.musikr.cover.Cover
import org.oxycblt.musikr.tag.Date
@@ -30,7 +31,6 @@ import org.oxycblt.musikr.tag.interpret.PreAlbum
import org.oxycblt.musikr.tag.interpret.PreArtist
import org.oxycblt.musikr.tag.interpret.PreGenre
import org.oxycblt.musikr.tag.interpret.PreSong
-import org.oxycblt.auxio.util.update
interface SongHandle {
val preSong: PreSong
diff --git a/app/src/main/java/org/oxycblt/musikr/pipeline/ExploreStep.kt b/app/src/main/java/org/oxycblt/musikr/pipeline/ExploreStep.kt
index 4b96533c4..7631a5ff9 100644
--- a/app/src/main/java/org/oxycblt/musikr/pipeline/ExploreStep.kt
+++ b/app/src/main/java/org/oxycblt/musikr/pipeline/ExploreStep.kt
@@ -18,7 +18,6 @@
package org.oxycblt.musikr.pipeline
-import android.net.Uri
import javax.inject.Inject
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
@@ -27,16 +26,17 @@ import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.mapNotNull
import org.oxycblt.musikr.fs.DeviceFile
import org.oxycblt.musikr.fs.DeviceFiles
+import org.oxycblt.musikr.fs.MusicLocation
import org.oxycblt.musikr.playlist.m3u.M3U
interface ExploreStep {
- fun explore(uris: List): Flow
+ fun explore(locations: List): Flow
}
class ExploreStepImpl @Inject constructor(private val deviceFiles: DeviceFiles) : ExploreStep {
- override fun explore(uris: List) =
+ override fun explore(locations: List) =
deviceFiles
- .explore(uris.asFlow())
+ .explore(locations.asFlow())
.mapNotNull {
when {
it.mimeType == M3U.MIME_TYPE -> null
diff --git a/app/src/main/java/org/oxycblt/musikr/playlist/m3u/M3U.kt b/app/src/main/java/org/oxycblt/musikr/playlist/m3u/M3U.kt
index c8cd12e42..c44e270e3 100644
--- a/app/src/main/java/org/oxycblt/musikr/playlist/m3u/M3U.kt
+++ b/app/src/main/java/org/oxycblt/musikr/playlist/m3u/M3U.kt
@@ -26,8 +26,8 @@ import java.io.InputStream
import java.io.InputStreamReader
import java.io.OutputStream
import javax.inject.Inject
+import org.oxycblt.auxio.util.unlikelyToBeNull
import org.oxycblt.musikr.Playlist
-import org.oxycblt.musikr.resolveNames
import org.oxycblt.musikr.fs.Components
import org.oxycblt.musikr.fs.Path
import org.oxycblt.musikr.fs.Volume
@@ -35,8 +35,8 @@ import org.oxycblt.musikr.fs.path.VolumeManager
import org.oxycblt.musikr.playlist.ExportConfig
import org.oxycblt.musikr.playlist.ImportedPlaylist
import org.oxycblt.musikr.playlist.PossiblePaths
+import org.oxycblt.musikr.resolveNames
import org.oxycblt.musikr.tag.util.correctWhitespace
-import org.oxycblt.auxio.util.unlikelyToBeNull
import timber.log.Timber as L
/**
@@ -154,8 +154,7 @@ constructor(
else ->
listOf(
InterpretedPath(Components.parseUnix(path), false),
- InterpretedPath(Components.parseWindows(path), true)
- )
+ InterpretedPath(Components.parseWindows(path), true))
}
private fun expandInterpretation(
diff --git a/app/src/main/java/org/oxycblt/musikr/tag/interpret/PreMusic.kt b/app/src/main/java/org/oxycblt/musikr/tag/interpret/PreMusic.kt
index ee4ae1a0a..5f0c486e6 100644
--- a/app/src/main/java/org/oxycblt/musikr/tag/interpret/PreMusic.kt
+++ b/app/src/main/java/org/oxycblt/musikr/tag/interpret/PreMusic.kt
@@ -20,17 +20,17 @@ package org.oxycblt.musikr.tag.interpret
import android.net.Uri
import java.util.UUID
-import org.oxycblt.musikr.Music
import org.oxycblt.auxio.music.MusicType
+import org.oxycblt.auxio.playback.replaygain.ReplayGainAdjustment
+import org.oxycblt.auxio.util.update
import org.oxycblt.musikr.MimeType
+import org.oxycblt.musikr.Music
import org.oxycblt.musikr.fs.Path
import org.oxycblt.musikr.playlist.PlaylistHandle
import org.oxycblt.musikr.tag.Date
import org.oxycblt.musikr.tag.Disc
import org.oxycblt.musikr.tag.Name
import org.oxycblt.musikr.tag.ReleaseType
-import org.oxycblt.auxio.playback.replaygain.ReplayGainAdjustment
-import org.oxycblt.auxio.util.update
data class PreSong(
val musicBrainzId: UUID?,
diff --git a/app/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt b/app/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt
index 309488ece..d280f75bb 100644
--- a/app/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt
+++ b/app/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt
@@ -20,16 +20,16 @@ package org.oxycblt.musikr.tag.interpret
import javax.inject.Inject
import org.oxycblt.auxio.R
-import org.oxycblt.musikr.fs.DeviceFile
+import org.oxycblt.auxio.playback.replaygain.ReplayGainAdjustment
+import org.oxycblt.auxio.util.toUuidOrNull
import org.oxycblt.musikr.MimeType
+import org.oxycblt.musikr.fs.DeviceFile
import org.oxycblt.musikr.tag.Disc
import org.oxycblt.musikr.tag.Interpretation
import org.oxycblt.musikr.tag.Name
import org.oxycblt.musikr.tag.ReleaseType
import org.oxycblt.musikr.tag.parse.ParsedTags
import org.oxycblt.musikr.tag.util.parseId3GenreNames
-import org.oxycblt.auxio.playback.replaygain.ReplayGainAdjustment
-import org.oxycblt.auxio.util.toUuidOrNull
interface TagInterpreter {
fun interpret(file: DeviceFile, parsedTags: ParsedTags, interpretation: Interpretation): PreSong
diff --git a/app/src/main/java/org/oxycblt/musikr/tag/parse/ExoPlayerTagFields.kt b/app/src/main/java/org/oxycblt/musikr/tag/parse/ExoPlayerTagFields.kt
index ee9a10872..3110445cf 100644
--- a/app/src/main/java/org/oxycblt/musikr/tag/parse/ExoPlayerTagFields.kt
+++ b/app/src/main/java/org/oxycblt/musikr/tag/parse/ExoPlayerTagFields.kt
@@ -19,10 +19,10 @@
package org.oxycblt.musikr.tag.parse
import androidx.core.text.isDigitsOnly
+import org.oxycblt.auxio.util.nonZeroOrNull
import org.oxycblt.musikr.tag.Date
import org.oxycblt.musikr.tag.util.parseId3v2PositionField
import org.oxycblt.musikr.tag.util.parseVorbisPositionField
-import org.oxycblt.auxio.util.nonZeroOrNull
// Song
fun ExoPlayerTags.musicBrainzId() =