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

Commit 22dc6e9e authored by Caitlin Cassidy's avatar Caitlin Cassidy Committed by Android (Google) Code Review
Browse files

Merge "[Media Recs] Add titles and subtitles to the expanded layout." into tm-dev

parents a9449268 f6453bc3
Loading
Loading
Loading
Loading
+61 −6
Original line number Diff line number Diff line
@@ -42,10 +42,10 @@
        android:id="@+id/media_cover1_container"
        style="@style/MediaPlayer.Recommendation.AlbumContainer"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintBottom_toTopOf="@+id/media_title1"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toStartOf="@id/media_cover2_container"
        android:layout_marginEnd="@dimen/qs_media_rec_album_margin"
        android:layout_marginEnd="@dimen/qs_media_rec_album_side_margin"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintVertical_bias="0.5"
@@ -63,16 +63,33 @@
            android:scaleType="centerCrop"/>
    </FrameLayout>

    <!-- TODO(b/223603970): Add title and subtitle below each album cover. -->
    <TextView
        android:id="@+id/media_title1"
        style="@style/MediaPlayer.Recommendation.Text.Title"
        app:layout_constraintStart_toStartOf="@+id/media_cover1_container"
        app:layout_constraintEnd_toEndOf="@+id/media_cover1_container"
        app:layout_constraintTop_toBottomOf="@+id/media_cover1_container"
        app:layout_constraintBottom_toTopOf="@+id/media_subtitle1"
        />

    <TextView
        android:id="@+id/media_subtitle1"
        style="@style/MediaPlayer.Recommendation.Text.Subtitle"
        app:layout_constraintStart_toStartOf="@+id/media_cover1_container"
        app:layout_constraintEnd_toEndOf="@+id/media_cover1_container"
        app:layout_constraintTop_toBottomOf="@+id/media_title1"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="@dimen/qs_media_padding"
        />

    <FrameLayout
        android:id="@+id/media_cover2_container"
        style="@style/MediaPlayer.Recommendation.AlbumContainer"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintBottom_toTopOf="@id/media_title2"
        app:layout_constraintStart_toEndOf="@id/media_cover1_container"
        app:layout_constraintEnd_toStartOf="@id/media_cover3_container"
        android:layout_marginEnd="@dimen/qs_media_rec_album_margin"
        android:layout_marginEnd="@dimen/qs_media_rec_album_side_margin"
        app:layout_constraintVertical_bias="0.5"
        >
        <ImageView
@@ -86,11 +103,30 @@
            android:scaleType="centerCrop"/>
    </FrameLayout>

    <TextView
        android:id="@+id/media_title2"
        style="@style/MediaPlayer.Recommendation.Text.Title"
        app:layout_constraintStart_toStartOf="@+id/media_cover2_container"
        app:layout_constraintEnd_toEndOf="@+id/media_cover2_container"
        app:layout_constraintTop_toBottomOf="@+id/media_cover2_container"
        app:layout_constraintBottom_toTopOf="@+id/media_subtitle2"
        />

    <TextView
        android:id="@+id/media_subtitle2"
        style="@style/MediaPlayer.Recommendation.Text.Subtitle"
        app:layout_constraintStart_toStartOf="@+id/media_cover2_container"
        app:layout_constraintEnd_toEndOf="@+id/media_cover2_container"
        app:layout_constraintTop_toBottomOf="@+id/media_title2"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="@dimen/qs_media_padding"
        />

    <FrameLayout
        android:id="@+id/media_cover3_container"
        style="@style/MediaPlayer.Recommendation.AlbumContainer"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintBottom_toTopOf="@id/media_title3"
        app:layout_constraintStart_toEndOf="@id/media_cover2_container"
        app:layout_constraintEnd_toEndOf="parent"
        android:layout_marginEnd="@dimen/qs_media_padding"
@@ -107,6 +143,25 @@
            android:scaleType="centerCrop"/>
    </FrameLayout>

    <TextView
        android:id="@+id/media_title3"
        style="@style/MediaPlayer.Recommendation.Text.Title"
        app:layout_constraintStart_toStartOf="@+id/media_cover3_container"
        app:layout_constraintEnd_toEndOf="@+id/media_cover3_container"
        app:layout_constraintTop_toBottomOf="@+id/media_cover3_container"
        app:layout_constraintBottom_toTopOf="@+id/media_subtitle3"
        />

    <TextView
        android:id="@+id/media_subtitle3"
        style="@style/MediaPlayer.Recommendation.Text.Subtitle"
        app:layout_constraintStart_toStartOf="@+id/media_cover3_container"
        app:layout_constraintEnd_toEndOf="@+id/media_cover3_container"
        app:layout_constraintTop_toBottomOf="@+id/media_title3"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="@dimen/qs_media_padding"
        />

    <!-- Long press menu -->
    <TextView
        android:layout_width="match_parent"
+2 −1
Original line number Diff line number Diff line
@@ -980,7 +980,8 @@

    <!-- Size of Smartspace media recommendations cards in the QSPanel carousel -->
    <dimen name="qs_media_rec_album_size">88dp</dimen>
    <dimen name="qs_media_rec_album_margin">16dp</dimen>
    <dimen name="qs_media_rec_album_side_margin">16dp</dimen>
    <dimen name="qs_media_rec_album_bottom_margin">8dp</dimen>
    <dimen name="qs_media_rec_icon_size">24dp</dimen>

    <!-- Media tap-to-transfer chip for sender device -->
+19 −1
Original line number Diff line number Diff line
@@ -672,13 +672,31 @@
        <item name="android:layout_height">@dimen/qs_media_rec_album_size</item>
        <item name="android:background">@drawable/qs_media_light_source</item>
        <item name="android:layout_marginTop">@dimen/qs_media_padding</item>
        <item name="android:layout_marginBottom">@dimen/qs_media_padding</item>
        <item name="android:layout_marginBottom">@dimen/qs_media_rec_album_bottom_margin</item>
    </style>

    <style name="MediaPlayer.Recommendation.Album">
        <item name="android:backgroundTint">@color/media_player_album_bg</item>
    </style>

    <style name="MediaPlayer.Recommendation.Text">
        <item name="android:layout_width">@dimen/qs_media_rec_album_size</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:maxLines">1</item>
        <item name="android:ellipsize">end</item>
        <item name="android:textSize">14sp</item>
        <item name="android:gravity">start</item>
    </style>

    <style name="MediaPlayer.Recommendation.Text.Title">
        <item name="android:textColor">?android:attr/textColorPrimary</item>
    </style>

    <style name="MediaPlayer.Recommendation.Text.Subtitle">
        <item name="android:textColor">?android:attr/textColorSecondary</item>
    </style>


    <!-- Used to style charging animation AVD animation -->
    <style name="ChargingAnim" />

+74 −1
Original line number Diff line number Diff line
@@ -15,7 +15,8 @@
  ~ limitations under the License
  -->
<ConstraintSet
    xmlns:android="http://schemas.android.com/apk/res/android" >
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto" >

    <Constraint
        android:id="@+id/sizing_view"
@@ -23,4 +24,76 @@
        android:layout_height="@dimen/qs_media_session_height_collapsed"
        />

    <!-- Only the constraintBottom and marginBottom are different. The rest of the constraints are
         the same as the constraints in media_smartspace_recommendations. But due to how
         ConstraintSets work, all the constraints need to be in the same place.
         Ditto for the other cover containers. -->
    <Constraint
        android:id="@+id/media_cover1_container"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="@dimen/qs_media_padding"
        style="@style/MediaPlayer.Recommendation.AlbumContainer"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toStartOf="@id/media_cover2_container"
        android:layout_marginEnd="@dimen/qs_media_rec_album_side_margin"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintVertical_bias="0.5"
        />

    <Constraint
        android:id="@+id/media_title1"
        android:visibility="gone"
        />

    <Constraint
        android:id="@+id/media_subtitle1"
        android:visibility="gone"
        />

    <Constraint
        android:id="@+id/media_cover2_container"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="@dimen/qs_media_padding"
        style="@style/MediaPlayer.Recommendation.AlbumContainer"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toEndOf="@id/media_cover1_container"
        app:layout_constraintEnd_toStartOf="@id/media_cover3_container"
        android:layout_marginEnd="@dimen/qs_media_rec_album_side_margin"
        app:layout_constraintVertical_bias="0.5"
        />

    <Constraint
        android:id="@+id/media_title2"
        android:visibility="gone"
        />

    <Constraint
        android:id="@+id/media_subtitle2"
        android:visibility="gone"
        />

    <Constraint
        android:id="@+id/media_cover3_container"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="@dimen/qs_media_padding"
        style="@style/MediaPlayer.Recommendation.AlbumContainer"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toEndOf="@id/media_cover2_container"
        app:layout_constraintEnd_toEndOf="parent"
        android:layout_marginEnd="@dimen/qs_media_padding"
        app:layout_constraintVertical_bias="0.5"
        />

    <Constraint
        android:id="@+id/media_title3"
        android:visibility="gone"
        />

    <Constraint
        android:id="@+id/media_subtitle3"
        android:visibility="gone"
        />

</ConstraintSet>
+18 −0
Original line number Diff line number Diff line
@@ -1054,6 +1054,24 @@ public class MediaControlPanel {
                                recommendation.getTitle(), artistName, appName));
            }


            // Set up title
            CharSequence title = recommendation.getTitle();
            TextView titleView =
                    mRecommendationViewHolder.getMediaTitles().get(uiComponentIndex);
            titleView.setText(title);
            // TODO(b/223603970): If none of them have titles, should we then hide the views?

            // Set up subtitle
            CharSequence subtitle = recommendation.getSubtitle();
            TextView subtitleView =
                    mRecommendationViewHolder.getMediaSubtitles().get(uiComponentIndex);
            // It would look awkward to show a subtitle if we don't have a title.
            boolean shouldShowSubtitleText = !TextUtils.isEmpty(title);
            CharSequence subtitleText = shouldShowSubtitleText ? subtitle : "";
            subtitleView.setText(subtitleText);
            // TODO(b/223603970): If none of them have subtitles, should we then hide the views?

            uiComponentIndex++;
        }

Loading