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" /> tools:replace="screenOrientation" />
<service <service
android:name=".PlaybackService" android:name=".service.playback.PlaybackService"
android:foregroundServiceType="mediaPlayback" android:foregroundServiceType="mediaPlayback"
android:stopWithTask="true" android:stopWithTask="true"
android:exported="true"> android:exported="true">

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
package com.vitorpamplona.amethyst package com.vitorpamplona.amethyst.service.playback
import android.app.PendingIntent import android.app.PendingIntent
import android.content.Context 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.ComponentName
import android.content.Context 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.annotation.OptIn
import androidx.media3.common.util.UnstableApi 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.exoplayer.source.ProgressiveMediaSource
import androidx.media3.session.MediaSession import androidx.media3.session.MediaSession
import androidx.media3.session.MediaSessionService import androidx.media3.session.MediaSessionService
import com.vitorpamplona.amethyst.Amethyst
import com.vitorpamplona.amethyst.service.HttpClient import com.vitorpamplona.amethyst.service.HttpClient
@UnstableApi // Extend MediaSessionService @UnstableApi // Extend MediaSessionService
@@ -23,7 +24,12 @@ class PlaybackService : MediaSessionService() {
} }
fun newProgressiveDataSource(): MediaSource.Factory { 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 { fun lazyHlsDS(): MultiPlayerPlaybackManager {

View File

@@ -1,4 +1,4 @@
package com.vitorpamplona.amethyst package com.vitorpamplona.amethyst.service.playback
import android.content.Context import android.content.Context
import androidx.media3.common.util.UnstableApi 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 import android.util.LruCache

View File

@@ -63,9 +63,9 @@ import androidx.media3.session.MediaController
import androidx.media3.ui.AspectRatioFrameLayout import androidx.media3.ui.AspectRatioFrameLayout
import androidx.media3.ui.PlayerView import androidx.media3.ui.PlayerView
import com.linc.audiowaveform.infiniteLinearGradient import com.linc.audiowaveform.infiniteLinearGradient
import com.vitorpamplona.amethyst.PlaybackClientController
import com.vitorpamplona.amethyst.model.ConnectivityType import com.vitorpamplona.amethyst.model.ConnectivityType
import com.vitorpamplona.amethyst.service.connectivitystatus.ConnectivityStatus 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.LyricsIcon
import com.vitorpamplona.amethyst.ui.note.LyricsOffIcon import com.vitorpamplona.amethyst.ui.note.LyricsOffIcon
import com.vitorpamplona.amethyst.ui.note.MuteIcon import com.vitorpamplona.amethyst.ui.note.MuteIcon