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.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

View file

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

View file

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

View file

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

View file

@ -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
/**

View file

@ -16,13 +16,14 @@
* 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.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,

View file

@ -16,20 +16,20 @@
* 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.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
}

View file

@ -16,7 +16,7 @@
* 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 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(

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.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