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

Commit b29b2cac authored by tim peng's avatar tim peng Committed by Automerger Merge Worker
Browse files

Merge "Apply round corner to the album icon in output switcher panel" into rvc-dev am: b6ed02fa

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11970211

Change-Id: I0a21496b30523e0dbbb320e41b15f4d0a740594b
parents d5c12147 b6ed02fa
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -425,6 +425,7 @@
    <dimen name="output_switcher_slice_padding_top">11dp</dimen>
    <dimen name="output_switcher_slice_max_height">506dp</dimen>
    <dimen name="output_switcher_panel_icon_size">52dp</dimen>
    <dimen name="output_switcher_panel_icon_corner_radius">16dp</dimen>

    <!-- Text padding for EmptyTextSettings -->
    <dimen name="empty_text_padding">24dp</dimen>
+24 −0
Original line number Diff line number Diff line
@@ -92,8 +92,11 @@ import android.widget.EditText;
import android.widget.ListView;
import android.widget.TabWidget;

import androidx.annotation.NonNull;
import androidx.annotation.StringRes;
import androidx.core.graphics.drawable.IconCompat;
import androidx.core.graphics.drawable.RoundedBitmapDrawable;
import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Lifecycle;
import androidx.preference.Preference;
@@ -1113,4 +1116,25 @@ public final class Utils extends com.android.settingslib.Utils {
                context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
        return currentNightMode == Configuration.UI_MODE_NIGHT_YES;
    }

    /**
     * Returns a bitmap with rounded corner.
     *
     * @param context application context.
     * @param source bitmap to apply round corner.
     * @param cornerRadius corner radius value.
     */
    public static Bitmap convertCornerRadiusBitmap(@NonNull Context context,
            @NonNull Bitmap source, @NonNull float cornerRadius) {
        final Bitmap roundedBitmap = Bitmap.createBitmap(source.getWidth(), source.getHeight(),
                Bitmap.Config.ARGB_8888);
        final RoundedBitmapDrawable drawable =
                RoundedBitmapDrawableFactory.create(context.getResources(), source);
        drawable.setAntiAlias(true);
        drawable.setCornerRadius(cornerRadius);
        final Canvas canvas = new Canvas(roundedBitmap);
        drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
        drawable.draw(canvas);
        return roundedBitmap;
    }
}
+5 −1
Original line number Diff line number Diff line
@@ -116,7 +116,11 @@ public class MediaOutputPanel implements PanelContent, LocalMediaManager.DeviceC
        if (metadata != null) {
            final Bitmap bitmap = metadata.getDescription().getIconBitmap();
            if (bitmap != null) {
                return IconCompat.createWithBitmap(bitmap);
                final Bitmap roundBitmap = Utils.convertCornerRadiusBitmap(mContext, bitmap,
                        (float) mContext.getResources().getDimensionPixelSize(
                                R.dimen.output_switcher_panel_icon_corner_radius));

                return IconCompat.createWithBitmap(roundBitmap);
            }
        }
        Log.d(TAG, "Media meta data does not contain icon information");