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

Commit 0f869b0f authored by cecilia's avatar cecilia Committed by Cecilia Hong
Browse files

Set media recos app icon to be grayscale.

Screenshots:
- http://screen/5ywrW9wkSo4j7cA
- http://screen/52JgX9WAcRkKoTD

Fixes: 186699032
Test: Local builds

Change-Id: Ifb46b6ffbf7b74b8b0459467238e82a21a99cffb
parent 8093fd20
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@
        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" />
        style="@style/MediaPlayer.AppIcon.Recommendation" />

    <ImageView
        android:id="@+id/media_cover2"
@@ -91,7 +91,7 @@
        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" />
        style="@style/MediaPlayer.AppIcon.Recommendation" />

    <ImageView
        android:id="@+id/media_cover3"
@@ -107,7 +107,7 @@
        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" />
        style="@style/MediaPlayer.AppIcon.Recommendation" />

    <ImageView
        android:id="@+id/media_cover4"
@@ -123,7 +123,7 @@
        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" />
        style="@style/MediaPlayer.AppIcon.Recommendation" />

    <ImageView
        android:id="@+id/media_cover5"
@@ -139,7 +139,7 @@
        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" />
        style="@style/MediaPlayer.AppIcon.Recommendation" />

    <ImageView
        android:id="@+id/media_cover6"
@@ -155,7 +155,7 @@
        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" />
        style="@style/MediaPlayer.AppIcon.Recommendation" />

    <!-- Long press menu -->
    <TextView
+4 −1
Original line number Diff line number Diff line
@@ -660,9 +660,12 @@
        <item name="android:tint">?android:attr/colorAccent</item>
    </style>

    <style name="MediaPlayer.AppIcon.Recommendation" parent="MediaPlayer.AppIcon">
        <item name="android:tint">@color/transparent</item>
    </style>

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

    </style>

    <!-- Used to style charging animation AVD animation -->
+13 −4
Original line number Diff line number Diff line
@@ -25,7 +25,8 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.ColorStateList;
import android.graphics.PorterDuff;
import android.graphics.ColorMatrix;
import android.graphics.ColorMatrixColorFilter;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon;
@@ -515,8 +516,9 @@ public class MediaControlPanel {
                // Get the logo from app's package name when applicable.
                String packageName = extras.getString(EXTRAS_MEDIA_SOURCE_PACKAGE_NAME);
                try {
                    icon = mContext.getPackageManager().getApplicationIcon(
                    Drawable drawable = mContext.getPackageManager().getApplicationIcon(
                            packageName);
                    icon = convertToGrayscale(drawable);
                } catch (PackageManager.NameNotFoundException e) {
                    Log.w(TAG, "No media source icon can be fetched via package name", e);
                }
@@ -528,8 +530,6 @@ public class MediaControlPanel {
            // Set up media source app's logo.
            ImageView mediaSourceLogoImageView = mediaLogoItems.get(uiComponentIndex);
            mediaSourceLogoImageView.setImageDrawable(icon);
            // TODO(b/186699032): Tint the app logo using the accent color.
            mediaSourceLogoImageView.setColorFilter(backgroundColor, PorterDuff.Mode.XOR);

            // Set up media item cover.
            ImageView mediaCoverImageView = mediaCoverItems.get(uiComponentIndex);
@@ -651,6 +651,15 @@ public class MediaControlPanel {
        return (state.getState() == PlaybackState.STATE_PLAYING);
    }

    /** Convert the pass-in source drawable to a grayscale one. */
    private Drawable convertToGrayscale(Drawable drawable) {
        ColorMatrix matrix = new ColorMatrix();
        matrix.setSaturation(0);
        ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
        drawable.setColorFilter(filter);
        return drawable;
    }

    private void setVisibleAndAlpha(ConstraintSet set, int actionId, boolean visible) {
        set.setVisibility(actionId, visible ? ConstraintSet.VISIBLE : ConstraintSet.GONE);
        set.setAlpha(actionId, visible ? 1.0f : 0.0f);