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

Commit a49b69e5 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: I6a80083a72a41831069d1a25afb2f71db3282ca3
parents eadd54e1 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");