Fix the icon flash issue cause from the shared drawable icon
different time slot may have the same application entry, we should not make them share the same drawable instance to impact the states, we will use newDrawable() method to create a new one for each application entry Bug: 198553245 Test: make SettingsRoboTests Change-Id: I4a321133ba171817fca1ab7ad47b9af8f7450675
This commit is contained in:
@@ -113,7 +113,7 @@ public class BatteryDiffEntry {
|
||||
/** Gets the app icon {@link Drawable} for this entry. */
|
||||
public Drawable getAppIcon() {
|
||||
loadLabelAndIcon();
|
||||
return mAppIcon;
|
||||
return mAppIcon.getConstantState().newDrawable();
|
||||
}
|
||||
|
||||
/** Gets the app icon id for this entry. */
|
||||
@@ -348,8 +348,8 @@ public class BatteryDiffEntry {
|
||||
|
||||
private Drawable getBadgeIconForUser(Drawable icon) {
|
||||
final int userId = UserHandle.getUserId((int) mBatteryHistEntry.mUid);
|
||||
final UserHandle userHandle = new UserHandle(userId);
|
||||
return mUserManager.getBadgedIconForUser(icon, userHandle);
|
||||
return userId == UserHandle.USER_OWNER ? icon :
|
||||
mUserManager.getBadgedIconForUser(icon, new UserHandle(userId));
|
||||
}
|
||||
|
||||
private static boolean isSystemUid(int uid) {
|
||||
|
Reference in New Issue
Block a user