Moves playback services to a package

This commit is contained in:
Vitor Pamplona 2023-10-17 15:23:43 -04:00
parent 4ab04477f8
commit 404e6cd862
9 changed files with 16 additions and 10 deletions

View File

@ -108,7 +108,7 @@
tools:replace="screenOrientation" />
<service
android:name=".PlaybackService"
android:name=".service.playback.PlaybackService"
android:foregroundServiceType="mediaPlayback"
android:stopWithTask="true"
android:exported="true">

View File

@ -4,6 +4,7 @@ import android.app.Application
import android.os.StrictMode
import android.os.StrictMode.ThreadPolicy
import android.os.StrictMode.VmPolicy
import com.vitorpamplona.amethyst.service.playback.VideoCache
class Amethyst : Application() {
@androidx.annotation.OptIn(androidx.media3.common.util.UnstableApi::class)

View File

@ -87,6 +87,7 @@ object LocalPreferences {
private const val comma = ","
private var _currentAccount: String? = null
private var _savedAccounts: List<String>? = null
fun currentAccount(): String? {
if (_currentAccount == null) {
@ -105,8 +106,6 @@ object LocalPreferences {
}
}
private var _savedAccounts: List<String>? = null
private fun savedAccounts(): List<String> {
if (_savedAccounts == null) {
_savedAccounts = encryptedPreferences()

View File

@ -1,4 +1,4 @@
package com.vitorpamplona.amethyst
package com.vitorpamplona.amethyst.service.playback
import android.app.PendingIntent
import android.content.Context

View File

@ -1,4 +1,4 @@
package com.vitorpamplona.amethyst
package com.vitorpamplona.amethyst.service.playback
import android.content.ComponentName
import android.content.Context

View File

@ -1,4 +1,4 @@
package com.vitorpamplona.amethyst
package com.vitorpamplona.amethyst.service.playback
import androidx.annotation.OptIn
import androidx.media3.common.util.UnstableApi
@ -8,6 +8,7 @@ import androidx.media3.exoplayer.source.MediaSource
import androidx.media3.exoplayer.source.ProgressiveMediaSource
import androidx.media3.session.MediaSession
import androidx.media3.session.MediaSessionService
import com.vitorpamplona.amethyst.Amethyst
import com.vitorpamplona.amethyst.service.HttpClient
@UnstableApi // Extend MediaSessionService
@ -23,7 +24,12 @@ class PlaybackService : MediaSessionService() {
}
fun newProgressiveDataSource(): MediaSource.Factory {
return ProgressiveMediaSource.Factory(VideoCache.get(Amethyst.instance, HttpClient.getHttpClient()))
return ProgressiveMediaSource.Factory(
VideoCache.get(
Amethyst.instance,
HttpClient.getHttpClient()
)
)
}
fun lazyHlsDS(): MultiPlayerPlaybackManager {

View File

@ -1,4 +1,4 @@
package com.vitorpamplona.amethyst
package com.vitorpamplona.amethyst.service.playback
import android.content.Context
import androidx.media3.common.util.UnstableApi

View File

@ -1,4 +1,4 @@
package com.vitorpamplona.amethyst
package com.vitorpamplona.amethyst.service.playback
import android.util.LruCache

View File

@ -63,9 +63,9 @@ import androidx.media3.session.MediaController
import androidx.media3.ui.AspectRatioFrameLayout
import androidx.media3.ui.PlayerView
import com.linc.audiowaveform.infiniteLinearGradient
import com.vitorpamplona.amethyst.PlaybackClientController
import com.vitorpamplona.amethyst.model.ConnectivityType
import com.vitorpamplona.amethyst.service.connectivitystatus.ConnectivityStatus
import com.vitorpamplona.amethyst.service.playback.PlaybackClientController
import com.vitorpamplona.amethyst.ui.note.LyricsIcon
import com.vitorpamplona.amethyst.ui.note.LyricsOffIcon
import com.vitorpamplona.amethyst.ui.note.MuteIcon