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

Commit 7a75d4eb 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: I14acf684dbda5616e72031f411e23213421afc04
parents 9fc215d1 d7b3be3e
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -172,6 +172,15 @@
        app:layout_constraintStart_toStartOf="parent"
        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 -->
    <!-- Button visibility will be controlled in code -->
    <ImageButton
    <ImageButton
        android:id="@+id/actionPrev"
        android:id="@+id/actionPrev"
+1 −1
Original line number Original line Diff line number Diff line
@@ -25,5 +25,5 @@


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


@@ -59,10 +58,9 @@
        android:layout_height="48dp"
        android:layout_height="48dp"
        android:layout_marginStart="@dimen/qs_media_padding"
        android:layout_marginStart="@dimen/qs_media_padding"
        android:layout_marginEnd="@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_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@id/media_seamless"
        app:layout_constraintBottom_toTopOf="@id/media_action_barrier_top" />
        app:layout_constraintBottom_toBottomOf="@id/header_artist" />


    <!--
    <!--
    The bottom row of action buttons should remain in the same order when RTL, so their constraints
    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_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@id/media_progress_bar"
        app:layout_constraintRight_toLeftOf="@id/media_progress_bar"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@id/header_artist"
        app:layout_constraintHorizontal_chainStyle="spread" />
        app:layout_constraintHorizontal_chainStyle="spread" />


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


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


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


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


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


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


    <Constraint
    <Constraint
        android:id="@+id/action4"
        android:id="@+id/action4"
@@ -140,6 +131,5 @@
        android:layout_height="48dp"
        android:layout_height="48dp"
        app:layout_constraintLeft_toRightOf="@id/action3"
        app:layout_constraintLeft_toRightOf="@id/action3"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintBottom_toBottomOf="parent" />
        app:layout_constraintTop_toBottomOf="@id/header_artist" />
</ConstraintSet>
</ConstraintSet>
+21 −4
Original line number Original line Diff line number Diff line
@@ -606,12 +606,29 @@ public class MediaControlPanel {
                setSemanticButton(genericButtons[i], null,  collapsedSet, expandedSet, false);
                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();
        boolean seekbarEnabled = mSeekBarViewModel.getEnabled();
        expandedSet.setVisibility(R.id.media_progress_bar,
        if (seekbarEnabled) {
                seekbarEnabled ? ConstraintSet.VISIBLE : ConstraintSet.INVISIBLE);
            return ConstraintSet.VISIBLE;
        expandedSet.setAlpha(R.id.media_progress_bar, seekbarEnabled ? 1.0f : 0.0f);
        }
        // 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,
    private void setSemanticButton(final ImageButton button, MediaAction mediaAction,
+3 −0
Original line number Original line Diff line number Diff line
@@ -24,6 +24,7 @@ import android.widget.ImageButton
import android.widget.ImageView
import android.widget.ImageView
import android.widget.SeekBar
import android.widget.SeekBar
import android.widget.TextView
import android.widget.TextView
import androidx.constraintlayout.widget.Barrier
import com.android.systemui.R
import com.android.systemui.R
import com.android.systemui.util.animation.TransitionLayout
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 action3 = itemView.requireViewById<ImageButton>(R.id.action3)
    val action4 = itemView.requireViewById<ImageButton>(R.id.action4)
    val action4 = itemView.requireViewById<ImageButton>(R.id.action4)


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

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