Load application icon and label for UID battery consumer type

Bug: 185187669
Test: make SettingsRoboTests
Test: make SettingsGoogleRoboTests
Change-Id: Idb77a1bd48f7f4b66b86ff12c166a204d17bd9ec
This commit is contained in:
ykhung
2021-04-14 17:19:32 +08:00
committed by YUKAI HUNG
parent 42f8180428
commit 59da7ab7b1
3 changed files with 164 additions and 18 deletions

View File

@@ -111,7 +111,8 @@ public class BatteryEntry {
}
final NameAndIcon nameAndIcon =
BatteryEntry.loadNameAndIcon(
be.mContext, be.getUid(), sHandler, be, be.mDefaultPackageName);
be.mContext, be.getUid(), sHandler, be,
be.mDefaultPackageName, be.name, be.icon);
if (nameAndIcon != null) {
be.icon = getNonNull(be.icon, nameAndIcon.icon);
be.name = getNonNull(be.name, nameAndIcon.name);
@@ -274,6 +275,7 @@ public class BatteryEntry {
icon = mContext.getPackageManager().getDefaultActivityIcon();
}
// Avoids post the loading icon and label in the background request.
if (sHandler != null && loadDataInBackground) {
synchronized (sRequestQueue) {
sRequestQueue.add(this);
@@ -289,9 +291,9 @@ public class BatteryEntry {
int uid,
Handler handler,
BatteryEntry batteryEntry,
String defaultPackageName) {
String name = null;
Drawable icon = null;
String defaultPackageName,
String name,
Drawable icon) {
// Bail out if the current sipper is not an App sipper.
if (uid == 0 || uid == Process.INVALID_UID) {
return null;