From 49aa3c2891060af82f0a807c596d1df470494fde Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Sat, 30 Nov 2024 17:26:37 -0700 Subject: [PATCH] music: collapse external into musikr --- .../auxio/detail/PlaylistDetailFragment.kt | 2 +- .../java/org/oxycblt/auxio/home/HomeFragment.kt | 2 +- .../org/oxycblt/auxio/music/MusicViewModel.kt | 4 ++-- .../auxio/music/decision/ExportPlaylistDialog.kt | 4 ++-- .../music/decision/PlaylistPickerViewModel.kt | 2 +- .../playlist}/ExternalPlaylistManager.kt | 6 ++++-- .../playlist/PlaylistModule.kt} | 8 ++++---- .../external => musikr/playlist/m3u}/M3U.kt | 8 ++++++-- .../auxio/musikr/playlist/m3u/M3UModule.kt | 16 ++++++++++++++++ .../org/oxycblt/auxio/search/SearchFragment.kt | 2 +- 10 files changed, 38 insertions(+), 16 deletions(-) rename app/src/main/java/org/oxycblt/auxio/{music/external => musikr/playlist}/ExternalPlaylistManager.kt (96%) rename app/src/main/java/org/oxycblt/auxio/{music/external/ExternalModule.kt => musikr/playlist/PlaylistModule.kt} (85%) rename app/src/main/java/org/oxycblt/auxio/{music/external => musikr/playlist/m3u}/M3U.kt (98%) create mode 100644 app/src/main/java/org/oxycblt/auxio/musikr/playlist/m3u/M3UModule.kt 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 f396909d7..8bcb64605 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt @@ -41,7 +41,7 @@ import org.oxycblt.auxio.music.Playlist import org.oxycblt.auxio.music.PlaylistDecision import org.oxycblt.auxio.music.PlaylistMessage import org.oxycblt.auxio.music.Song -import org.oxycblt.auxio.music.external.M3U +import org.oxycblt.auxio.musikr.playlist.m3u.M3U import org.oxycblt.auxio.playback.PlaybackDecision import org.oxycblt.auxio.playback.formatDurationMs import org.oxycblt.auxio.ui.DialogAwareNavigationListener 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 de34e5f7f..0ddfc80a3 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt @@ -65,7 +65,7 @@ import org.oxycblt.auxio.music.MusicViewModel import org.oxycblt.auxio.music.Playlist import org.oxycblt.auxio.music.PlaylistDecision import org.oxycblt.auxio.music.PlaylistMessage -import org.oxycblt.auxio.music.external.M3U +import org.oxycblt.auxio.musikr.playlist.m3u.M3U import org.oxycblt.auxio.musikr.IndexingProgress import org.oxycblt.auxio.playback.PlaybackDecision import org.oxycblt.auxio.playback.PlaybackViewModel 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 177c1151e..2796cbaf9 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,8 @@ import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch import org.oxycblt.auxio.R import org.oxycblt.auxio.list.ListSettings -import org.oxycblt.auxio.music.external.ExportConfig -import org.oxycblt.auxio.music.external.ExternalPlaylistManager +import org.oxycblt.auxio.musikr.playlist.ExportConfig +import org.oxycblt.auxio.musikr.playlist.ExternalPlaylistManager 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/music/decision/ExportPlaylistDialog.kt b/app/src/main/java/org/oxycblt/auxio/music/decision/ExportPlaylistDialog.kt index 3fe140aed..2b10abb82 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 @@ -32,8 +32,8 @@ import org.oxycblt.auxio.R import org.oxycblt.auxio.databinding.DialogPlaylistExportBinding import org.oxycblt.auxio.music.MusicViewModel import org.oxycblt.auxio.music.Playlist -import org.oxycblt.auxio.music.external.ExportConfig -import org.oxycblt.auxio.music.external.M3U +import org.oxycblt.auxio.musikr.playlist.ExportConfig +import org.oxycblt.auxio.musikr.playlist.m3u.M3U import org.oxycblt.auxio.ui.ViewBindingMaterialDialogFragment import org.oxycblt.auxio.util.collectImmediately import org.oxycblt.auxio.util.unlikelyToBeNull 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 be6ef5c00..6ae62d019 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 @@ -32,7 +32,7 @@ import org.oxycblt.auxio.music.MusicRepository import org.oxycblt.auxio.music.Playlist import org.oxycblt.auxio.music.PlaylistDecision import org.oxycblt.auxio.music.Song -import org.oxycblt.auxio.music.external.ExportConfig +import org.oxycblt.auxio.musikr.playlist.ExportConfig import timber.log.Timber as L /** diff --git a/app/src/main/java/org/oxycblt/auxio/music/external/ExternalPlaylistManager.kt b/app/src/main/java/org/oxycblt/auxio/musikr/playlist/ExternalPlaylistManager.kt similarity index 96% rename from app/src/main/java/org/oxycblt/auxio/music/external/ExternalPlaylistManager.kt rename to app/src/main/java/org/oxycblt/auxio/musikr/playlist/ExternalPlaylistManager.kt index c071af76f..0e70767ad 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/external/ExternalPlaylistManager.kt +++ b/app/src/main/java/org/oxycblt/auxio/musikr/playlist/ExternalPlaylistManager.kt @@ -16,13 +16,14 @@ * along with this program. If not, see . */ -package org.oxycblt.auxio.music.external +package org.oxycblt.auxio.musikr.playlist import android.content.Context import android.net.Uri import dagger.hilt.android.qualifiers.ApplicationContext import javax.inject.Inject import org.oxycblt.auxio.music.Playlist +import org.oxycblt.auxio.musikr.playlist.m3u.M3U import org.oxycblt.auxio.musikr.fs.Components import org.oxycblt.auxio.musikr.fs.DocumentPathFactory import org.oxycblt.auxio.musikr.fs.Path @@ -38,7 +39,8 @@ import timber.log.Timber as L */ interface ExternalPlaylistManager { /** - * Import the playlist file at the given [uri]. + * Import the playli L.d("Unable to extract bit rate field") +st file at the given [uri]. * * @param uri The [Uri] of the playlist file to import. * @return An [ImportedPlaylist] containing the paths to the files listed in the playlist file, diff --git a/app/src/main/java/org/oxycblt/auxio/music/external/ExternalModule.kt b/app/src/main/java/org/oxycblt/auxio/musikr/playlist/PlaylistModule.kt similarity index 85% rename from app/src/main/java/org/oxycblt/auxio/music/external/ExternalModule.kt rename to app/src/main/java/org/oxycblt/auxio/musikr/playlist/PlaylistModule.kt index af29c3620..1f2795bdb 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/external/ExternalModule.kt +++ b/app/src/main/java/org/oxycblt/auxio/musikr/playlist/PlaylistModule.kt @@ -16,20 +16,20 @@ * along with this program. If not, see . */ -package org.oxycblt.auxio.music.external +package org.oxycblt.auxio.musikr.playlist import dagger.Binds import dagger.Module import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent +import org.oxycblt.auxio.musikr.playlist.m3u.M3U +import org.oxycblt.auxio.musikr.playlist.m3u.M3UImpl @Module @InstallIn(SingletonComponent::class) -interface ExternalModule { +interface PlaylistModule { @Binds fun externalPlaylistManager( externalPlaylistManager: ExternalPlaylistManagerImpl ): ExternalPlaylistManager - - @Binds fun m3u(m3u: M3UImpl): M3U } diff --git a/app/src/main/java/org/oxycblt/auxio/music/external/M3U.kt b/app/src/main/java/org/oxycblt/auxio/musikr/playlist/m3u/M3U.kt similarity index 98% rename from app/src/main/java/org/oxycblt/auxio/music/external/M3U.kt rename to app/src/main/java/org/oxycblt/auxio/musikr/playlist/m3u/M3U.kt index 0d6efb0a7..d282ff227 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/external/M3U.kt +++ b/app/src/main/java/org/oxycblt/auxio/musikr/playlist/m3u/M3U.kt @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package org.oxycblt.auxio.music.external +package org.oxycblt.auxio.musikr.playlist.m3u import android.content.Context import dagger.hilt.android.qualifiers.ApplicationContext @@ -33,6 +33,9 @@ import org.oxycblt.auxio.musikr.fs.Components import org.oxycblt.auxio.musikr.fs.Path import org.oxycblt.auxio.musikr.fs.Volume import org.oxycblt.auxio.musikr.fs.VolumeManager +import org.oxycblt.auxio.musikr.playlist.ExportConfig +import org.oxycblt.auxio.musikr.playlist.ImportedPlaylist +import org.oxycblt.auxio.musikr.playlist.PossiblePaths import org.oxycblt.auxio.util.unlikelyToBeNull import timber.log.Timber as L @@ -151,7 +154,8 @@ 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/auxio/musikr/playlist/m3u/M3UModule.kt b/app/src/main/java/org/oxycblt/auxio/musikr/playlist/m3u/M3UModule.kt new file mode 100644 index 000000000..ae5c455c9 --- /dev/null +++ b/app/src/main/java/org/oxycblt/auxio/musikr/playlist/m3u/M3UModule.kt @@ -0,0 +1,16 @@ +package org.oxycblt.auxio.musikr.playlist.m3u + +import dagger.Binds +import dagger.Module +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import org.oxycblt.auxio.musikr.playlist.ExternalPlaylistManager +import org.oxycblt.auxio.musikr.playlist.ExternalPlaylistManagerImpl +import org.oxycblt.auxio.musikr.playlist.m3u.M3U +import org.oxycblt.auxio.musikr.playlist.m3u.M3UImpl + +@Module +@InstallIn(SingletonComponent::class) +interface PlaylistModule { + @Binds fun m3u(m3u: M3UImpl): M3U +} 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 b9515b4db..761164298 100644 --- a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt @@ -54,7 +54,7 @@ import org.oxycblt.auxio.music.Playlist import org.oxycblt.auxio.music.PlaylistDecision import org.oxycblt.auxio.music.PlaylistMessage import org.oxycblt.auxio.music.Song -import org.oxycblt.auxio.music.external.M3U +import org.oxycblt.auxio.musikr.playlist.m3u.M3U import org.oxycblt.auxio.playback.PlaybackDecision import org.oxycblt.auxio.playback.PlaybackViewModel import org.oxycblt.auxio.util.collect