diff options
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/car/dialer/notification/NotificationUtils.java | 39 |
1 files changed, 9 insertions, 30 deletions
diff --git a/src/com/android/car/dialer/notification/NotificationUtils.java b/src/com/android/car/dialer/notification/NotificationUtils.java index b185911d..6017933a 100644 --- a/src/com/android/car/dialer/notification/NotificationUtils.java +++ b/src/com/android/car/dialer/notification/NotificationUtils.java @@ -17,8 +17,6 @@ package com.android.car.dialer.notification; import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.Canvas; import android.graphics.drawable.Icon; import android.net.Uri; @@ -27,7 +25,6 @@ import androidx.core.graphics.drawable.RoundedBitmapDrawable; import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; import androidx.core.util.Pair; -import com.android.car.apps.common.LetterTileDrawable; import com.android.car.dialer.R; import com.android.car.telephony.common.TelecomUtils; @@ -48,8 +45,10 @@ final class NotificationUtils { .getDimensionPixelSize(R.dimen.avatar_icon_size); Icon largeIcon = loadContactAvatar(context, info.getAvatarUri(), size); if (largeIcon == null) { - largeIcon = createLetterTile(context, info.getInitials(), - /* identifier */ info.getDisplayName(), size); + float cornerRadiusPercent = context.getResources() + .getFloat(R.dimen.contact_avatar_corner_radius_percent); + largeIcon = TelecomUtils.createLetterTile(context, info.getInitials(), + /* identifier */ info.getDisplayName(), size, cornerRadiusPercent); } return new Pair<>(info.getDisplayName(), largeIcon); @@ -68,34 +67,14 @@ final class NotificationUtils { } RoundedBitmapDrawable roundedBitmapDrawable = RoundedBitmapDrawableFactory.create( context.getResources(), input); - return createFromRoundedBitmapDrawable(context, roundedBitmapDrawable, avatarSize); + float cornerRadiusPercent = context.getResources() + .getFloat(R.dimen.contact_avatar_corner_radius_percent); + return TelecomUtils + .createFromRoundedBitmapDrawable(roundedBitmapDrawable, avatarSize, + cornerRadiusPercent); } catch (FileNotFoundException e) { // No-op } return null; } - - private static Icon createLetterTile(Context context, @Nullable String initials, - String identifier, int avatarSize) { - LetterTileDrawable letterTileDrawable = TelecomUtils.createLetterTile(context, initials, - identifier); - RoundedBitmapDrawable roundedBitmapDrawable = RoundedBitmapDrawableFactory.create( - context.getResources(), letterTileDrawable.toBitmap(avatarSize)); - return createFromRoundedBitmapDrawable(context, roundedBitmapDrawable, avatarSize); - } - - private static Icon createFromRoundedBitmapDrawable(Context context, - RoundedBitmapDrawable roundedBitmapDrawable, int avatarSize) { - float radiusPercent = context.getResources() - .getFloat(R.dimen.contact_avatar_corner_radius_percent); - float radius = avatarSize * radiusPercent; - roundedBitmapDrawable.setCornerRadius(radius); - - final Bitmap result = Bitmap.createBitmap(avatarSize, avatarSize, - Bitmap.Config.ARGB_8888); - final Canvas canvas = new Canvas(result); - roundedBitmapDrawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); - roundedBitmapDrawable.draw(canvas); - return Icon.createWithBitmap(result); - } } |