diff options
author | Ritwika Mitra <ritwikam@google.com> | 2019-12-09 17:33:56 -0800 |
---|---|---|
committer | Ritwika Mitra <ritwikam@google.com> | 2019-12-09 18:47:45 -0800 |
commit | 4663d2a1f43c23f52095c59631901228676c32ca (patch) | |
tree | 0a8bb4dc83d6d20b8d0fead45c1321e80ed15e2c /src | |
parent | 99f2dbc6694092d7fee602b0bcda1e85acecc7c1 (diff) | |
download | platform_packages_apps_Car_Dialer-4663d2a1f43c23f52095c59631901228676c32ca.tar.gz platform_packages_apps_Car_Dialer-4663d2a1f43c23f52095c59631901228676c32ca.tar.bz2 platform_packages_apps_Car_Dialer-4663d2a1f43c23f52095c59631901228676c32ca.zip |
Use TelecomUtils APIs to create Letter Tiles and Bitmaps
Bug: 145832093
Test: manual
Change-Id: I96ec8f092ad6777e4fbe25dec79f1a6ec0cddc6a
Diffstat (limited to 'src')
-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); - } } |