1. Fixed album art image is not clear enough and always shows the previous song's cover;
2. Change Setting -> Personalize -> LOCKSCREEN (Show album cover, Blur album cover, Fullscreen controls) only about lockscreen, without change notification style anymore; 3. Lockscreen adapt landscape mode; 4. Move lockscreen image to the top, keep looks like player's style; 5. Change some defStyleAttr default value frome -1 to 0, to make Android Studio to preview; 6. Fitting more pages can display circular buttons.
This commit is contained in:
parent
4ce212a6e6
commit
94bc86b5d4
7 changed files with 182 additions and 66 deletions
|
@ -26,10 +26,13 @@ import code.name.monkey.retromusic.extensions.hideStatusBar
|
|||
import code.name.monkey.retromusic.extensions.setTaskDescriptionColorAuto
|
||||
import code.name.monkey.retromusic.extensions.whichFragment
|
||||
import code.name.monkey.retromusic.fragments.player.lockscreen.LockScreenControlsFragment
|
||||
import code.name.monkey.retromusic.glide.BlurTransformation
|
||||
import code.name.monkey.retromusic.glide.GlideApp
|
||||
import code.name.monkey.retromusic.glide.RetroGlideExtension
|
||||
import code.name.monkey.retromusic.glide.RetroMusicColoredTarget
|
||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil.isAlbumArtOnLockScreen
|
||||
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
|
||||
import com.r0adkll.slidr.Slidr
|
||||
import com.r0adkll.slidr.model.SlidrConfig
|
||||
|
@ -88,7 +91,7 @@ class LockScreenActivity : AbsMusicServiceActivity() {
|
|||
} else {
|
||||
window.addFlags(
|
||||
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
|
||||
// or WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
|
||||
// or WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -104,16 +107,31 @@ class LockScreenActivity : AbsMusicServiceActivity() {
|
|||
}
|
||||
|
||||
private fun updateSongs() {
|
||||
if (!isAlbumArtOnLockScreen) {
|
||||
binding.image.setImageResource(R.drawable.default_audio_art)
|
||||
return
|
||||
}
|
||||
|
||||
val song = MusicPlayerRemote.currentSong
|
||||
|
||||
GlideApp.with(this)
|
||||
.asBitmapPalette()
|
||||
.songCoverOptions(song)
|
||||
.load(RetroGlideExtension.getSongModel(song))
|
||||
.dontAnimate()
|
||||
.transition(RetroGlideExtension.getDefaultTransition())
|
||||
.into(object : RetroMusicColoredTarget(binding.image) {
|
||||
override fun onColorReady(colors: MediaNotificationProcessor) {
|
||||
fragment?.setColor(colors)
|
||||
}
|
||||
})
|
||||
|
||||
if (PreferenceUtil.isBlurredAlbumArt) {
|
||||
GlideApp.with(this)
|
||||
.load(RetroGlideExtension.getSongModel(song))
|
||||
.transition(RetroGlideExtension.getDefaultTransition())
|
||||
.transform(BlurTransformation.Builder(this).blurRadius(25f).build())
|
||||
.into(binding.ivBlurredAlbumArt)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -155,6 +155,11 @@ abstract class AbsPlayerControlsFragment(@LayoutRes layout: Int) : AbsMusicServi
|
|||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
|
||||
if (PreferenceUtil.circlePlayButton) {
|
||||
requireContext().theme.applyStyle(R.style.CircleFABOverlay, true)
|
||||
} else {
|
||||
requireContext().theme.applyStyle(R.style.RoundedFABOverlay, true)
|
||||
}
|
||||
}
|
||||
|
||||
fun View.showBounceAnimation() {
|
||||
|
|
|
@ -70,7 +70,6 @@ import code.name.monkey.retromusic.util.MusicUtil
|
|||
import code.name.monkey.retromusic.util.MusicUtil.toggleFavorite
|
||||
import code.name.monkey.retromusic.util.PackageValidator
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil.crossFadeDuration
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil.isAlbumArtOnLockScreen
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil.isBluetoothSpeaker
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil.isBlurredAlbumArt
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil.isClassicNotification
|
||||
|
@ -1022,19 +1021,13 @@ class MusicService : MediaBrowserServiceCompat(),
|
|||
.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, null)
|
||||
.putLong(MediaMetadataCompat.METADATA_KEY_NUM_TRACKS, playingQueue.size.toLong())
|
||||
|
||||
if (isAlbumArtOnLockScreen || VERSION.SDK_INT == 33) {
|
||||
// val screenSize: Point = RetroUtil.getScreenSize(this)
|
||||
val request = GlideApp.with(this)
|
||||
// there only about notification's album art, so remove "isAlbumArtOnLockScreen" and "isBlurredAlbumArt"
|
||||
GlideApp.with(this)
|
||||
.asBitmap()
|
||||
.songCoverOptions(song)
|
||||
.load(getSongModel(song))
|
||||
.transition(getDefaultTransition())
|
||||
|
||||
if (isBlurredAlbumArt) {
|
||||
request.transform(BlurTransformation.Builder(this@MusicService).build())
|
||||
}
|
||||
request.into(object :
|
||||
CustomTarget<Bitmap?>(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) {
|
||||
.into(object : CustomTarget<Bitmap?>(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) {
|
||||
override fun onLoadFailed(errorDrawable: Drawable?) {
|
||||
super.onLoadFailed(errorDrawable)
|
||||
metaData.putBitmap(
|
||||
|
@ -1062,10 +1055,6 @@ class MusicService : MediaBrowserServiceCompat(),
|
|||
|
||||
override fun onLoadCleared(placeholder: Drawable?) {}
|
||||
})
|
||||
} else {
|
||||
mediaSession?.setMetadata(metaData.build())
|
||||
onCompletion()
|
||||
}
|
||||
}
|
||||
|
||||
private fun handleChangeInternal(what: String) {
|
||||
|
|
|
@ -20,7 +20,7 @@ import android.widget.FrameLayout
|
|||
class HeightFitSquareLayout @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = -1
|
||||
defStyleAttr: Int = 0
|
||||
) : FrameLayout(context, attrs, defStyleAttr){
|
||||
private var forceSquare = true
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ import android.view.View
|
|||
class StatusBarView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = -1
|
||||
defStyleAttr: Int = 0
|
||||
) : View(context, attrs, defStyleAttr) {
|
||||
|
||||
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue