FastBitmapDrawable can draw an icon badge (notification count)
- Added BadgeInfo to contain data to be shown in a badge
(currently just notification count).
- Added BadgeRenderer in DeviceProfile to contain things
relevant to drawing the badge, such as size and Paint's.
- Added IconPalette to compute colors for the badge based
on a dominant color (will also be used for notifications)
- FastBitmapDrawable uses these classes to draw the badge.
Bug: 32410600
Change-Id: I6595a4879943357590f7d20c22594691a573ecaf
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 27afdc0..34ce923 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -31,7 +31,7 @@
import android.widget.FrameLayout;
import com.android.launcher3.CellLayout.ContainerType;
-import com.android.launcher3.config.FeatureFlags;
+import com.android.launcher3.badge.BadgeRenderer;
import java.util.ArrayList;
@@ -136,6 +136,9 @@
// Listeners
private ArrayList<LauncherLayoutChangeListener> mListeners = new ArrayList<>();
+ // Icon badges
+ public BadgeRenderer mBadgeRenderer;
+
public DeviceProfile(Context context, InvariantDeviceProfile inv,
Point minSize, Point maxSize,
int width, int height, boolean isLandscape) {
@@ -193,6 +196,10 @@
hotseatBarBottomPaddingPx = 0;
hotseatLandGutterPx = res.getDimensionPixelSize(R.dimen.dynamic_grid_hotseat_gutter_width);
+ int badgeSize = res.getDimensionPixelSize(R.dimen.badge_size);
+ int badgeTextSize = res.getDimensionPixelSize(R.dimen.badge_text_size);
+ mBadgeRenderer = new BadgeRenderer(badgeSize, badgeTextSize);
+
// Determine sizes.
widthPx = width;
heightPx = height;