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

Commit 4d85ce5d 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: Ie49eabe533e8305456cc04b241596aa7c6de81b7
parents f9b99dcc 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");