Merge "Support special tethering and removed apps UID in the usage list" into tm-dev am: 434009d709 am: 5f597a5f18

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18158878

Change-Id: I519da4dafa403606a6c197bb9c8ab56e3eaf9770
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
YK Hung
2022-05-05 13:10:39 +00:00
committed by Automerger Merge Worker
8 changed files with 71 additions and 6 deletions

View File

@@ -243,7 +243,8 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
continue;
}
final UserHandle userHandle = new UserHandle(UserHandle.getUserId(entry.getUid()));
final int uid = entry.getUid();
final UserHandle userHandle = new UserHandle(UserHandle.getUserId(uid));
final Drawable badgedIcon = mUserManager.getBadgedIconForUser(entry.getIcon(),
userHandle);
final CharSequence contentDescription = mUserManager.getBadgedLabelForUser(
@@ -261,6 +262,8 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
pref.setOrder(i + 1);
pref.setPercent(percentOfTotal);
pref.shouldShowAnomalyIcon(false);
pref.setEnabled(uid != BatteryUtils.UID_TETHERING
&& uid != BatteryUtils.UID_REMOVED_APPS);
setUsageSummary(pref, entry);
addedSome = true;
mAppListGroup.addPreference(pref);

View File

@@ -153,13 +153,16 @@ public class BatteryDiffEntry {
case ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY:
return true;
case ConvertUtils.CONSUMER_TYPE_UID_BATTERY:
if (mBatteryHistEntry.mIsHidden) {
final int uid = (int) mBatteryHistEntry.mUid;
if (mBatteryHistEntry.mIsHidden
|| uid == BatteryUtils.UID_REMOVED_APPS
|| uid == BatteryUtils.UID_TETHERING) {
return true;
}
final boolean combineSystemComponents =
mContext.getResources().getBoolean(
R.bool.config_battery_combine_system_components);
return combineSystemComponents && isSystemUid((int) mBatteryHistEntry.mUid);
return combineSystemComponents && isSystemUid(uid);
}
return false;
}

View File

@@ -550,6 +550,10 @@ public class BatteryEntry {
Drawable icon = context.getDrawable(R.drawable.ic_power_system);
if (uid == 0) {
name = context.getResources().getString(R.string.process_kernel_label);
} else if (uid == BatteryUtils.UID_REMOVED_APPS) {
name = context.getResources().getString(R.string.process_removed_apps);
} else if (uid == BatteryUtils.UID_TETHERING) {
name = context.getResources().getString(R.string.process_network_tethering);
} else if ("mediaserver".equals(name)) {
name = context.getResources().getString(R.string.process_mediaserver_label);
} else if ("dex2oat".equals(name) || "dex2oat32".equals(name) ||

View File

@@ -65,6 +65,10 @@ import java.util.List;
public class BatteryUtils {
public static final int UID_NULL = -1;
public static final int SDK_NULL = -1;
/** Special UID value for data usage by removed apps. */
public static final int UID_REMOVED_APPS = -4;
/** Special UID value for data usage by tethering. */
public static final int UID_TETHERING = -5;
@Retention(RetentionPolicy.SOURCE)
@IntDef({StatusType.SCREEN_USAGE,
@@ -188,7 +192,10 @@ public class BatteryUtils {
*/
boolean shouldHideUidBatteryConsumerUnconditionally(UidBatteryConsumer consumer,
String[] packages) {
return consumer.getUid() < 0 || isHiddenSystemModule(packages);
final int uid = consumer.getUid();
return uid == UID_TETHERING
? false
: uid < 0 || isHiddenSystemModule(packages);
}
/**