Merge "Make SeekBar 1dp tall when disabled" into rvc-dev am: 6a75f1332f am: 32026857ab am: 8278544495
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11936020 Change-Id: I59c809ca136fc6755615a00e978f67392a0357f9
This commit is contained in:
@@ -146,7 +146,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="true"
|
||||
android:maxHeight="3dp"
|
||||
android:maxHeight="@dimen/qs_media_enabled_seekbar_height"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:thumbTint="@color/media_primary_text"
|
||||
|
||||
@@ -1274,6 +1274,8 @@
|
||||
<dimen name="qs_seamless_fallback_end_margin">16dp</dimen>
|
||||
<dimen name="qqs_media_spacing">16dp</dimen>
|
||||
<dimen name="qs_footer_horizontal_margin">22dp</dimen>
|
||||
<dimen name="qs_media_disabled_seekbar_height">1dp</dimen>
|
||||
<dimen name="qs_media_enabled_seekbar_height">3dp</dimen>
|
||||
|
||||
<dimen name="magnification_border_size">5dp</dimen>
|
||||
<dimen name="magnification_frame_move_short">5dp</dimen>
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.systemui.media
|
||||
import android.text.format.DateUtils
|
||||
import androidx.annotation.UiThread
|
||||
import androidx.lifecycle.Observer
|
||||
import com.android.systemui.R
|
||||
|
||||
/**
|
||||
* Observer for changes from SeekBarViewModel.
|
||||
@@ -27,11 +28,20 @@ import androidx.lifecycle.Observer
|
||||
*/
|
||||
class SeekBarObserver(private val holder: PlayerViewHolder) : Observer<SeekBarViewModel.Progress> {
|
||||
|
||||
val seekBarDefaultMaxHeight = holder.seekBar.context.resources
|
||||
.getDimensionPixelSize(R.dimen.qs_media_enabled_seekbar_height)
|
||||
val seekBarDisabledHeight = holder.seekBar.context.resources
|
||||
.getDimensionPixelSize(R.dimen.qs_media_disabled_seekbar_height)
|
||||
|
||||
/** Updates seek bar views when the data model changes. */
|
||||
@UiThread
|
||||
override fun onChanged(data: SeekBarViewModel.Progress) {
|
||||
val previouslyEnabled = holder.seekBar.isEnabled
|
||||
if (!data.enabled) {
|
||||
holder.seekBar.setEnabled(false)
|
||||
if (previouslyEnabled) {
|
||||
holder.seekBar.maxHeight = seekBarDisabledHeight
|
||||
}
|
||||
holder.seekBar.getThumb().setAlpha(0)
|
||||
holder.seekBar.setProgress(0)
|
||||
holder.elapsedTimeView.setText("")
|
||||
@@ -42,6 +52,14 @@ class SeekBarObserver(private val holder: PlayerViewHolder) : Observer<SeekBarVi
|
||||
holder.seekBar.getThumb().setAlpha(if (data.seekAvailable) 255 else 0)
|
||||
holder.seekBar.setEnabled(data.seekAvailable)
|
||||
|
||||
if (previouslyEnabled != holder.seekBar.isEnabled) {
|
||||
holder.seekBar.maxHeight = if (holder.seekBar.isEnabled) {
|
||||
seekBarDefaultMaxHeight
|
||||
} else {
|
||||
seekBarDisabledHeight
|
||||
}
|
||||
}
|
||||
|
||||
data.elapsedTime?.let {
|
||||
holder.seekBar.setProgress(it)
|
||||
holder.elapsedTimeView.setText(DateUtils.formatElapsedTime(
|
||||
|
||||
Reference in New Issue
Block a user