use the animated play/pause button at the Current Track bar too
This commit is contained in:
parent
d7845ddd51
commit
8f97587c84
2 changed files with 34 additions and 10 deletions
|
@ -1,15 +1,21 @@
|
|||
package com.simplemobiletools.musicplayer.views
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.PorterDuff
|
||||
import android.graphics.PorterDuffColorFilter
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.provider.MediaStore
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import com.airbnb.lottie.LottieProperty
|
||||
import com.airbnb.lottie.model.KeyPath
|
||||
import com.bumptech.glide.Glide
|
||||
import com.bumptech.glide.load.resource.bitmap.CenterCrop
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
import com.bumptech.glide.request.RequestOptions
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.extensions.fadeIn
|
||||
import com.simplemobiletools.commons.extensions.fadeOut
|
||||
import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
|
||||
import com.simplemobiletools.musicplayer.R
|
||||
import com.simplemobiletools.musicplayer.extensions.config
|
||||
import com.simplemobiletools.musicplayer.extensions.sendIntent
|
||||
|
@ -54,8 +60,22 @@ class CurrentTrackBar(context: Context, attributeSet: AttributeSet) : RelativeLa
|
|||
}
|
||||
|
||||
fun updateTrackState(isPlaying: Boolean) {
|
||||
val drawableId = if (isPlaying) R.drawable.ic_pause_vector else R.drawable.ic_play_vector
|
||||
val drawable = context.resources.getColoredDrawableWithColor(drawableId, context.config.textColor)
|
||||
current_track_play_pause.setImageDrawable(drawable)
|
||||
val wasNull = current_track_play_pause.tag == null
|
||||
if (current_track_play_pause.tag != isPlaying) {
|
||||
current_track_play_pause.speed = if (isPlaying) 2.5f else -2.5f
|
||||
|
||||
if (wasNull) {
|
||||
current_track_play_pause.progress = if (isPlaying) 1f else 0f
|
||||
} else {
|
||||
current_track_play_pause.playAnimation()
|
||||
}
|
||||
|
||||
current_track_play_pause.addValueCallback(
|
||||
KeyPath("**"),
|
||||
LottieProperty.COLOR_FILTER,
|
||||
{ PorterDuffColorFilter(context.config.textColor, PorterDuff.Mode.SRC_IN) }
|
||||
)
|
||||
current_track_play_pause.tag = isPlaying
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.simplemobiletools.musicplayer.views.CurrentTrackBar xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/current_track_bar"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -37,17 +38,20 @@
|
|||
android:textSize="@dimen/bigger_text_size"
|
||||
tools:text="My Track" />
|
||||
|
||||
<ImageView
|
||||
<com.airbnb.lottie.LottieAnimationView
|
||||
android:id="@+id/current_track_play_pause"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="@dimen/smaller_icon_size"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignTop="@+id/current_track_image"
|
||||
android:layout_alignBottom="@+id/current_track_image"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="@dimen/medium_margin"
|
||||
android:layout_marginEnd="@dimen/normal_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:paddingStart="@dimen/medium_margin"
|
||||
android:paddingEnd="@dimen/medium_margin"
|
||||
android:src="@drawable/ic_pause_vector" />
|
||||
android:paddingStart="@dimen/smaller_margin"
|
||||
android:paddingEnd="@dimen/smaller_margin"
|
||||
android:scaleType="fitCenter"
|
||||
app:lottie_autoPlay="false"
|
||||
app:lottie_loop="false"
|
||||
app:lottie_rawRes="@raw/playpause" />
|
||||
|
||||
</com.simplemobiletools.musicplayer.views.CurrentTrackBar>
|
||||
|
|
Loading…
Reference in a new issue