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

Commit a08adafb authored by Michael Mikhail's avatar Michael Mikhail
Browse files

Add minimum height and width to recommendation covers

Found an illegal exception because the width or height of a certain
image view is zero. The crash came from adding the recommendation card.
So to make sure we have a certain value for height and width, we add
minWidth and minHeight attributes in style.And post set the image icon in order to avoid create bitmap before width and height are set.

Also, added a dimension for recommendation album icon size.

Bug: 271959514
Test: atest MediaControlPanelTest.
Test: checked recommendation card UI for old and new version.
Change-Id: Ic99cf0b5f58217c95940bae29fc3ba2e6efbbb9b
parent 16685036
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -31,8 +31,10 @@
    <!-- App icon -->
    <com.android.internal.widget.CachingIconView
        android:id="@+id/media_rec_app_icon"
        android:layout_width="@dimen/qs_media_rec_icon_top_margin"
        android:layout_height="@dimen/qs_media_rec_icon_top_margin"
        android:layout_width="@dimen/qs_media_rec_album_icon_size"
        android:layout_height="@dimen/qs_media_rec_album_icon_size"
        android:minWidth="@dimen/qs_media_rec_album_icon_size"
        android:minHeight="@dimen/qs_media_rec_album_icon_size"
        android:layout_marginStart="@dimen/qs_media_info_spacing"
        android:layout_marginTop="@dimen/qs_media_info_spacing"/>

+8 −0
Original line number Diff line number Diff line
@@ -40,6 +40,8 @@
        android:id="@+id/recommendation_card_icon"
        android:layout_width="@dimen/qs_media_app_icon_size"
        android:layout_height="@dimen/qs_media_app_icon_size"
        android:minWidth="@dimen/qs_media_app_icon_size"
        android:minHeight="@dimen/qs_media_app_icon_size"
        android:layout_marginStart="@dimen/qs_media_padding"
        android:layout_marginTop="@dimen/qs_media_rec_icon_top_margin"
        app:layout_constraintStart_toStartOf="parent"
@@ -53,6 +55,8 @@
            android:id="@+id/media_cover1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:minWidth="@dimen/qs_media_rec_album_size"
            android:minHeight="@dimen/qs_media_rec_album_size"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            android:adjustViewBounds="true"
@@ -80,6 +84,8 @@
            android:id="@+id/media_cover2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:minWidth="@dimen/qs_media_rec_album_size"
            android:minHeight="@dimen/qs_media_rec_album_size"
            android:adjustViewBounds="true"
            android:background="@drawable/bg_smartspace_media_item"
            style="@style/MediaPlayer.Recommendation.Album"
@@ -105,6 +111,8 @@
            android:id="@+id/media_cover3"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:minWidth="@dimen/qs_media_rec_album_size"
            android:minHeight="@dimen/qs_media_rec_album_size"
            android:adjustViewBounds="true"
            android:background="@drawable/bg_smartspace_media_item"
            style="@style/MediaPlayer.Recommendation.Album"
+1 −0
Original line number Diff line number Diff line
@@ -1102,6 +1102,7 @@

    <!-- Size of Smartspace media recommendations cards in the QSPanel carousel -->
    <dimen name="qs_media_rec_icon_top_margin">16dp</dimen>
    <dimen name="qs_media_rec_album_icon_size">16dp</dimen>
    <dimen name="qs_media_rec_album_size">88dp</dimen>
    <dimen name="qs_media_rec_album_width">110dp</dimen>
    <dimen name="qs_media_rec_album_height_expanded">108dp</dimen>
+2 −0
Original line number Diff line number Diff line
@@ -699,6 +699,8 @@

    <style name="MediaPlayer.Recommendation.AlbumContainer.Updated">
        <item name="android:layout_width">@dimen/qs_media_rec_album_width</item>
        <item name="android:minWidth">@dimen/qs_media_rec_album_width</item>
        <item name="android:minHeight">@dimen/qs_media_rec_album_height_collapsed</item>
        <item name="android:background">@drawable/qs_media_light_source</item>
        <item name="android:layout_marginTop">@dimen/qs_media_info_spacing</item>
    </style>
+2 −1
Original line number Diff line number Diff line
@@ -1370,7 +1370,8 @@ public class MediaControlPanel {
                        itemIndex
                );
            } else {
                mediaCoverImageView.setImageIcon(recommendation.getIcon());
                mediaCoverImageView.post(
                        () -> mediaCoverImageView.setImageIcon(recommendation.getIcon()));
            }

            // Set up the media item's click listener if applicable.