Skip to content

Commit dd6d9da

Browse files
committed
Prepare player on resume as well
1 parent a2103dc commit dd6d9da

File tree

4 files changed

+27
-14
lines changed

4 files changed

+27
-14
lines changed

app/src/main/kotlin/com/simplemobiletools/musicplayer/activities/MainActivity.kt

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ class MainActivity : SimpleMusicActivity() {
5656
updateMaterialActivityViews(binding.mainCoordinator, binding.mainHolder, useTransparentNavigation = false, useTopSearchMenu = true)
5757
storeStateVariables()
5858
setupTabs()
59+
setupCurrentTrackBar(binding.currentTrackBar.root)
5960

6061
handlePermission(getPermissionToRequest()) {
6162
if (it) {
@@ -69,14 +70,6 @@ class MainActivity : SimpleMusicActivity() {
6970
volumeControlStream = AudioManager.STREAM_MUSIC
7071
checkWhatsNewDialog()
7172
checkAppOnSDCard()
72-
withPlayer {
73-
maybePreparePlayer(context = this@MainActivity) { success ->
74-
if (success) {
75-
updateCurrentTrackBar()
76-
broadcastUpdateWidgetState()
77-
}
78-
}
79-
}
8073
}
8174

8275
override fun onResume() {
@@ -188,7 +181,6 @@ class MainActivity : SimpleMusicActivity() {
188181
initFragments()
189182
binding.sleepTimerStop.setOnClickListener { stopSleepTimer() }
190183

191-
setupCurrentTrackBar(binding.currentTrackBar.root)
192184
refreshAllFragments()
193185
}
194186

@@ -207,7 +199,11 @@ class MainActivity : SimpleMusicActivity() {
207199
if (complete) {
208200
binding.loadingProgressBar.hide()
209201
withPlayer {
210-
sendCommand(CustomCommands.RELOAD_CONTENT)
202+
if (currentMediaItem == null) {
203+
maybePreparePlayer()
204+
} else {
205+
sendCommand(CustomCommands.RELOAD_CONTENT)
206+
}
211207
}
212208
}
213209
}

app/src/main/kotlin/com/simplemobiletools/musicplayer/activities/SimpleControllerActivity.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ abstract class SimpleControllerActivity : SimpleActivity(), Player.Listener {
3030
override fun onCreate(savedInstanceState: Bundle?) {
3131
super.onCreate(savedInstanceState)
3232
controller = SimpleMediaController.getInstance(this)
33+
maybePreparePlayer()
3334
}
3435

3536
override fun onStart() {
@@ -42,6 +43,13 @@ abstract class SimpleControllerActivity : SimpleActivity(), Player.Listener {
4243
controller.removeListener(this)
4344
}
4445

46+
override fun onResume() {
47+
super.onResume()
48+
maybePreparePlayer()
49+
}
50+
51+
open fun onPlayerPrepared(success: Boolean) {}
52+
4553
fun withPlayer(callback: MediaController.() -> Unit) = controller.withController(callback)
4654

4755
fun prepareAndPlay(tracks: List<Track>, startIndex: Int = 0, startPositionMs: Long = 0, startActivity: Boolean = true) {
@@ -60,6 +68,14 @@ abstract class SimpleControllerActivity : SimpleActivity(), Player.Listener {
6068
}
6169
}
6270

71+
fun maybePreparePlayer() {
72+
withPlayer {
73+
maybePreparePlayer(context = this@SimpleControllerActivity, callback = ::onPlayerPrepared)
74+
}
75+
}
76+
77+
fun togglePlayback() = withPlayer { togglePlayback() }
78+
6379
fun addTracksToQueue(tracks: List<Track>, callback: () -> Unit) {
6480
withPlayer {
6581
val currentMediaItemsIds = currentMediaItems.map { it.mediaId }

app/src/main/kotlin/com/simplemobiletools/musicplayer/activities/SimpleMusicActivity.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
88
import com.simplemobiletools.commons.extensions.hideKeyboard
99
import com.simplemobiletools.commons.extensions.openNotificationSettings
1010
import com.simplemobiletools.musicplayer.extensions.isReallyPlaying
11-
import com.simplemobiletools.musicplayer.extensions.togglePlayback
1211
import com.simplemobiletools.musicplayer.views.CurrentTrackBar
1312

1413
/**
@@ -24,7 +23,7 @@ abstract class SimpleMusicActivity : SimpleControllerActivity(), Player.Listener
2423

2524
fun setupCurrentTrackBar(trackBar: CurrentTrackBar) {
2625
trackBarView = trackBar
27-
trackBarView?.initialize { withPlayer { togglePlayback() } }
26+
trackBarView?.initialize(togglePlayback = ::togglePlayback)
2827
trackBarView?.setOnClickListener {
2928
hideKeyboard()
3029
handleNotificationPermission { granted ->
@@ -39,7 +38,7 @@ abstract class SimpleMusicActivity : SimpleControllerActivity(), Player.Listener
3938
}
4039
}
4140

42-
fun updateCurrentTrackBar() {
41+
private fun updateCurrentTrackBar() {
4342
trackBarView?.apply {
4443
withPlayer {
4544
updateColors()
@@ -49,6 +48,8 @@ abstract class SimpleMusicActivity : SimpleControllerActivity(), Player.Listener
4948
}
5049
}
5150

51+
override fun onPlayerPrepared(success: Boolean) = updateCurrentTrackBar()
52+
5253
@CallSuper
5354
override fun onMediaItemTransition(mediaItem: MediaItem?, reason: Int) {
5455
trackBarView?.updateCurrentTrack(mediaItem)

app/src/main/kotlin/com/simplemobiletools/musicplayer/activities/TrackActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ class TrackActivity : SimpleControllerActivity(), PlaybackSpeedListener {
155155
private fun setupButtons() = binding.apply {
156156
activityTrackToggleShuffle.setOnClickListener { withPlayer { toggleShuffle() } }
157157
activityTrackPrevious.setOnClickListener { withPlayer { forceSeekToPrevious() } }
158-
activityTrackPlayPause.setOnClickListener { withPlayer { togglePlayback() } }
158+
activityTrackPlayPause.setOnClickListener { togglePlayback() }
159159
activityTrackNext.setOnClickListener { withPlayer { forceSeekToNext() } }
160160
activityTrackProgressCurrent.setOnClickListener { seekBack() }
161161
activityTrackProgressMax.setOnClickListener { seekForward() }

0 commit comments

Comments
 (0)