music: collapse external into musikr

This commit is contained in:
Alexander Capehart 2024-11-30 17:26:37 -07:00
parent 43c05e7096
commit 49aa3c2891
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47
10 changed files with 38 additions and 16 deletions

View file

@ -41,7 +41,7 @@ import org.oxycblt.auxio.music.Playlist
import org.oxycblt.auxio.music.PlaylistDecision import org.oxycblt.auxio.music.PlaylistDecision
import org.oxycblt.auxio.music.PlaylistMessage import org.oxycblt.auxio.music.PlaylistMessage
import org.oxycblt.auxio.music.Song 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.PlaybackDecision
import org.oxycblt.auxio.playback.formatDurationMs import org.oxycblt.auxio.playback.formatDurationMs
import org.oxycblt.auxio.ui.DialogAwareNavigationListener import org.oxycblt.auxio.ui.DialogAwareNavigationListener

View file

@ -65,7 +65,7 @@ import org.oxycblt.auxio.music.MusicViewModel
import org.oxycblt.auxio.music.Playlist import org.oxycblt.auxio.music.Playlist
import org.oxycblt.auxio.music.PlaylistDecision import org.oxycblt.auxio.music.PlaylistDecision
import org.oxycblt.auxio.music.PlaylistMessage 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.musikr.IndexingProgress
import org.oxycblt.auxio.playback.PlaybackDecision import org.oxycblt.auxio.playback.PlaybackDecision
import org.oxycblt.auxio.playback.PlaybackViewModel import org.oxycblt.auxio.playback.PlaybackViewModel

View file

@ -29,8 +29,8 @@ import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import org.oxycblt.auxio.R import org.oxycblt.auxio.R
import org.oxycblt.auxio.list.ListSettings import org.oxycblt.auxio.list.ListSettings
import org.oxycblt.auxio.music.external.ExportConfig import org.oxycblt.auxio.musikr.playlist.ExportConfig
import org.oxycblt.auxio.music.external.ExternalPlaylistManager import org.oxycblt.auxio.musikr.playlist.ExternalPlaylistManager
import org.oxycblt.auxio.util.Event import org.oxycblt.auxio.util.Event
import org.oxycblt.auxio.util.MutableEvent import org.oxycblt.auxio.util.MutableEvent
import timber.log.Timber as L import timber.log.Timber as L

View file

@ -32,8 +32,8 @@ import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.DialogPlaylistExportBinding import org.oxycblt.auxio.databinding.DialogPlaylistExportBinding
import org.oxycblt.auxio.music.MusicViewModel import org.oxycblt.auxio.music.MusicViewModel
import org.oxycblt.auxio.music.Playlist import org.oxycblt.auxio.music.Playlist
import org.oxycblt.auxio.music.external.ExportConfig import org.oxycblt.auxio.musikr.playlist.ExportConfig
import org.oxycblt.auxio.music.external.M3U import org.oxycblt.auxio.musikr.playlist.m3u.M3U
import org.oxycblt.auxio.ui.ViewBindingMaterialDialogFragment import org.oxycblt.auxio.ui.ViewBindingMaterialDialogFragment
import org.oxycblt.auxio.util.collectImmediately import org.oxycblt.auxio.util.collectImmediately
import org.oxycblt.auxio.util.unlikelyToBeNull import org.oxycblt.auxio.util.unlikelyToBeNull

View file

@ -32,7 +32,7 @@ import org.oxycblt.auxio.music.MusicRepository
import org.oxycblt.auxio.music.Playlist import org.oxycblt.auxio.music.Playlist
import org.oxycblt.auxio.music.PlaylistDecision import org.oxycblt.auxio.music.PlaylistDecision
import org.oxycblt.auxio.music.Song 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 import timber.log.Timber as L
/** /**

View file

@ -16,13 +16,14 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package org.oxycblt.auxio.music.external package org.oxycblt.auxio.musikr.playlist
import android.content.Context import android.content.Context
import android.net.Uri import android.net.Uri
import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject import javax.inject.Inject
import org.oxycblt.auxio.music.Playlist 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.Components
import org.oxycblt.auxio.musikr.fs.DocumentPathFactory import org.oxycblt.auxio.musikr.fs.DocumentPathFactory
import org.oxycblt.auxio.musikr.fs.Path import org.oxycblt.auxio.musikr.fs.Path
@ -38,7 +39,8 @@ import timber.log.Timber as L
*/ */
interface ExternalPlaylistManager { 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. * @param uri The [Uri] of the playlist file to import.
* @return An [ImportedPlaylist] containing the paths to the files listed in the playlist file, * @return An [ImportedPlaylist] containing the paths to the files listed in the playlist file,

View file

@ -16,20 +16,20 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package org.oxycblt.auxio.music.external package org.oxycblt.auxio.musikr.playlist
import dagger.Binds import dagger.Binds
import dagger.Module import dagger.Module
import dagger.hilt.InstallIn import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent import dagger.hilt.components.SingletonComponent
import org.oxycblt.auxio.musikr.playlist.m3u.M3U
import org.oxycblt.auxio.musikr.playlist.m3u.M3UImpl
@Module @Module
@InstallIn(SingletonComponent::class) @InstallIn(SingletonComponent::class)
interface ExternalModule { interface PlaylistModule {
@Binds @Binds
fun externalPlaylistManager( fun externalPlaylistManager(
externalPlaylistManager: ExternalPlaylistManagerImpl externalPlaylistManager: ExternalPlaylistManagerImpl
): ExternalPlaylistManager ): ExternalPlaylistManager
@Binds fun m3u(m3u: M3UImpl): M3U
} }

View file

@ -16,7 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package org.oxycblt.auxio.music.external package org.oxycblt.auxio.musikr.playlist.m3u
import android.content.Context import android.content.Context
import dagger.hilt.android.qualifiers.ApplicationContext 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.Path
import org.oxycblt.auxio.musikr.fs.Volume import org.oxycblt.auxio.musikr.fs.Volume
import org.oxycblt.auxio.musikr.fs.VolumeManager 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 org.oxycblt.auxio.util.unlikelyToBeNull
import timber.log.Timber as L import timber.log.Timber as L
@ -151,7 +154,8 @@ constructor(
else -> else ->
listOf( listOf(
InterpretedPath(Components.parseUnix(path), false), InterpretedPath(Components.parseUnix(path), false),
InterpretedPath(Components.parseWindows(path), true)) InterpretedPath(Components.parseWindows(path), true)
)
} }
private fun expandInterpretation( private fun expandInterpretation(

View file

@ -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
}

View file

@ -54,7 +54,7 @@ import org.oxycblt.auxio.music.Playlist
import org.oxycblt.auxio.music.PlaylistDecision import org.oxycblt.auxio.music.PlaylistDecision
import org.oxycblt.auxio.music.PlaylistMessage import org.oxycblt.auxio.music.PlaylistMessage
import org.oxycblt.auxio.music.Song 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.PlaybackDecision
import org.oxycblt.auxio.playback.PlaybackViewModel import org.oxycblt.auxio.playback.PlaybackViewModel
import org.oxycblt.auxio.util.collect import org.oxycblt.auxio.util.collect