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

Commit b3870bff authored by Christian Göllner's avatar Christian Göllner Committed by Automerger Merge Worker
Browse files

Merge "Media layout changes for tablets" into tm-dev am: d7b3be3e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17293763

Change-Id: Iedd9bd93ccb2a1fbdbf180201dcd71c9c4dbab80
parents 8beb7345 d7b3be3e
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -172,6 +172,15 @@
        app:layout_constraintStart_toStartOf="parent"
        />

    <androidx.constraintlayout.widget.Barrier
        android:id="@+id/media_action_barrier_top"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:barrierDirection="top"
        app:constraint_referenced_ids="actionPrev,media_progress_bar,actionNext,action0,action1,action2,action3,action4"
        />

    <!-- Button visibility will be controlled in code -->
    <ImageButton
        android:id="@+id/actionPrev"
+1 −1
Original line number Diff line number Diff line
@@ -25,5 +25,5 @@

    <dimen name="status_bar_header_height_keyguard">56dp</dimen>

    <dimen name="qs_media_session_height_expanded">184dp</dimen>
    <dimen name="qs_media_session_height_expanded">251dp</dimen>
</resources>
+11 −21
Original line number Diff line number Diff line
@@ -31,25 +31,24 @@
        android:id="@+id/header_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:layout_marginStart="@dimen/qs_media_padding"
        android:layout_marginEnd="@dimen/qs_media_padding"
        app:layout_constraintEnd_toStartOf="@id/actionPlayPause"
        app:layout_constrainedWidth="true"
        app:layout_constraintTop_toBottomOf="@id/icon"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintBottom_toTopOf="@id/header_artist"
        app:layout_constraintHorizontal_bias="0" />
    <Constraint
        android:id="@+id/header_artist"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="@dimen/qs_media_padding"
        android:layout_marginBottom="@dimen/qs_media_padding"
        android:layout_marginTop="0dp"
        app:layout_constrainedWidth="true"
        app:layout_constraintEnd_toStartOf="@id/actionPlayPause"
        app:layout_constraintBottom_toTopOf="@id/media_action_barrier"
        app:layout_constraintTop_toBottomOf="@id/header_title"
        app:layout_constraintStart_toStartOf="@id/header_title"
        app:layout_constraintBottom_toTopOf="@id/media_action_barrier_top"
        app:layout_constraintVertical_bias="0"
        app:layout_constraintHorizontal_bias="0" />

@@ -59,10 +58,9 @@
        android:layout_height="48dp"
        android:layout_marginStart="@dimen/qs_media_padding"
        android:layout_marginEnd="@dimen/qs_media_padding"
        android:layout_marginBottom="0dp"
        android:layout_marginBottom="@dimen/qs_media_padding"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@id/media_seamless"
        app:layout_constraintBottom_toBottomOf="@id/header_artist" />
        app:layout_constraintBottom_toTopOf="@id/media_action_barrier_top" />

    <!--
    The bottom row of action buttons should remain in the same order when RTL, so their constraints
@@ -76,7 +74,6 @@
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@id/media_progress_bar"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@id/header_artist"
        app:layout_constraintHorizontal_chainStyle="spread" />

    <Constraint
@@ -86,7 +83,6 @@
        app:layout_constraintLeft_toRightOf="@id/actionPrev"
        app:layout_constraintRight_toLeftOf="@id/actionNext"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@id/header_artist"
        app:layout_constraintHorizontal_weight="1" />

    <Constraint
@@ -95,8 +91,7 @@
        android:layout_height="48dp"
        app:layout_constraintLeft_toRightOf="@id/media_progress_bar"
        app:layout_constraintRight_toLeftOf="@id/action0"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@id/header_artist" />
        app:layout_constraintBottom_toBottomOf="parent" />

    <Constraint
        android:id="@+id/action0"
@@ -104,8 +99,7 @@
        android:layout_height="48dp"
        app:layout_constraintLeft_toRightOf="@id/actionNext"
        app:layout_constraintRight_toLeftOf="@id/action1"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@id/header_artist" />
        app:layout_constraintBottom_toBottomOf="parent" />

    <Constraint
        android:id="@+id/action1"
@@ -113,8 +107,7 @@
        android:layout_height="48dp"
        app:layout_constraintLeft_toRightOf="@id/action0"
        app:layout_constraintRight_toLeftOf="@id/action2"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@id/header_artist" />
        app:layout_constraintBottom_toBottomOf="parent" />

    <Constraint
        android:id="@+id/action2"
@@ -122,8 +115,7 @@
        android:layout_height="48dp"
        app:layout_constraintLeft_toRightOf="@id/action1"
        app:layout_constraintRight_toLeftOf="@id/action3"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@id/header_artist" />
        app:layout_constraintBottom_toBottomOf="parent"/>

    <Constraint
        android:id="@+id/action3"
@@ -131,8 +123,7 @@
        android:layout_height="48dp"
        app:layout_constraintLeft_toRightOf="@id/action2"
        app:layout_constraintRight_toLeftOf="@id/action4"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@id/header_artist" />
        app:layout_constraintBottom_toBottomOf="parent"/>

    <Constraint
        android:id="@+id/action4"
@@ -140,6 +131,5 @@
        android:layout_height="48dp"
        app:layout_constraintLeft_toRightOf="@id/action3"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@id/header_artist" />
        app:layout_constraintBottom_toBottomOf="parent" />
</ConstraintSet>
+21 −4
Original line number Diff line number Diff line
@@ -606,12 +606,29 @@ public class MediaControlPanel {
                setSemanticButton(genericButtons[i], null,  collapsedSet, expandedSet, false);
            }
        }
        expandedSet.setVisibility(R.id.media_progress_bar, getSeekBarVisibility());
        expandedSet.setAlpha(R.id.media_progress_bar, mSeekBarViewModel.getEnabled() ? 1.0f : 0.0f);
    }

        // If disabled, set progress bar to INVISIBLE instead of GONE so layout weights still work
    private int getSeekBarVisibility() {
        boolean seekbarEnabled = mSeekBarViewModel.getEnabled();
        expandedSet.setVisibility(R.id.media_progress_bar,
                seekbarEnabled ? ConstraintSet.VISIBLE : ConstraintSet.INVISIBLE);
        expandedSet.setAlpha(R.id.media_progress_bar, seekbarEnabled ? 1.0f : 0.0f);
        if (seekbarEnabled) {
            return ConstraintSet.VISIBLE;
        }
        // If disabled and "neighbours" are visible, set progress bar to INVISIBLE instead of GONE
        // so layout weights still work.
        return areAnyExpandedBottomActionsVisible() ? ConstraintSet.INVISIBLE : ConstraintSet.GONE;
    }

    private boolean areAnyExpandedBottomActionsVisible() {
        ConstraintSet expandedSet = mMediaViewController.getExpandedLayout();
        int[] referencedIds = mMediaViewHolder.getActionsTopBarrier().getReferencedIds();
        for (int id : referencedIds) {
            if (expandedSet.getVisibility(id) == ConstraintSet.VISIBLE) {
                return true;
            }
        }
        return false;
    }

    private void setSemanticButton(final ImageButton button, MediaAction mediaAction,
+3 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.widget.ImageButton
import android.widget.ImageView
import android.widget.SeekBar
import android.widget.TextView
import androidx.constraintlayout.widget.Barrier
import com.android.systemui.R
import com.android.systemui.util.animation.TransitionLayout

@@ -70,6 +71,8 @@ class MediaViewHolder constructor(itemView: View) {
    val action3 = itemView.requireViewById<ImageButton>(R.id.action3)
    val action4 = itemView.requireViewById<ImageButton>(R.id.action4)

    val actionsTopBarrier = itemView.requireViewById<Barrier>(R.id.media_action_barrier_top)

    init {
        (player.background as IlluminationDrawable).let {
            it.registerLightSource(seamless)
Loading