Fix the badge in badge (triple badging), by simply removing the user badge (FLAG_SKIP_USER_BADGE).

This is used in the bigIconRow where we remove the workBadge in the icon and put the icon after the title in BIG_ICON_ROW.

bug:276957152
Flag: n/a
Test: manual -
before: https://screenshot.googleplex.com/BXShenE2kGrZXtF
after: https://screenshot.googleplex.com/AVYxpDyJ7JGet8h

Change-Id: Icefb9c8192d9841c95c8f6d628026f336e0b7195
This commit is contained in:
Brandon Dayauon
2023-09-08 15:25:47 -07:00
parent 4d59d52d1e
commit f2b2202bd8

View File

@@ -22,6 +22,7 @@ import static com.android.launcher3.Flags.enableCursorHoverStates;
import static com.android.launcher3.config.FeatureFlags.ENABLE_ICON_LABEL_AUTO_SCALING;
import static com.android.launcher3.graphics.PreloadIconDrawable.newPendingIcon;
import static com.android.launcher3.icons.BitmapInfo.FLAG_NO_BADGE;
import static com.android.launcher3.icons.BitmapInfo.FLAG_SKIP_USER_BADGE;
import static com.android.launcher3.icons.BitmapInfo.FLAG_THEMED;
import static com.android.launcher3.icons.GraphicsUtils.setColorAlphaBound;
import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_INCREMENTAL_DOWNLOAD_ACTIVE;
@@ -164,6 +165,8 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
@ViewDebug.ExportedProperty(category = "launcher")
private boolean mHideBadge = false;
@ViewDebug.ExportedProperty(category = "launcher")
private boolean mSkipUserBadge = false;
@ViewDebug.ExportedProperty(category = "launcher")
private boolean mIsIconVisible = true;
@ViewDebug.ExportedProperty(category = "launcher")
private int mTextColor;
@@ -266,6 +269,10 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
mHideBadge = hideBadge;
}
public void setSkipUserBadge(boolean skipUserBadge) {
mSkipUserBadge = skipUserBadge;
}
/**
* Resets the view so it can be recycled.
*/
@@ -395,6 +402,9 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
if (mHideBadge || mDisplay == DISPLAY_SEARCH_RESULT_SMALL) {
flags |= FLAG_NO_BADGE;
}
if (mSkipUserBadge) {
flags |= FLAG_SKIP_USER_BADGE;
}
FastBitmapDrawable iconDrawable = info.newIcon(getContext(), flags);
mDotParams.appColor = iconDrawable.getIconColor();
mDotParams.dotColor = Themes.getAttrColor(getContext(), R.attr.notificationDotColor);