diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 867fecb2e90..0632f72eb09 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1646,4 +1646,8 @@
- 1875000
+
+
+
diff --git a/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java
index db4cc536579..1ecde443dce 100644
--- a/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java
@@ -59,6 +59,7 @@ import com.android.settingslib.utils.StringUtil;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
+import java.util.Set;
/**
* Controller that update the battery header view
@@ -72,7 +73,6 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
private static final int MIN_AVERAGE_POWER_THRESHOLD_MILLI_AMP = 10;
private static final String MEDIASERVER_PACKAGE_NAME = "mediaserver";
- private final String mPreferenceKey;
@VisibleForTesting
PreferenceGroup mAppListGroup;
private BatteryUsageStats mBatteryUsageStats;
@@ -83,6 +83,9 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
private final PackageManager mPackageManager;
private final SettingsActivity mActivity;
private final InstrumentedPreferenceFragment mFragment;
+ private final Set mNotAllowShowSummaryPackages;
+ private final String mPreferenceKey;
+
private Context mPrefContext;
/**
@@ -159,6 +162,10 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
mPackageManager = context.getPackageManager();
mActivity = activity;
mFragment = fragment;
+ mNotAllowShowSummaryPackages = Set.of(
+ FeatureFactory.getFactory(context)
+ .getPowerUsageFeatureProvider(context)
+ .getHideApplicationSummary(context));
}
@Override
@@ -425,7 +432,13 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
@VisibleForTesting
void setUsageSummary(Preference preference, BatteryEntry entry) {
if (entry.getUid() == Process.SYSTEM_UID) {
- return;
+ return;
+ }
+ String packageName = entry.getDefaultPackageName();
+ if (packageName != null
+ && mNotAllowShowSummaryPackages != null
+ && mNotAllowShowSummaryPackages.contains(packageName)) {
+ return;
}
// Only show summary when usage time is longer than one minute
final long usageTimeMs = entry.getTimeInForegroundMs();
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
index 45b4886fc9e..bc25381d04d 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
@@ -25,6 +25,7 @@ import android.util.ArraySet;
import android.util.SparseIntArray;
import com.android.internal.util.ArrayUtils;
+import com.android.settings.R;
import com.android.settingslib.fuelgauge.Estimate;
import java.util.Map;
@@ -179,6 +180,7 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
@Override
public CharSequence[] getHideApplicationSummary(Context context) {
- return new CharSequence[0];
+ return context.getResources().getTextArray(
+ R.array.allowlist_hide_summary_in_battery_usage);
}
}