From 273d3445eed170b124ffe41590279e6b15ad0ad0 Mon Sep 17 00:00:00 2001 From: ykhung Date: Tue, 15 Mar 2022 14:00:29 +0800 Subject: [PATCH] Update the categorize rule for system and app item bucket Add a config to control different design concept in the chart 1) put all apps with system UID and system components (e.g. bluetooth, display, wifi ... etc) into the system bucket or 2) separate them into two different bucket (app & system bucket) in the chart UI for better experimental testing Bug: 202118250 Test: make RunSettingsRoboTests Change-Id: Id6f7c07d96ad8a365e7405160a5248c57a5a008d --- res/values/config.xml | 2 ++ .../android/settings/fuelgauge/BatteryDiffEntry.java | 11 +++++++++-- .../settings/fuelgauge/BatteryDiffEntryTest.java | 4 ++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/res/values/config.xml b/res/values/config.xml index 89333059105..0d67de7d3c1 100755 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -618,4 +618,6 @@ false + + false diff --git a/src/com/android/settings/fuelgauge/BatteryDiffEntry.java b/src/com/android/settings/fuelgauge/BatteryDiffEntry.java index e524e984d78..ca29cfe9884 100644 --- a/src/com/android/settings/fuelgauge/BatteryDiffEntry.java +++ b/src/com/android/settings/fuelgauge/BatteryDiffEntry.java @@ -25,6 +25,7 @@ import android.util.Log; import androidx.annotation.VisibleForTesting; +import com.android.settings.R; import com.android.settingslib.utils.StringUtil; import java.util.Comparator; @@ -52,6 +53,7 @@ public class BatteryDiffEntry { public double mConsumePower; // A BatteryHistEntry corresponding to this diff usage data. public final BatteryHistEntry mBatteryHistEntry; + private double mTotalConsumePower; private double mPercentOfTotal; @@ -151,8 +153,13 @@ public class BatteryDiffEntry { case ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY: return true; case ConvertUtils.CONSUMER_TYPE_UID_BATTERY: - return isSystemUid((int) mBatteryHistEntry.mUid) - || mBatteryHistEntry.mIsHidden; + if (mBatteryHistEntry.mIsHidden) { + return true; + } + final boolean combineSystemComponents = + mContext.getResources().getBoolean( + R.bool.config_battery_combine_system_components); + return combineSystemComponents && isSystemUid((int) mBatteryHistEntry.mUid); } return false; } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryDiffEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryDiffEntryTest.java index b1d8f0d5a6d..13ce29efaa7 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryDiffEntryTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryDiffEntryTest.java @@ -349,12 +349,12 @@ public final class BatteryDiffEntryTest { } @Test - public void testIsSystemEntry_uidBatteryWithSystemProcess_returnTrue() { + public void testIsSystemEntry_uidBatteryWithSystemProcess_returnFalse() { final BatteryDiffEntry entry = createBatteryDiffEntry( ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*uid=*/ 1230, /*isHidden=*/ false); - assertThat(entry.isSystemEntry()).isTrue(); + assertThat(entry.isSystemEntry()).isFalse(); } @Test