Merge "Update the media recommendation card UI for only showing recs from one app." into sc-dev am: 212037158d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14550921 Change-Id: I7226c4e0096e9340fd5e949025798179dbef91d1
This commit is contained in:
@@ -46,117 +46,83 @@
|
|||||||
|
|
||||||
<com.android.internal.widget.CachingIconView
|
<com.android.internal.widget.CachingIconView
|
||||||
android:id="@+id/recommendation_card_icon"
|
android:id="@+id/recommendation_card_icon"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_header_icon_size"
|
android:layout_width="@dimen/qs_media_icon_size"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_header_icon_size"
|
android:layout_height="@dimen/qs_media_icon_size"
|
||||||
android:src="@drawable/ic_headset"
|
android:src="@drawable/ic_headset"
|
||||||
android:tint="?android:attr/textColor" />
|
style="@style/MediaPlayer.AppIcon"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/recommendation_card_text"
|
android:id="@+id/recommendation_card_text"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:singleLine="true"
|
android:maxLines="2"
|
||||||
android:text="@string/controls_media_smartspace_rec_title"
|
android:text="@string/controls_media_smartspace_rec_title"
|
||||||
android:fontFamily="google-sans-medium"
|
android:fontFamily="google-sans-medium"
|
||||||
android:textDirection="locale"
|
android:textDirection="locale"
|
||||||
android:textSize="@dimen/qq_aa_media_rec_header_text_size" />
|
android:textSize="@dimen/qq_aa_media_rec_header_text_size"
|
||||||
|
android:breakStrategy="balanced"
|
||||||
|
android:hyphenationFrequency="none"/>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/media_cover1"
|
android:id="@+id/media_cover1"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_collapsed"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:background="@drawable/bg_smartspace_media_item"
|
android:background="@drawable/bg_smartspace_media_item"
|
||||||
style="@style/MediaPlayer.Album"
|
style="@style/MediaPlayer.Album"
|
||||||
android:clipToOutline="true"
|
android:clipToOutline="true"
|
||||||
android:scaleType="centerCrop"/>
|
android:scaleType="centerCrop"/>
|
||||||
|
|
||||||
<com.android.internal.widget.CachingIconView
|
|
||||||
android:id="@+id/media_logo1"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
style="@style/MediaPlayer.AppIcon" />
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/media_cover2"
|
android:id="@+id/media_cover2"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_collapsed"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:background="@drawable/bg_smartspace_media_item"
|
android:background="@drawable/bg_smartspace_media_item"
|
||||||
style="@style/MediaPlayer.Album"
|
style="@style/MediaPlayer.Album"
|
||||||
android:clipToOutline="true"
|
android:clipToOutline="true"
|
||||||
android:scaleType="centerCrop"/>
|
android:scaleType="centerCrop"/>
|
||||||
|
|
||||||
<com.android.internal.widget.CachingIconView
|
|
||||||
android:id="@+id/media_logo2"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
style="@style/MediaPlayer.AppIcon" />
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/media_cover3"
|
android:id="@+id/media_cover3"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_collapsed"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:background="@drawable/bg_smartspace_media_item"
|
android:background="@drawable/bg_smartspace_media_item"
|
||||||
style="@style/MediaPlayer.Album"
|
style="@style/MediaPlayer.Album"
|
||||||
android:clipToOutline="true"
|
android:clipToOutline="true"
|
||||||
android:scaleType="centerCrop"/>
|
android:scaleType="centerCrop"/>
|
||||||
|
|
||||||
<com.android.internal.widget.CachingIconView
|
|
||||||
android:id="@+id/media_logo3"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
style="@style/MediaPlayer.AppIcon" />
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/media_cover4"
|
android:id="@+id/media_cover4"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_collapsed"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:background="@drawable/bg_smartspace_media_item"
|
android:background="@drawable/bg_smartspace_media_item"
|
||||||
style="@style/MediaPlayer.Album"
|
style="@style/MediaPlayer.Album"
|
||||||
android:clipToOutline="true"
|
android:clipToOutline="true"
|
||||||
android:scaleType="centerCrop"/>
|
android:scaleType="centerCrop"/>
|
||||||
|
|
||||||
<com.android.internal.widget.CachingIconView
|
|
||||||
android:id="@+id/media_logo4"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
style="@style/MediaPlayer.AppIcon" />
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/media_cover5"
|
android:id="@+id/media_cover5"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_collapsed"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:background="@drawable/bg_smartspace_media_item"
|
android:background="@drawable/bg_smartspace_media_item"
|
||||||
style="@style/MediaPlayer.Album"
|
style="@style/MediaPlayer.Album"
|
||||||
android:clipToOutline="true"
|
android:clipToOutline="true"
|
||||||
android:scaleType="centerCrop"/>
|
android:scaleType="centerCrop"/>
|
||||||
|
|
||||||
<com.android.internal.widget.CachingIconView
|
|
||||||
android:id="@+id/media_logo5"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
style="@style/MediaPlayer.AppIcon" />
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/media_cover6"
|
android:id="@+id/media_cover6"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_collapsed"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:background="@drawable/bg_smartspace_media_item"
|
android:background="@drawable/bg_smartspace_media_item"
|
||||||
style="@style/MediaPlayer.Album"
|
style="@style/MediaPlayer.Album"
|
||||||
android:clipToOutline="true"
|
android:clipToOutline="true"
|
||||||
android:scaleType="centerCrop"/>
|
android:scaleType="centerCrop"/>
|
||||||
|
|
||||||
<com.android.internal.widget.CachingIconView
|
|
||||||
android:id="@+id/media_logo6"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
style="@style/MediaPlayer.AppIcon" />
|
|
||||||
|
|
||||||
<!-- Long press menu -->
|
<!-- Long press menu -->
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|||||||
@@ -1275,10 +1275,9 @@
|
|||||||
<dimen name="qs_media_disabled_seekbar_vertical_padding">36dp</dimen>
|
<dimen name="qs_media_disabled_seekbar_vertical_padding">36dp</dimen>
|
||||||
|
|
||||||
<!-- Size of Smartspace media recommendations cards in the QSPanel carousel -->
|
<!-- Size of Smartspace media recommendations cards in the QSPanel carousel -->
|
||||||
<dimen name="qs_aa_media_rec_header_icon_start_margin">10dp</dimen>
|
<dimen name="qs_aa_media_rec_album_size_collapsed">66dp</dimen>
|
||||||
<dimen name="qs_aa_media_rec_header_icon_size">18dp</dimen>
|
<dimen name="qs_aa_media_rec_album_size_expanded">80dp</dimen>
|
||||||
<dimen name="qs_aa_media_rec_album_size">72dp</dimen>
|
<dimen name="qs_aa_media_rec_album_margin">8dp</dimen>
|
||||||
<dimen name="qs_aa_media_rec_album_vertical_margin">8dp</dimen>
|
|
||||||
<dimen name="qq_aa_media_rec_header_text_size">16sp</dimen>
|
<dimen name="qq_aa_media_rec_header_text_size">16sp</dimen>
|
||||||
|
|
||||||
<!-- Window magnification -->
|
<!-- Window magnification -->
|
||||||
|
|||||||
@@ -20,10 +20,9 @@
|
|||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/recommendation_card_icon"
|
android:id="@+id/recommendation_card_icon"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_header_icon_size"
|
android:layout_width="@dimen/qs_media_icon_size"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_header_icon_size"
|
android:layout_height="@dimen/qs_media_icon_size"
|
||||||
android:layout_marginTop="@dimen/qs_media_padding"
|
android:layout_marginTop="@dimen/qs_media_padding"
|
||||||
android:layout_marginStart="@dimen/qs_aa_media_rec_header_icon_start_margin"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@id/media_vertical_start_guideline"
|
app:layout_constraintEnd_toStartOf="@id/media_vertical_start_guideline"
|
||||||
@@ -31,9 +30,8 @@
|
|||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/recommendation_card_text"
|
android:id="@+id/recommendation_card_text"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/qs_aa_media_rec_header_icon_start_margin"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/recommendation_card_icon"
|
app:layout_constraintTop_toBottomOf="@id/recommendation_card_icon"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@id/media_vertical_start_guideline"
|
app:layout_constraintEnd_toStartOf="@id/media_vertical_start_guideline"
|
||||||
@@ -41,137 +39,87 @@
|
|||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/media_cover1"
|
android:id="@+id/media_cover1"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_collapsed"
|
||||||
|
app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_collapsed"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
android:layout_marginTop="@dimen/qs_media_padding"
|
android:layout_marginTop="@dimen/qs_media_padding"
|
||||||
android:layout_marginBottom="@dimen/qs_media_padding"
|
android:layout_marginBottom="@dimen/qs_media_padding"
|
||||||
|
android:layout_marginEnd="@dimen/qs_aa_media_rec_album_margin"
|
||||||
app:layout_constraintStart_toEndOf="@id/media_vertical_start_guideline"
|
app:layout_constraintStart_toEndOf="@id/media_vertical_start_guideline"
|
||||||
app:layout_constraintEnd_toStartOf="@id/media_cover2"
|
app:layout_constraintEnd_toStartOf="@id/media_cover2"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintVertical_chainStyle="spread"
|
app:layout_constraintHorizontal_bias="1"
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<Constraint
|
|
||||||
android:id="@+id/media_logo1"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
android:translationY="@dimen/qs_media_icon_offset"
|
|
||||||
android:translationX="@dimen/qs_media_icon_offset"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/media_cover1"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/media_cover1"
|
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/media_cover2"
|
android:id="@+id/media_cover2"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_collapsed"
|
||||||
|
app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_collapsed"
|
||||||
android:layout_marginTop="@dimen/qs_media_padding"
|
android:layout_marginTop="@dimen/qs_media_padding"
|
||||||
android:layout_marginBottom="@dimen/qs_media_padding"
|
android:layout_marginBottom="@dimen/qs_media_padding"
|
||||||
|
android:layout_marginEnd="@dimen/qs_aa_media_rec_album_margin"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/media_cover1"
|
app:layout_constraintStart_toEndOf="@id/media_cover1"
|
||||||
app:layout_constraintEnd_toStartOf="@id/media_cover3"
|
app:layout_constraintEnd_toStartOf="@id/media_cover3"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
android:visibility="gone" />
|
app:layout_constraintHorizontal_bias="1"
|
||||||
|
|
||||||
<Constraint
|
|
||||||
android:id="@+id/media_logo2"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
android:translationY="@dimen/qs_media_icon_offset"
|
|
||||||
android:translationX="@dimen/qs_media_icon_offset"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/media_cover2"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/media_cover2"
|
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/media_cover3"
|
android:id="@+id/media_cover3"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_collapsed"
|
||||||
|
app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_collapsed"
|
||||||
android:layout_marginTop="@dimen/qs_media_padding"
|
android:layout_marginTop="@dimen/qs_media_padding"
|
||||||
android:layout_marginBottom="@dimen/qs_media_padding"
|
android:layout_marginBottom="@dimen/qs_media_padding"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/media_cover2"
|
app:layout_constraintStart_toEndOf="@id/media_cover2"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintHorizontal_bias="1"
|
app:layout_constraintHorizontal_bias="1"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<Constraint
|
|
||||||
android:id="@+id/media_logo3"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
android:translationY="@dimen/qs_media_icon_offset"
|
|
||||||
android:translationX="@dimen/qs_media_icon_offset"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/media_cover3"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/media_cover3"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/media_cover4"
|
android:id="@+id/media_cover4"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginEnd="@dimen/qs_aa_media_rec_album_margin"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/media_cover1"
|
app:layout_constraintTop_toBottomOf="@+id/media_cover1"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/media_vertical_start_guideline"
|
app:layout_constraintStart_toEndOf="@id/media_vertical_start_guideline"
|
||||||
app:layout_constraintEnd_toStartOf="@id/media_cover5"
|
app:layout_constraintEnd_toStartOf="@id/media_cover5"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
android:visibility="gone" />
|
app:layout_constraintHorizontal_bias="1"
|
||||||
|
|
||||||
<Constraint
|
|
||||||
android:id="@+id/media_logo4"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:translationY="@dimen/qs_media_icon_offset"
|
|
||||||
android:translationX="@dimen/qs_media_icon_offset"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/media_cover4"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/media_cover4"
|
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/media_cover5"
|
android:id="@+id/media_cover5"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginEnd="@dimen/qs_aa_media_rec_album_margin"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/media_cover2"
|
app:layout_constraintTop_toBottomOf="@+id/media_cover2"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/media_cover4"
|
app:layout_constraintStart_toEndOf="@+id/media_cover4"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/media_cover6"
|
app:layout_constraintEnd_toStartOf="@+id/media_cover6"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
android:visibility="gone" />
|
app:layout_constraintHorizontal_bias="1"
|
||||||
|
|
||||||
<Constraint
|
|
||||||
android:id="@+id/media_logo5"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:translationY="@dimen/qs_media_icon_offset"
|
|
||||||
android:translationX="@dimen/qs_media_icon_offset"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/media_cover5"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/media_cover5"
|
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/media_cover6"
|
android:id="@+id/media_cover6"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
app:layout_constraintTop_toBottomOf="@id/media_cover3"
|
app:layout_constraintTop_toBottomOf="@id/media_cover3"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/media_cover5"
|
app:layout_constraintStart_toEndOf="@id/media_cover5"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintHorizontal_bias="1"
|
app:layout_constraintHorizontal_bias="1"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<Constraint
|
|
||||||
android:id="@+id/media_logo6"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:translationY="@dimen/qs_media_icon_offset"
|
|
||||||
android:translationX="@dimen/qs_media_icon_offset"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/media_cover6"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/media_cover6"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
</ConstraintSet>
|
</ConstraintSet>
|
||||||
|
|||||||
@@ -20,10 +20,9 @@
|
|||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/recommendation_card_icon"
|
android:id="@+id/recommendation_card_icon"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_header_icon_size"
|
android:layout_width="@dimen/qs_media_icon_size"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_header_icon_size"
|
android:layout_height="@dimen/qs_media_icon_size"
|
||||||
android:layout_marginTop="@dimen/qs_media_padding"
|
android:layout_marginTop="@dimen/qs_media_padding"
|
||||||
android:layout_marginStart="@dimen/qs_aa_media_rec_header_icon_start_margin"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@id/media_vertical_start_guideline"
|
app:layout_constraintEnd_toStartOf="@id/media_vertical_start_guideline"
|
||||||
@@ -31,9 +30,8 @@
|
|||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/recommendation_card_text"
|
android:id="@+id/recommendation_card_text"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/qs_aa_media_rec_header_icon_start_margin"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/recommendation_card_icon"
|
app:layout_constraintTop_toBottomOf="@id/recommendation_card_icon"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@id/media_vertical_start_guideline"
|
app:layout_constraintEnd_toStartOf="@id/media_vertical_start_guideline"
|
||||||
@@ -41,154 +39,108 @@
|
|||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/media_cover1"
|
android:id="@+id/media_cover1"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_expanded"
|
||||||
|
app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_expanded"
|
||||||
android:layout_marginTop="@dimen/qs_media_padding"
|
android:layout_marginTop="@dimen/qs_media_padding"
|
||||||
android:layout_marginBottom="@dimen/qs_aa_media_rec_album_vertical_margin"
|
android:layout_marginBottom="@dimen/qs_aa_media_rec_album_margin"
|
||||||
|
android:layout_marginEnd="@dimen/qs_aa_media_rec_album_margin"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/media_horizontal_center_guideline"
|
app:layout_constraintBottom_toTopOf="@+id/media_horizontal_center_guideline"
|
||||||
app:layout_constraintStart_toEndOf="@id/media_vertical_start_guideline"
|
app:layout_constraintStart_toEndOf="@id/media_vertical_start_guideline"
|
||||||
app:layout_constraintEnd_toStartOf="@id/media_cover2"
|
app:layout_constraintEnd_toStartOf="@id/media_cover2"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintVertical_chainStyle="spread"
|
app:layout_constraintHorizontal_bias="1"
|
||||||
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
app:layout_constraintVertical_bias="0"
|
app:layout_constraintVertical_bias="0"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<Constraint
|
|
||||||
android:id="@+id/media_logo1"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
android:translationY="@dimen/qs_media_icon_offset"
|
|
||||||
android:translationX="@dimen/qs_media_icon_offset"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/media_cover1"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/media_cover1"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/media_cover2"
|
android:id="@+id/media_cover2"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_expanded"
|
||||||
|
app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_expanded"
|
||||||
android:layout_marginTop="@dimen/qs_media_padding"
|
android:layout_marginTop="@dimen/qs_media_padding"
|
||||||
android:layout_marginBottom="@dimen/qs_aa_media_rec_album_vertical_margin"
|
android:layout_marginBottom="@dimen/qs_aa_media_rec_album_margin"
|
||||||
|
android:layout_marginEnd="@dimen/qs_aa_media_rec_album_margin"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/media_horizontal_center_guideline"
|
app:layout_constraintBottom_toTopOf="@+id/media_horizontal_center_guideline"
|
||||||
app:layout_constraintStart_toEndOf="@id/media_cover1"
|
app:layout_constraintStart_toEndOf="@id/media_cover1"
|
||||||
app:layout_constraintEnd_toStartOf="@id/media_cover3"
|
app:layout_constraintEnd_toStartOf="@id/media_cover3"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintVertical_chainStyle="spread"
|
app:layout_constraintHorizontal_bias="1"
|
||||||
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
app:layout_constraintVertical_bias="0"
|
app:layout_constraintVertical_bias="0"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<Constraint
|
|
||||||
android:id="@+id/media_logo2"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
android:translationY="@dimen/qs_media_icon_offset"
|
|
||||||
android:translationX="@dimen/qs_media_icon_offset"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/media_cover2"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/media_cover2"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/media_cover3"
|
android:id="@+id/media_cover3"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_expanded"
|
||||||
|
app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_expanded"
|
||||||
android:layout_marginTop="@dimen/qs_media_padding"
|
android:layout_marginTop="@dimen/qs_media_padding"
|
||||||
android:layout_marginBottom="@dimen/qs_aa_media_rec_album_vertical_margin"
|
android:layout_marginBottom="@dimen/qs_aa_media_rec_album_margin"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/media_horizontal_center_guideline"
|
app:layout_constraintBottom_toTopOf="@+id/media_horizontal_center_guideline"
|
||||||
app:layout_constraintStart_toEndOf="@id/media_cover2"
|
app:layout_constraintStart_toEndOf="@id/media_cover2"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintHorizontal_bias="1"
|
app:layout_constraintHorizontal_bias="1"
|
||||||
app:layout_constraintVertical_chainStyle="spread"
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
app:layout_constraintVertical_bias="0"
|
app:layout_constraintVertical_bias="0"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<Constraint
|
|
||||||
android:id="@+id/media_logo3"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
android:translationY="@dimen/qs_media_icon_offset"
|
|
||||||
android:translationX="@dimen/qs_media_icon_offset"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/media_cover3"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/media_cover3"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/media_cover4"
|
android:id="@+id/media_cover4"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_expanded"
|
||||||
android:layout_marginTop="@dimen/qs_aa_media_rec_album_vertical_margin"
|
app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_expanded"
|
||||||
|
android:layout_marginTop="@dimen/qs_aa_media_rec_album_margin"
|
||||||
android:layout_marginBottom="@dimen/qs_media_padding"
|
android:layout_marginBottom="@dimen/qs_media_padding"
|
||||||
|
android:layout_marginEnd="@dimen/qs_aa_media_rec_album_margin"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/media_horizontal_center_guideline"
|
app:layout_constraintTop_toBottomOf="@+id/media_horizontal_center_guideline"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/media_vertical_start_guideline"
|
app:layout_constraintStart_toEndOf="@id/media_vertical_start_guideline"
|
||||||
app:layout_constraintEnd_toStartOf="@id/media_cover5"
|
app:layout_constraintEnd_toStartOf="@id/media_cover5"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintVertical_chainStyle="spread"
|
app:layout_constraintHorizontal_bias="1"
|
||||||
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
app:layout_constraintVertical_bias="1"
|
app:layout_constraintVertical_bias="1"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<Constraint
|
|
||||||
android:id="@+id/media_logo4"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
android:translationY="@dimen/qs_media_icon_offset"
|
|
||||||
android:translationX="@dimen/qs_media_icon_offset"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/media_cover4"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/media_cover4"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/media_cover5"
|
android:id="@+id/media_cover5"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_expanded"
|
||||||
android:layout_marginTop="@dimen/qs_aa_media_rec_album_vertical_margin"
|
app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_expanded"
|
||||||
|
android:layout_marginTop="@dimen/qs_aa_media_rec_album_margin"
|
||||||
android:layout_marginBottom="@dimen/qs_media_padding"
|
android:layout_marginBottom="@dimen/qs_media_padding"
|
||||||
|
android:layout_marginEnd="@dimen/qs_aa_media_rec_album_margin"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/media_horizontal_center_guideline"
|
app:layout_constraintTop_toBottomOf="@+id/media_horizontal_center_guideline"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/media_cover4"
|
app:layout_constraintStart_toEndOf="@+id/media_cover4"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/media_cover6"
|
app:layout_constraintEnd_toStartOf="@+id/media_cover6"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintVertical_chainStyle="spread"
|
app:layout_constraintHorizontal_bias="1"
|
||||||
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
app:layout_constraintVertical_bias="1"
|
app:layout_constraintVertical_bias="1"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<Constraint
|
|
||||||
android:id="@+id/media_logo5"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
android:translationY="@dimen/qs_media_icon_offset"
|
|
||||||
android:translationX="@dimen/qs_media_icon_offset"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/media_cover5"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/media_cover5"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<Constraint
|
<Constraint
|
||||||
android:id="@+id/media_cover6"
|
android:id="@+id/media_cover6"
|
||||||
android:layout_width="@dimen/qs_aa_media_rec_album_size"
|
android:layout_width="0dp"
|
||||||
android:layout_height="@dimen/qs_aa_media_rec_album_size"
|
android:layout_height="@dimen/qs_aa_media_rec_album_size_expanded"
|
||||||
android:layout_marginTop="@dimen/qs_aa_media_rec_album_vertical_margin"
|
app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_expanded"
|
||||||
|
android:layout_marginTop="@dimen/qs_aa_media_rec_album_margin"
|
||||||
android:layout_marginBottom="@dimen/qs_media_padding"
|
android:layout_marginBottom="@dimen/qs_media_padding"
|
||||||
app:layout_constraintTop_toBottomOf="@id/media_horizontal_center_guideline"
|
app:layout_constraintTop_toBottomOf="@id/media_horizontal_center_guideline"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/media_cover5"
|
app:layout_constraintStart_toEndOf="@id/media_cover5"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_chainStyle="spread"
|
app:layout_constraintHorizontal_chainStyle="packed"
|
||||||
app:layout_constraintHorizontal_bias="1"
|
app:layout_constraintHorizontal_bias="1"
|
||||||
app:layout_constraintVertical_chainStyle="spread"
|
app:layout_constraintVertical_chainStyle="packed"
|
||||||
app:layout_constraintVertical_bias="1"
|
app:layout_constraintVertical_bias="1"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<Constraint
|
|
||||||
android:id="@+id/media_logo6"
|
|
||||||
android:layout_width="@dimen/qs_media_icon_size"
|
|
||||||
android:layout_height="@dimen/qs_media_icon_size"
|
|
||||||
android:translationY="@dimen/qs_media_icon_offset"
|
|
||||||
android:translationX="@dimen/qs_media_icon_offset"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/media_cover6"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/media_cover6"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
</ConstraintSet>
|
</ConstraintSet>
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import android.app.smartspace.SmartspaceAction;
|
|||||||
import android.app.smartspace.SmartspaceTarget;
|
import android.app.smartspace.SmartspaceTarget;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.pm.ApplicationInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.res.ColorStateList;
|
import android.content.res.ColorStateList;
|
||||||
import android.graphics.ColorMatrix;
|
import android.graphics.ColorMatrix;
|
||||||
@@ -511,10 +512,31 @@ public class MediaControlPanel {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set up recommendation card's header.
|
||||||
|
ApplicationInfo applicationInfo = getApplicationInfo(target);
|
||||||
|
if (applicationInfo == null) {
|
||||||
|
Log.w(TAG, "No valid application info is found for media recommendations");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
PackageManager packageManager = mContext.getPackageManager();
|
||||||
|
// Set up media source app's logo.
|
||||||
|
Drawable icon = packageManager.getApplicationIcon(applicationInfo);
|
||||||
|
icon.setColorFilter(getGrayscaleFilter());
|
||||||
|
ImageView headerLogoImageView = mRecommendationViewHolder.getCardIcon();
|
||||||
|
headerLogoImageView.setImageDrawable(icon);
|
||||||
|
// Set up media source app's label text. Fallback to "Play" if the found label is empty.
|
||||||
|
CharSequence appLabel = packageManager.getApplicationLabel(applicationInfo);
|
||||||
|
if (appLabel.length() != 0) {
|
||||||
|
TextView headerTitleText = mRecommendationViewHolder.getCardText();
|
||||||
|
headerTitleText.setText(appLabel);
|
||||||
|
}
|
||||||
|
// Set up media card's tap action if applicable.
|
||||||
|
setSmartspaceRecItemOnClickListener(
|
||||||
|
mRecommendationViewHolder.getRecommendations(), target.getBaseAction());
|
||||||
|
|
||||||
List<ImageView> mediaCoverItems = mRecommendationViewHolder.getMediaCoverItems();
|
List<ImageView> mediaCoverItems = mRecommendationViewHolder.getMediaCoverItems();
|
||||||
List<ImageView> mediaLogoItems = mRecommendationViewHolder.getMediaLogoItems();
|
|
||||||
List<Integer> mediaCoverItemsResIds = mRecommendationViewHolder.getMediaCoverItemsResIds();
|
List<Integer> mediaCoverItemsResIds = mRecommendationViewHolder.getMediaCoverItemsResIds();
|
||||||
List<Integer> mediaLogoItemsResIds = mRecommendationViewHolder.getMediaLogoItemsResIds();
|
|
||||||
ConstraintSet expandedSet = mMediaViewController.getExpandedLayout();
|
ConstraintSet expandedSet = mMediaViewController.getExpandedLayout();
|
||||||
ConstraintSet collapsedSet = mMediaViewController.getCollapsedLayout();
|
ConstraintSet collapsedSet = mMediaViewController.getCollapsedLayout();
|
||||||
int mediaRecommendationNum = Math.min(mediaRecommendationList.size(),
|
int mediaRecommendationNum = Math.min(mediaRecommendationList.size(),
|
||||||
@@ -528,50 +550,22 @@ public class MediaControlPanel {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get media source app's logo.
|
|
||||||
Bundle extras = recommendation.getExtras();
|
|
||||||
Drawable icon = null;
|
|
||||||
if (extras != null && extras.getString(EXTRAS_MEDIA_SOURCE_PACKAGE_NAME) != null) {
|
|
||||||
// Get the logo from app's package name when applicable.
|
|
||||||
String packageName = extras.getString(EXTRAS_MEDIA_SOURCE_PACKAGE_NAME);
|
|
||||||
try {
|
|
||||||
icon = mContext.getPackageManager().getApplicationIcon(
|
|
||||||
packageName);
|
|
||||||
icon.setColorFilter(getGrayscaleFilter());
|
|
||||||
} catch (PackageManager.NameNotFoundException e) {
|
|
||||||
Log.w(TAG, "No media source icon can be fetched via package name", e);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Log.w(TAG, "No media source icon is provided. Skipping this item...");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set up media source app's logo.
|
|
||||||
ImageView mediaSourceLogoImageView = mediaLogoItems.get(uiComponentIndex);
|
|
||||||
mediaSourceLogoImageView.setImageDrawable(icon);
|
|
||||||
|
|
||||||
// Set up media item cover.
|
// Set up media item cover.
|
||||||
ImageView mediaCoverImageView = mediaCoverItems.get(uiComponentIndex);
|
ImageView mediaCoverImageView = mediaCoverItems.get(uiComponentIndex);
|
||||||
mediaCoverImageView.setImageIcon(recommendation.getIcon());
|
mediaCoverImageView.setImageIcon(recommendation.getIcon());
|
||||||
|
|
||||||
// Set up the click listener if applicable.
|
// Set up the media item's click listener if applicable.
|
||||||
setSmartspaceRecItemOnClickListener(mediaCoverImageView, recommendation);
|
setSmartspaceRecItemOnClickListener(mediaCoverImageView, recommendation);
|
||||||
|
|
||||||
if (uiComponentIndex < MEDIA_RECOMMENDATION_ITEMS_PER_ROW) {
|
if (uiComponentIndex < MEDIA_RECOMMENDATION_ITEMS_PER_ROW) {
|
||||||
setVisibleAndAlpha(collapsedSet,
|
setVisibleAndAlpha(collapsedSet,
|
||||||
mediaCoverItemsResIds.get(uiComponentIndex), true);
|
mediaCoverItemsResIds.get(uiComponentIndex), true);
|
||||||
setVisibleAndAlpha(collapsedSet,
|
|
||||||
mediaLogoItemsResIds.get(uiComponentIndex), true);
|
|
||||||
} else {
|
} else {
|
||||||
setVisibleAndAlpha(collapsedSet,
|
setVisibleAndAlpha(collapsedSet,
|
||||||
mediaCoverItemsResIds.get(uiComponentIndex), false);
|
mediaCoverItemsResIds.get(uiComponentIndex), false);
|
||||||
setVisibleAndAlpha(collapsedSet,
|
|
||||||
mediaLogoItemsResIds.get(uiComponentIndex), false);
|
|
||||||
}
|
}
|
||||||
setVisibleAndAlpha(expandedSet,
|
setVisibleAndAlpha(expandedSet,
|
||||||
mediaCoverItemsResIds.get(uiComponentIndex), true);
|
mediaCoverItemsResIds.get(uiComponentIndex), true);
|
||||||
setVisibleAndAlpha(expandedSet,
|
|
||||||
mediaLogoItemsResIds.get(uiComponentIndex), true);
|
|
||||||
|
|
||||||
uiComponentIndex++;
|
uiComponentIndex++;
|
||||||
}
|
}
|
||||||
@@ -681,7 +675,8 @@ public class MediaControlPanel {
|
|||||||
private void setSmartspaceRecItemOnClickListener(
|
private void setSmartspaceRecItemOnClickListener(
|
||||||
@NonNull View view,
|
@NonNull View view,
|
||||||
@NonNull SmartspaceAction action) {
|
@NonNull SmartspaceAction action) {
|
||||||
if (view == null || action == null || action.getIntent() == null) {
|
if (view == null || action == null || action.getIntent() == null
|
||||||
|
|| action.getIntent().getExtras() == null) {
|
||||||
Log.e(TAG, "No tap action can be set up");
|
Log.e(TAG, "No tap action can be set up");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -731,6 +726,38 @@ public class MediaControlPanel {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the application info for the media recommendation's source app.
|
||||||
|
*
|
||||||
|
* @param target Smartspace target contains a list of media recommendations. Each item should
|
||||||
|
* contain the same source app's info.
|
||||||
|
*
|
||||||
|
* @return The source app's application info. This value can be null if no valid application
|
||||||
|
* info can be obtained.
|
||||||
|
*/
|
||||||
|
private ApplicationInfo getApplicationInfo(@NonNull SmartspaceTarget target) {
|
||||||
|
List<SmartspaceAction> mediaRecommendationList = target.getIconGrid();
|
||||||
|
if (mediaRecommendationList == null || mediaRecommendationList.isEmpty()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (SmartspaceAction recommendation: mediaRecommendationList) {
|
||||||
|
Bundle extras = recommendation.getExtras();
|
||||||
|
if (extras != null && extras.getString(EXTRAS_MEDIA_SOURCE_PACKAGE_NAME) != null) {
|
||||||
|
// Get the logo from app's package name when applicable.
|
||||||
|
String packageName = extras.getString(EXTRAS_MEDIA_SOURCE_PACKAGE_NAME);
|
||||||
|
try {
|
||||||
|
return mContext.getPackageManager()
|
||||||
|
.getApplicationInfo(packageName, 0 /* flags */);
|
||||||
|
} catch (PackageManager.NameNotFoundException e) {
|
||||||
|
Log.w(TAG, "Fail to get media recommendation's app info", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the surface given the current end location for MediaViewController
|
* Get the surface given the current end location for MediaViewController
|
||||||
* @return surface used for Smartspace logging
|
* @return surface used for Smartspace logging
|
||||||
|
|||||||
@@ -40,13 +40,6 @@ class RecommendationViewHolder private constructor(itemView: View) {
|
|||||||
itemView.requireViewById(R.id.media_cover4),
|
itemView.requireViewById(R.id.media_cover4),
|
||||||
itemView.requireViewById(R.id.media_cover5),
|
itemView.requireViewById(R.id.media_cover5),
|
||||||
itemView.requireViewById(R.id.media_cover6))
|
itemView.requireViewById(R.id.media_cover6))
|
||||||
val mediaLogoItems = listOf<ImageView>(
|
|
||||||
itemView.requireViewById(R.id.media_logo1),
|
|
||||||
itemView.requireViewById(R.id.media_logo2),
|
|
||||||
itemView.requireViewById(R.id.media_logo3),
|
|
||||||
itemView.requireViewById(R.id.media_logo4),
|
|
||||||
itemView.requireViewById(R.id.media_logo5),
|
|
||||||
itemView.requireViewById(R.id.media_logo6))
|
|
||||||
val mediaCoverItemsResIds = listOf<@IntegerRes Int>(
|
val mediaCoverItemsResIds = listOf<@IntegerRes Int>(
|
||||||
R.id.media_cover1,
|
R.id.media_cover1,
|
||||||
R.id.media_cover2,
|
R.id.media_cover2,
|
||||||
@@ -54,13 +47,6 @@ class RecommendationViewHolder private constructor(itemView: View) {
|
|||||||
R.id.media_cover4,
|
R.id.media_cover4,
|
||||||
R.id.media_cover5,
|
R.id.media_cover5,
|
||||||
R.id.media_cover6)
|
R.id.media_cover6)
|
||||||
val mediaLogoItemsResIds = listOf<@IntegerRes Int>(
|
|
||||||
R.id.media_logo1,
|
|
||||||
R.id.media_logo2,
|
|
||||||
R.id.media_logo3,
|
|
||||||
R.id.media_logo4,
|
|
||||||
R.id.media_logo5,
|
|
||||||
R.id.media_logo6)
|
|
||||||
|
|
||||||
// Settings/Guts screen
|
// Settings/Guts screen
|
||||||
val cancel = itemView.requireViewById<View>(R.id.cancel)
|
val cancel = itemView.requireViewById<View>(R.id.cancel)
|
||||||
@@ -71,7 +57,6 @@ class RecommendationViewHolder private constructor(itemView: View) {
|
|||||||
init {
|
init {
|
||||||
(recommendations.background as IlluminationDrawable).let { background ->
|
(recommendations.background as IlluminationDrawable).let { background ->
|
||||||
mediaCoverItems.forEach { background.registerLightSource(it) }
|
mediaCoverItems.forEach { background.registerLightSource(it) }
|
||||||
mediaLogoItems.forEach { background.registerLightSource(it) }
|
|
||||||
background.registerLightSource(cancel)
|
background.registerLightSource(cancel)
|
||||||
background.registerLightSource(dismiss)
|
background.registerLightSource(dismiss)
|
||||||
background.registerLightSource(dismissLabel)
|
background.registerLightSource(dismissLabel)
|
||||||
@@ -109,13 +94,7 @@ class RecommendationViewHolder private constructor(itemView: View) {
|
|||||||
R.id.media_cover3,
|
R.id.media_cover3,
|
||||||
R.id.media_cover4,
|
R.id.media_cover4,
|
||||||
R.id.media_cover5,
|
R.id.media_cover5,
|
||||||
R.id.media_cover6,
|
R.id.media_cover6
|
||||||
R.id.media_logo1,
|
|
||||||
R.id.media_logo2,
|
|
||||||
R.id.media_logo3,
|
|
||||||
R.id.media_logo4,
|
|
||||||
R.id.media_logo5,
|
|
||||||
R.id.media_logo6
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Res Ids for the components on the guts panel.
|
// Res Ids for the components on the guts panel.
|
||||||
|
|||||||
Reference in New Issue
Block a user