all: reformat

This commit is contained in:
Alexander Capehart 2024-09-13 13:35:48 -06:00
parent a3af24688a
commit f4e1681044
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47
8 changed files with 97 additions and 53 deletions

View file

@ -38,7 +38,7 @@ import org.oxycblt.auxio.playback.service.PlaybackServiceFragment
@AndroidEntryPoint @AndroidEntryPoint
class AuxioService : class AuxioService :
MediaBrowserServiceCompat(), ForegroundListener, MusicServiceFragment.Invalidator { MediaBrowserServiceCompat(), ForegroundListener, MusicServiceFragment.Invalidator {
@Inject lateinit var playbackFragmentFactory: PlaybackServiceFragment.Factory @Inject lateinit var playbackFragmentFactory: PlaybackServiceFragment.Factory
private lateinit var playbackFragment: PlaybackServiceFragment private lateinit var playbackFragment: PlaybackServiceFragment

View file

@ -21,7 +21,6 @@ package org.oxycblt.auxio.music.service
import android.content.Context import android.content.Context
import android.os.PowerManager import android.os.PowerManager
import coil.ImageLoader import coil.ImageLoader
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
@ -36,7 +35,8 @@ import org.oxycblt.auxio.playback.state.PlaybackStateManager
import org.oxycblt.auxio.util.getSystemServiceCompat import org.oxycblt.auxio.util.getSystemServiceCompat
import org.oxycblt.auxio.util.logD import org.oxycblt.auxio.util.logD
class Indexer private constructor( class Indexer
private constructor(
override val workerContext: Context, override val workerContext: Context,
private val foregroundListener: ForegroundListener, private val foregroundListener: ForegroundListener,
private val playbackManager: PlaybackStateManager, private val playbackManager: PlaybackStateManager,
@ -49,7 +49,9 @@ class Indexer private constructor(
MusicRepository.IndexingListener, MusicRepository.IndexingListener,
MusicRepository.UpdateListener, MusicRepository.UpdateListener,
MusicSettings.Listener { MusicSettings.Listener {
class Factory @Inject constructor( class Factory
@Inject
constructor(
private val playbackManager: PlaybackStateManager, private val playbackManager: PlaybackStateManager,
private val musicRepository: MusicRepository, private val musicRepository: MusicRepository,
private val musicSettings: MusicSettings, private val musicSettings: MusicSettings,
@ -57,8 +59,14 @@ class Indexer private constructor(
private val contentObserver: SystemContentObserver private val contentObserver: SystemContentObserver
) { ) {
fun create(context: Context, listener: ForegroundListener) = fun create(context: Context, listener: ForegroundListener) =
Indexer(context, listener, playbackManager, Indexer(
musicRepository, musicSettings, imageLoader, contentObserver) context,
listener,
playbackManager,
musicRepository,
musicSettings,
imageLoader,
contentObserver)
} }
private val indexJob = Job() private val indexJob = Job()

View file

@ -20,7 +20,6 @@ package org.oxycblt.auxio.music.service
import android.content.Context import android.content.Context
import android.support.v4.media.MediaBrowserCompat.MediaItem import android.support.v4.media.MediaBrowserCompat.MediaItem
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject import javax.inject.Inject
import org.oxycblt.auxio.R import org.oxycblt.auxio.R
import org.oxycblt.auxio.home.HomeGenerator import org.oxycblt.auxio.home.HomeGenerator
@ -37,7 +36,8 @@ import org.oxycblt.auxio.music.Playlist
import org.oxycblt.auxio.music.Song import org.oxycblt.auxio.music.Song
import org.oxycblt.auxio.search.SearchEngine import org.oxycblt.auxio.search.SearchEngine
class MusicBrowser private constructor( class MusicBrowser
private constructor(
private val context: Context, private val context: Context,
private val invalidator: Invalidator, private val invalidator: Invalidator,
private val musicRepository: MusicRepository, private val musicRepository: MusicRepository,
@ -46,15 +46,24 @@ class MusicBrowser private constructor(
homeGeneratorFactory: HomeGenerator.Factory homeGeneratorFactory: HomeGenerator.Factory
) : MusicRepository.UpdateListener, HomeGenerator.Invalidator { ) : MusicRepository.UpdateListener, HomeGenerator.Invalidator {
class Factory @Inject constructor( class Factory
private val musicRepository: MusicRepository, @Inject
private val searchEngine: SearchEngine, constructor(
private val listSettings: ListSettings, private val musicRepository: MusicRepository,
private val searchEngine: SearchEngine,
private val listSettings: ListSettings,
private val homeGeneratorFactory: HomeGenerator.Factory private val homeGeneratorFactory: HomeGenerator.Factory
) { ) {
fun create(context: Context, invalidator: Invalidator): MusicBrowser = fun create(context: Context, invalidator: Invalidator): MusicBrowser =
MusicBrowser(context, invalidator, musicRepository, searchEngine, listSettings, homeGeneratorFactory) MusicBrowser(
context,
invalidator,
musicRepository,
searchEngine,
listSettings,
homeGeneratorFactory)
} }
interface Invalidator { interface Invalidator {
fun invalidateMusic(ids: Set<String>) fun invalidateMusic(ids: Set<String>)
} }

View file

@ -24,7 +24,6 @@ import android.support.v4.media.MediaBrowserCompat.MediaItem
import androidx.media.MediaBrowserServiceCompat.BrowserRoot import androidx.media.MediaBrowserServiceCompat.BrowserRoot
import androidx.media.MediaBrowserServiceCompat.Result import androidx.media.MediaBrowserServiceCompat.Result
import androidx.media.utils.MediaConstants import androidx.media.utils.MediaConstants
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
@ -51,13 +50,25 @@ constructor(
private val dispatchJob = Job() private val dispatchJob = Job()
private val dispatchScope = CoroutineScope(dispatchJob + Dispatchers.Default) private val dispatchScope = CoroutineScope(dispatchJob + Dispatchers.Default)
class Factory @Inject constructor( class Factory
@Inject
constructor(
private val indexerFactory: Indexer.Factory, private val indexerFactory: Indexer.Factory,
private val musicBrowserFactory: MusicBrowser.Factory, private val musicBrowserFactory: MusicBrowser.Factory,
private val musicRepository: MusicRepository private val musicRepository: MusicRepository
) { ) {
fun create(context: Context, foregroundListener: ForegroundListener, invalidator: Invalidator): MusicServiceFragment = fun create(
MusicServiceFragment(context, foregroundListener, invalidator, indexerFactory, musicBrowserFactory, musicRepository) context: Context,
foregroundListener: ForegroundListener,
invalidator: Invalidator
): MusicServiceFragment =
MusicServiceFragment(
context,
foregroundListener,
invalidator,
indexerFactory,
musicBrowserFactory,
musicRepository)
} }
interface Invalidator { interface Invalidator {
@ -71,9 +82,7 @@ constructor(
} }
override fun invalidateMusic(ids: Set<String>) { override fun invalidateMusic(ids: Set<String>) {
ids.forEach { mediaId -> ids.forEach { mediaId -> invalidator.invalidateMusic(mediaId) }
invalidator.invalidateMusic(mediaId)
}
} }
fun start() { fun start() {

View file

@ -44,17 +44,20 @@ import org.oxycblt.auxio.util.logD
* *
* @author Alexander Capehart (OxygenCobalt) * @author Alexander Capehart (OxygenCobalt)
*/ */
class ReplayGainAudioProcessor private constructor( class ReplayGainAudioProcessor
private constructor(
private val playbackManager: PlaybackStateManager, private val playbackManager: PlaybackStateManager,
private val playbackSettings: PlaybackSettings private val playbackSettings: PlaybackSettings
) : BaseAudioProcessor(), PlaybackStateManager.Listener, PlaybackSettings.Listener { ) : BaseAudioProcessor(), PlaybackStateManager.Listener, PlaybackSettings.Listener {
class Factory @Inject constructor( class Factory
@Inject
private val playbackManager: PlaybackStateManager, constructor(
private val playbackSettings: PlaybackSettings private val playbackManager: PlaybackStateManager,
private val playbackSettings: PlaybackSettings
) { ) {
fun create() = ReplayGainAudioProcessor(playbackManager, playbackSettings) fun create() = ReplayGainAudioProcessor(playbackManager, playbackSettings)
} }
private var volume = 1f private var volume = 1f
set(value) { set(value) {
field = value field = value

View file

@ -18,23 +18,20 @@
package org.oxycblt.auxio.playback.service package org.oxycblt.auxio.playback.service
import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.support.v4.media.session.MediaSessionCompat import android.support.v4.media.session.MediaSessionCompat
import androidx.core.content.ContextCompat
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject import javax.inject.Inject
import kotlinx.coroutines.Job import kotlinx.coroutines.Job
import org.oxycblt.auxio.ForegroundListener import org.oxycblt.auxio.ForegroundListener
import org.oxycblt.auxio.ForegroundServiceNotification import org.oxycblt.auxio.ForegroundServiceNotification
import org.oxycblt.auxio.IntegerTable import org.oxycblt.auxio.IntegerTable
import org.oxycblt.auxio.playback.PlaybackSettings
import org.oxycblt.auxio.playback.state.DeferredPlayback import org.oxycblt.auxio.playback.state.DeferredPlayback
import org.oxycblt.auxio.playback.state.PlaybackStateManager import org.oxycblt.auxio.playback.state.PlaybackStateManager
import org.oxycblt.auxio.util.logD import org.oxycblt.auxio.util.logD
import org.oxycblt.auxio.widgets.WidgetComponent import org.oxycblt.auxio.widgets.WidgetComponent
class PlaybackServiceFragment private constructor( class PlaybackServiceFragment
private constructor(
private val context: Context, private val context: Context,
private val foregroundListener: ForegroundListener, private val foregroundListener: ForegroundListener,
private val playbackManager: PlaybackStateManager, private val playbackManager: PlaybackStateManager,
@ -43,7 +40,9 @@ class PlaybackServiceFragment private constructor(
widgetComponentFactory: WidgetComponent.Factory, widgetComponentFactory: WidgetComponent.Factory,
systemReceiverFactory: SystemPlaybackReceiver.Factory, systemReceiverFactory: SystemPlaybackReceiver.Factory,
) : MediaSessionCompat.Callback(), PlaybackStateManager.Listener { ) : MediaSessionCompat.Callback(), PlaybackStateManager.Listener {
class Factory @Inject constructor( class Factory
@Inject
constructor(
private val playbackManager: PlaybackStateManager, private val playbackManager: PlaybackStateManager,
private val exoHolderFactory: ExoPlaybackStateHolder.Factory, private val exoHolderFactory: ExoPlaybackStateHolder.Factory,
private val sessionHolderFactory: MediaSessionHolder.Factory, private val sessionHolderFactory: MediaSessionHolder.Factory,
@ -51,7 +50,14 @@ class PlaybackServiceFragment private constructor(
private val systemReceiverFactory: SystemPlaybackReceiver.Factory, private val systemReceiverFactory: SystemPlaybackReceiver.Factory,
) { ) {
fun create(context: Context, foregroundListener: ForegroundListener) = fun create(context: Context, foregroundListener: ForegroundListener) =
PlaybackServiceFragment(context, foregroundListener, playbackManager, exoHolderFactory, sessionHolderFactory, widgetComponentFactory, systemReceiverFactory) PlaybackServiceFragment(
context,
foregroundListener,
playbackManager,
exoHolderFactory,
sessionHolderFactory,
widgetComponentFactory,
systemReceiverFactory)
} }
private val waitJob = Job() private val waitJob = Job()
@ -60,7 +66,8 @@ class PlaybackServiceFragment private constructor(
private val widgetComponent = widgetComponentFactory.create(context) private val widgetComponent = widgetComponentFactory.create(context)
private val systemReceiver = systemReceiverFactory.create(context) private val systemReceiver = systemReceiverFactory.create(context)
val token: MediaSessionCompat.Token get() = sessionHolder.token val token: MediaSessionCompat.Token
get() = sessionHolder.token
// --- MEDIASESSION CALLBACKS --- // --- MEDIASESSION CALLBACKS ---

View file

@ -24,32 +24,37 @@ import android.content.Intent
import android.content.IntentFilter import android.content.IntentFilter
import android.media.AudioManager import android.media.AudioManager
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import javax.inject.Inject
import org.oxycblt.auxio.playback.PlaybackSettings import org.oxycblt.auxio.playback.PlaybackSettings
import org.oxycblt.auxio.playback.state.PlaybackStateManager import org.oxycblt.auxio.playback.state.PlaybackStateManager
import org.oxycblt.auxio.util.logD import org.oxycblt.auxio.util.logD
import org.oxycblt.auxio.widgets.WidgetComponent import org.oxycblt.auxio.widgets.WidgetComponent
import org.oxycblt.auxio.widgets.WidgetProvider import org.oxycblt.auxio.widgets.WidgetProvider
import javax.inject.Inject
/** /**
* A [BroadcastReceiver] for receiving playback-specific [Intent]s from the system that require an * A [BroadcastReceiver] for receiving playback-specific [Intent]s from the system that require an
* active [IntentFilter] to be registered. * active [IntentFilter] to be registered.
*/ */
class SystemPlaybackReceiver private constructor( class SystemPlaybackReceiver
private constructor(
private val playbackManager: PlaybackStateManager, private val playbackManager: PlaybackStateManager,
private val playbackSettings: PlaybackSettings, private val playbackSettings: PlaybackSettings,
private val widgetComponent: WidgetComponent private val widgetComponent: WidgetComponent
) : BroadcastReceiver() { ) : BroadcastReceiver() {
private var initialHeadsetPlugEventHandled = false private var initialHeadsetPlugEventHandled = false
class Factory @Inject constructor( class Factory
@Inject
constructor(
private val playbackManager: PlaybackStateManager, private val playbackManager: PlaybackStateManager,
private val playbackSettings: PlaybackSettings, private val playbackSettings: PlaybackSettings,
private val widgetComponent: WidgetComponent private val widgetComponent: WidgetComponent
) { ) {
fun create(context: Context): SystemPlaybackReceiver { fun create(context: Context): SystemPlaybackReceiver {
val receiver = SystemPlaybackReceiver(playbackManager, playbackSettings, widgetComponent) val receiver =
ContextCompat.registerReceiver(context, receiver, INTENT_FILTER, ContextCompat.RECEIVER_EXPORTED) SystemPlaybackReceiver(playbackManager, playbackSettings, widgetComponent)
ContextCompat.registerReceiver(
context, receiver, INTENT_FILTER, ContextCompat.RECEIVER_EXPORTED)
return receiver return receiver
} }
} }
@ -131,16 +136,16 @@ class SystemPlaybackReceiver private constructor(
} }
private companion object { private companion object {
val INTENT_FILTER = val INTENT_FILTER =
IntentFilter().apply { IntentFilter().apply {
addAction(AudioManager.ACTION_AUDIO_BECOMING_NOISY) addAction(AudioManager.ACTION_AUDIO_BECOMING_NOISY)
addAction(AudioManager.ACTION_HEADSET_PLUG) addAction(AudioManager.ACTION_HEADSET_PLUG)
addAction(PlaybackActions.ACTION_INC_REPEAT_MODE) addAction(PlaybackActions.ACTION_INC_REPEAT_MODE)
addAction(PlaybackActions.ACTION_INVERT_SHUFFLE) addAction(PlaybackActions.ACTION_INVERT_SHUFFLE)
addAction(PlaybackActions.ACTION_SKIP_PREV) addAction(PlaybackActions.ACTION_SKIP_PREV)
addAction(PlaybackActions.ACTION_PLAY_PAUSE) addAction(PlaybackActions.ACTION_PLAY_PAUSE)
addAction(PlaybackActions.ACTION_SKIP_NEXT) addAction(PlaybackActions.ACTION_SKIP_NEXT)
addAction(WidgetProvider.ACTION_WIDGET_UPDATE) addAction(WidgetProvider.ACTION_WIDGET_UPDATE)
} }
} }
} }

View file

@ -23,7 +23,6 @@ import android.graphics.Bitmap
import android.os.Build import android.os.Build
import coil.request.ImageRequest import coil.request.ImageRequest
import coil.size.Size import coil.size.Size
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject import javax.inject.Inject
import org.oxycblt.auxio.R import org.oxycblt.auxio.R
import org.oxycblt.auxio.image.BitmapProvider import org.oxycblt.auxio.image.BitmapProvider
@ -46,20 +45,24 @@ import org.oxycblt.auxio.util.logD
* *
* @author Alexander Capehart (OxygenCobalt) * @author Alexander Capehart (OxygenCobalt)
*/ */
class WidgetComponent private constructor( class WidgetComponent
private constructor(
private val context: Context, private val context: Context,
private val imageSettings: ImageSettings, private val imageSettings: ImageSettings,
private val bitmapProvider: BitmapProvider, private val bitmapProvider: BitmapProvider,
private val playbackManager: PlaybackStateManager, private val playbackManager: PlaybackStateManager,
private val uiSettings: UISettings private val uiSettings: UISettings
) : PlaybackStateManager.Listener, UISettings.Listener, ImageSettings.Listener { ) : PlaybackStateManager.Listener, UISettings.Listener, ImageSettings.Listener {
class Factory @Inject constructor( class Factory
@Inject
constructor(
private val imageSettings: ImageSettings, private val imageSettings: ImageSettings,
private val bitmapProvider: BitmapProvider, private val bitmapProvider: BitmapProvider,
private val playbackManager: PlaybackStateManager, private val playbackManager: PlaybackStateManager,
private val uiSettings: UISettings private val uiSettings: UISettings
) { ) {
fun create(context: Context) = WidgetComponent(context, imageSettings, bitmapProvider, playbackManager, uiSettings) fun create(context: Context) =
WidgetComponent(context, imageSettings, bitmapProvider, playbackManager, uiSettings)
} }
private val widgetProvider = WidgetProvider() private val widgetProvider = WidgetProvider()