From dbdce7bcab735a353ad1a7a88062b95f1d75f155 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Sun, 12 Feb 2023 22:41:48 +0100 Subject: [PATCH] Rename MusicRepository -> MusicService --- .../widgets/clock/parts/MusicPartProvider.kt | 30 +++++++++---------- .../launcher/widgets/music/MusicWidgetVM.kt | 26 ++++++++-------- .../MusicWidgetSettingsScreenVM.kt | 6 ++-- .../java/de/mm20/launcher2/music/Module.kt | 2 +- .../{MusicRepository.kt => MusicService.kt} | 6 ++-- 5 files changed, 35 insertions(+), 35 deletions(-) rename services/music/src/main/java/de/mm20/launcher2/music/{MusicRepository.kt => MusicService.kt} (99%) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/parts/MusicPartProvider.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/parts/MusicPartProvider.kt index 1b3acaba..023dfb60 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/parts/MusicPartProvider.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/clock/parts/MusicPartProvider.kt @@ -27,7 +27,7 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import de.mm20.launcher2.music.MusicRepository +import de.mm20.launcher2.music.MusicService import de.mm20.launcher2.music.PlaybackState import de.mm20.launcher2.preferences.Settings.ClockWidgetSettings.ClockWidgetLayout import de.mm20.launcher2.ui.R @@ -39,10 +39,10 @@ import org.koin.core.component.inject class MusicPartProvider : PartProvider, KoinComponent { - private val musicRepository: MusicRepository by inject() + private val musicService: MusicService by inject() override fun getRanking(context: Context): Flow = channelFlow { - musicRepository.playbackState.collectLatest { + musicService.playbackState.collectLatest { if (it == PlaybackState.Stopped) send(0) else send(50) } @@ -52,9 +52,9 @@ class MusicPartProvider : PartProvider, KoinComponent { override fun Component(layout: ClockWidgetLayout) { val context = LocalContext.current - val title by musicRepository.title.collectAsState(null) - val artist by musicRepository.artist.collectAsState(null) - val state by musicRepository.playbackState.collectAsState(PlaybackState.Stopped) + val title by musicService.title.collectAsState(null) + val artist by musicService.artist.collectAsState(null) + val state by musicService.playbackState.collectAsState(PlaybackState.Stopped) val playIcon = AnimatedImageVector.animatedVectorResource(R.drawable.anim_ic_play_pause) @@ -69,12 +69,12 @@ class MusicPartProvider : PartProvider, KoinComponent { .combinedClickable( onClick = { try { - musicRepository.openPlayer()?.send() + musicService.openPlayer()?.send() } catch (e: PendingIntent.CanceledException) { } }, onLongClick = { - musicRepository.openPlayerChooser(context) + musicService.openPlayerChooser(context) } ) ) { @@ -95,7 +95,7 @@ class MusicPartProvider : PartProvider, KoinComponent { ) } } - IconButton(onClick = { musicRepository.togglePause() }) { + IconButton(onClick = { musicService.togglePause() }) { Icon( painter = rememberAnimatedVectorPainter( animatedImageVector = playIcon, @@ -103,7 +103,7 @@ class MusicPartProvider : PartProvider, KoinComponent { ), contentDescription = null ) } - IconButton(onClick = { musicRepository.next() }) { + IconButton(onClick = { musicService.next() }) { Icon( imageVector = Icons.Rounded.SkipNext, contentDescription = null @@ -121,12 +121,12 @@ class MusicPartProvider : PartProvider, KoinComponent { .combinedClickable( onClick = { try { - musicRepository.openPlayer()?.send() + musicService.openPlayer()?.send() } catch (e: PendingIntent.CanceledException) { } }, onLongClick = { - musicRepository.openPlayerChooser(context) + musicService.openPlayerChooser(context) } ), horizontalAlignment = Alignment.CenterHorizontally @@ -151,13 +151,13 @@ class MusicPartProvider : PartProvider, KoinComponent { } } Row { - IconButton(onClick = { musicRepository.previous() }) { + IconButton(onClick = { musicService.previous() }) { Icon( imageVector = Icons.Rounded.SkipPrevious, contentDescription = null ) } - IconButton(onClick = { musicRepository.togglePause() }) { + IconButton(onClick = { musicService.togglePause() }) { Icon( painter = rememberAnimatedVectorPainter( animatedImageVector = playIcon, @@ -165,7 +165,7 @@ class MusicPartProvider : PartProvider, KoinComponent { ), contentDescription = null ) } - IconButton(onClick = { musicRepository.next() }) { + IconButton(onClick = { musicService.next() }) { Icon( imageVector = Icons.Rounded.SkipNext, contentDescription = null diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/music/MusicWidgetVM.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/music/MusicWidgetVM.kt index 7ea2bdc9..0f10857a 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/music/MusicWidgetVM.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/music/MusicWidgetVM.kt @@ -8,7 +8,7 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.asLiveData import de.mm20.launcher2.crashreporter.CrashReporter -import de.mm20.launcher2.music.MusicRepository +import de.mm20.launcher2.music.MusicService import de.mm20.launcher2.music.PlaybackState import de.mm20.launcher2.permissions.PermissionGroup import de.mm20.launcher2.permissions.PermissionsManager @@ -16,42 +16,42 @@ import org.koin.core.component.KoinComponent import org.koin.core.component.inject class MusicWidgetVM: ViewModel(), KoinComponent { - private val musicRepository: MusicRepository by inject() + private val musicService: MusicService by inject() private val permissionsManager: PermissionsManager by inject() - val title: LiveData = musicRepository.title.asLiveData() - val artist: LiveData = musicRepository.artist.asLiveData() - val album: LiveData = musicRepository.album.asLiveData() - val albumArt: LiveData = musicRepository.albumArt.asLiveData() - val playbackState: LiveData = musicRepository.playbackState.asLiveData() + val title: LiveData = musicService.title.asLiveData() + val artist: LiveData = musicService.artist.asLiveData() + val album: LiveData = musicService.album.asLiveData() + val albumArt: LiveData = musicService.albumArt.asLiveData() + val playbackState: LiveData = musicService.playbackState.asLiveData() val hasPermission = permissionsManager.hasPermission(PermissionGroup.Notifications).asLiveData() val currentPlayerPackage - get() = musicRepository.lastPlayerPackage + get() = musicService.lastPlayerPackage fun skipPrevious() { - musicRepository.previous() + musicService.previous() } fun skipNext() { - musicRepository.next() + musicService.next() } fun togglePause() { - musicRepository.togglePause() + musicService.togglePause() } fun openPlayer() { try { - musicRepository.openPlayer()?.send() + musicService.openPlayer()?.send() } catch (e: PendingIntent.CanceledException) { CrashReporter.logException(e) } } fun openPlayerSelector(context: Context) { - musicRepository.openPlayerChooser(context) + musicService.openPlayerChooser(context) } fun requestPermission(context: AppCompatActivity) { diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/musicwidget/MusicWidgetSettingsScreenVM.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/musicwidget/MusicWidgetSettingsScreenVM.kt index 3e1c0483..6fe60242 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/musicwidget/MusicWidgetSettingsScreenVM.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/musicwidget/MusicWidgetSettingsScreenVM.kt @@ -4,7 +4,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.ViewModel import androidx.lifecycle.asLiveData import androidx.lifecycle.viewModelScope -import de.mm20.launcher2.music.MusicRepository +import de.mm20.launcher2.music.MusicService import de.mm20.launcher2.permissions.PermissionGroup import de.mm20.launcher2.permissions.PermissionsManager import de.mm20.launcher2.preferences.LauncherDataStore @@ -15,7 +15,7 @@ import org.koin.core.component.inject class MusicWidgetSettingsScreenVM : ViewModel(), KoinComponent { private val permissionsManager: PermissionsManager by inject() - private val musicRepository: MusicRepository by inject() + private val musicService: MusicService by inject() private val dataStore: LauncherDataStore by inject() val hasPermission = permissionsManager.hasPermission(PermissionGroup.Notifications).asLiveData() @@ -40,7 +40,7 @@ class MusicWidgetSettingsScreenVM : ViewModel(), KoinComponent { } fun resetWidget() { - musicRepository.resetPlayer() + musicService.resetPlayer() } } \ No newline at end of file diff --git a/services/music/src/main/java/de/mm20/launcher2/music/Module.kt b/services/music/src/main/java/de/mm20/launcher2/music/Module.kt index 56449dd8..8debd551 100644 --- a/services/music/src/main/java/de/mm20/launcher2/music/Module.kt +++ b/services/music/src/main/java/de/mm20/launcher2/music/Module.kt @@ -4,5 +4,5 @@ import org.koin.android.ext.koin.androidContext import org.koin.dsl.module val musicModule = module { - single { MusicRepositoryImpl(androidContext(), get()) } + single { MusicServiceImpl(androidContext(), get()) } } \ No newline at end of file diff --git a/services/music/src/main/java/de/mm20/launcher2/music/MusicRepository.kt b/services/music/src/main/java/de/mm20/launcher2/music/MusicService.kt similarity index 99% rename from services/music/src/main/java/de/mm20/launcher2/music/MusicRepository.kt rename to services/music/src/main/java/de/mm20/launcher2/music/MusicService.kt index eaa0ac5b..1a6db605 100644 --- a/services/music/src/main/java/de/mm20/launcher2/music/MusicRepository.kt +++ b/services/music/src/main/java/de/mm20/launcher2/music/MusicService.kt @@ -44,7 +44,7 @@ import org.koin.core.component.KoinComponent import org.koin.core.component.inject import java.io.IOException -interface MusicRepository { +interface MusicService { val playbackState: Flow val title: Flow val artist: Flow @@ -65,10 +65,10 @@ interface MusicRepository { fun resetPlayer() } -internal class MusicRepositoryImpl( +internal class MusicServiceImpl( private val context: Context, notificationRepository: NotificationRepository -) : MusicRepository, KoinComponent { +) : MusicService, KoinComponent { private val scope = CoroutineScope(Job() + Dispatchers.Default) private val dataStore: LauncherDataStore by inject()