Loading core/java/com/android/internal/widget/MessagingLayout.java +23 −12 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import com.android.internal.util.NotificationColorUtil; import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; import java.util.regex.Pattern; /** * A custom-built layout for the Notification.MessagingStyle allows dynamic addition and removal Loading @@ -59,6 +60,8 @@ import java.util.function.Consumer; public class MessagingLayout extends FrameLayout { private static final float COLOR_SHIFT_AMOUNT = 60; private static final Pattern SPECIAL_CHAR_PATTERN = Pattern.compile ("[!@#$%&*()_+=|<>?{}\\[\\]~-]"); private static final Consumer<MessagingMessage> REMOVE_MESSAGE = MessagingMessage::removeMessage; public static final Interpolator LINEAR_OUT_SLOW_IN = new PathInterpolator(0f, 0f, 0.2f, 1f); Loading Loading @@ -259,6 +262,13 @@ public class MessagingLayout extends FrameLayout { } public Icon createAvatarSymbol(CharSequence senderName, String symbol, int layoutColor) { if (symbol.isEmpty() || TextUtils.isDigitsOnly(symbol) || SPECIAL_CHAR_PATTERN.matcher(symbol).find()) { Icon avatarIcon = Icon.createWithResource(getContext(), com.android.internal.R.drawable.messaging_user); avatarIcon.setTint(findColor(senderName, layoutColor)); return avatarIcon; } else { Bitmap bitmap = Bitmap.createBitmap(mAvatarSize, mAvatarSize, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); float radius = mAvatarSize / 2.0f; Loading @@ -272,6 +282,7 @@ public class MessagingLayout extends FrameLayout { canvas.drawText(symbol, radius, yPos, mTextPaint); return Icon.createWithBitmap(bitmap); } } private int findColor(CharSequence senderName, int layoutColor) { double luminance = NotificationColorUtil.calculateLuminance(layoutColor); Loading Loading
core/java/com/android/internal/widget/MessagingLayout.java +23 −12 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import com.android.internal.util.NotificationColorUtil; import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; import java.util.regex.Pattern; /** * A custom-built layout for the Notification.MessagingStyle allows dynamic addition and removal Loading @@ -59,6 +60,8 @@ import java.util.function.Consumer; public class MessagingLayout extends FrameLayout { private static final float COLOR_SHIFT_AMOUNT = 60; private static final Pattern SPECIAL_CHAR_PATTERN = Pattern.compile ("[!@#$%&*()_+=|<>?{}\\[\\]~-]"); private static final Consumer<MessagingMessage> REMOVE_MESSAGE = MessagingMessage::removeMessage; public static final Interpolator LINEAR_OUT_SLOW_IN = new PathInterpolator(0f, 0f, 0.2f, 1f); Loading Loading @@ -259,6 +262,13 @@ public class MessagingLayout extends FrameLayout { } public Icon createAvatarSymbol(CharSequence senderName, String symbol, int layoutColor) { if (symbol.isEmpty() || TextUtils.isDigitsOnly(symbol) || SPECIAL_CHAR_PATTERN.matcher(symbol).find()) { Icon avatarIcon = Icon.createWithResource(getContext(), com.android.internal.R.drawable.messaging_user); avatarIcon.setTint(findColor(senderName, layoutColor)); return avatarIcon; } else { Bitmap bitmap = Bitmap.createBitmap(mAvatarSize, mAvatarSize, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); float radius = mAvatarSize / 2.0f; Loading @@ -272,6 +282,7 @@ public class MessagingLayout extends FrameLayout { canvas.drawText(symbol, radius, yPos, mTextPaint); return Icon.createWithBitmap(bitmap); } } private int findColor(CharSequence senderName, int layoutColor) { double luminance = NotificationColorUtil.calculateLuminance(layoutColor); Loading