Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b84e6ba2 authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

Swap seekbar vert padding to keep height fixed

Reduce the vertical padding of the seekbar when it's enabled by 2dp to
account for the extra height in the track. That way the height of the
SeekBar view is always 33dp.

This has a nice side effect of properly setting the height of the track
when resuming.

Bug: 160242262
Test: manual
Change-Id: I9b6888f2a6bf5fb118075dea3f849618350ec18b
parent 63b7c275
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -166,8 +166,7 @@
        android:layout_height="wrap_content"
        android:clickable="true"
        android:maxHeight="@dimen/qs_media_enabled_seekbar_height"
        android:paddingTop="16dp"
        android:paddingBottom="16dp"
        android:paddingVertical="@dimen/qs_media_enabled_seekbar_vertical_padding"
        android:thumbTint="@color/media_primary_text"
        android:progressTint="@color/media_seekbar_progress"
        android:progressBackgroundTint="@color/media_disabled"
+2 −0
Original line number Diff line number Diff line
@@ -1261,6 +1261,8 @@
    <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="qs_media_enabled_seekbar_vertical_padding">15dp</dimen>
    <dimen name="qs_media_disabled_seekbar_vertical_padding">16dp</dimen>

    <!-- Window magnification -->
    <dimen name="magnification_border_drag_size">35dp</dimen>
+16 −3
Original line number Diff line number Diff line
@@ -28,10 +28,14 @@ import com.android.systemui.R
 */
class SeekBarObserver(private val holder: PlayerViewHolder) : Observer<SeekBarViewModel.Progress> {

    val seekBarDefaultMaxHeight = holder.seekBar.context.resources
    val seekBarEnabledMaxHeight = 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)
    val seekBarEnabledVerticalPadding = holder.seekBar.context.resources
            .getDimensionPixelSize(R.dimen.qs_media_enabled_seekbar_vertical_padding)
    val seekBarDisabledVerticalPadding = holder.seekBar.context.resources
            .getDimensionPixelSize(R.dimen.qs_media_disabled_seekbar_vertical_padding)

    /** Updates seek bar views when the data model changes. */
    @UiThread
@@ -39,6 +43,7 @@ class SeekBarObserver(private val holder: PlayerViewHolder) : Observer<SeekBarVi
        if (!data.enabled) {
            if (holder.seekBar.maxHeight != seekBarDisabledHeight) {
                holder.seekBar.maxHeight = seekBarDisabledHeight
                setVerticalPadding(seekBarDisabledVerticalPadding)
            }
            holder.seekBar.setEnabled(false)
            holder.seekBar.getThumb().setAlpha(0)
@@ -51,8 +56,9 @@ class SeekBarObserver(private val holder: PlayerViewHolder) : Observer<SeekBarVi
        holder.seekBar.getThumb().setAlpha(if (data.seekAvailable) 255 else 0)
        holder.seekBar.setEnabled(data.seekAvailable)

        if (holder.seekBar.maxHeight != seekBarDefaultMaxHeight) {
            holder.seekBar.maxHeight = seekBarDefaultMaxHeight
        if (holder.seekBar.maxHeight != seekBarEnabledMaxHeight) {
            holder.seekBar.maxHeight = seekBarEnabledMaxHeight
            setVerticalPadding(seekBarEnabledVerticalPadding)
        }

        data.duration?.let {
@@ -67,4 +73,11 @@ class SeekBarObserver(private val holder: PlayerViewHolder) : Observer<SeekBarVi
                    it / DateUtils.SECOND_IN_MILLIS))
        }
    }

    @UiThread
    fun setVerticalPadding(padding: Int) {
        val leftPadding = holder.seekBar.paddingLeft
        val rightPadding = holder.seekBar.paddingRight
        holder.seekBar.setPadding(leftPadding, padding, rightPadding, padding)
    }
}