Merge "Refactor battery usage page contollers interaction logic" into udc-qpr-dev
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 07d05f9..48caa5e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -12147,8 +12147,8 @@
<string name="aspect_ratio_summary">Choose an aspect ratio to view this app if it hasn\'t been designed to fit your <xliff:g id="device_name">%1$s</xliff:g></string>
<!-- [CHAR LIMIT=NONE] Aspect ratio suggested apps filter label -->
<string name="user_aspect_ratio_suggested_apps_label">Suggested apps</string>
- <!-- [CHAR LIMIT=NONE] Filter label for apps that have user aspect ratio override applied -->
- <string name="user_aspect_ratio_overridden_apps_label">Apps you have overridden</string>
+ <!-- [CHAR LIMIT=14] Filter label for apps that have user aspect ratio changed -->
+ <string name="user_aspect_ratio_changed_apps_label">Changed apps</string>
<!-- [CHAR LIMIT=NONE] App default aspect ratio entry -->
<string name="user_aspect_ratio_app_default">App default</string>
<!-- [CHAR LIMIT=NONE] Fullscreen aspect ratio entry -->
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java
index ed5f182..952b83f 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java
@@ -120,6 +120,7 @@
mFetchBatteryUsageData = true;
BatteryUsageDataLoader.enqueueWork(context, /*isFullChargeStart=*/ true);
+ BootBroadcastReceiver.invokeJobRecheck(context);
}
private void sendBatteryEventData(Context context, BatteryEventType batteryEventType) {
diff --git a/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java b/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
index ec0d01a..a1987c9 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
@@ -473,6 +473,9 @@
.setConsumePower(batteryDiffEntry.mConsumePower)
.setForegroundUsageConsumePower(batteryDiffEntry.mForegroundUsageConsumePower)
.setBackgroundUsageConsumePower(batteryDiffEntry.mBackgroundUsageConsumePower)
+ .setForegroundServiceUsageConsumePower(
+ batteryDiffEntry.mForegroundServiceUsageConsumePower)
+ .setCachedUsageConsumePower(batteryDiffEntry.mCachedUsageConsumePower)
.setForegroundUsageTime(batteryDiffEntry.mForegroundUsageTimeInMs)
.setBackgroundUsageTime(batteryDiffEntry.mBackgroundUsageTimeInMs)
.setScreenOnTime(batteryDiffEntry.mScreenOnTimeInMs);
@@ -525,9 +528,9 @@
batteryUsageDiff.getScreenOnTime(),
batteryUsageDiff.getConsumePower(),
batteryUsageDiff.getForegroundUsageConsumePower(),
- /*foregroundServiceUsageConsumePower=*/ 0,
+ batteryUsageDiff.getForegroundServiceUsageConsumePower(),
batteryUsageDiff.getBackgroundUsageConsumePower(),
- /*cachedUsageConsumePower=*/ 0);
+ batteryUsageDiff.getCachedUsageConsumePower());
}
static BatteryDiffData convertToBatteryDiffData(
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManager.java b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManager.java
index 8c0e66c..43cd69d 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManager.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManager.java
@@ -68,6 +68,8 @@
/** Schedules the next alarm job if it is available. */
public void refreshJob(final boolean fromBoot) {
if (mAlarmManager == null) {
+ BatteryUsageLogUtils.writeLog(mContext, Action.SCHEDULE_JOB,
+ "cannot schedule next alarm job due to AlarmManager is null");
Log.e(TAG, "cannot schedule next alarm job");
return;
}
@@ -80,8 +82,8 @@
AlarmManager.RTC_WAKEUP, triggerAtMillis, pendingIntent);
final String utcToLocalTime = ConvertUtils.utcToLocalTimeForLogging(triggerAtMillis);
- BatteryUsageLogUtils.writeLog(
- mContext, Action.SCHEDULE_JOB, "triggerTime=" + utcToLocalTime);
+ BatteryUsageLogUtils.writeLog(mContext, Action.SCHEDULE_JOB,
+ String.format("triggerTime=%s, fromBoot=%b", utcToLocalTime, fromBoot));
Log.d(TAG, "schedule next alarm job at " + utcToLocalTime);
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
index 2371a19..dccca43 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
@@ -33,12 +33,23 @@
@Override
public void onReceive(Context context, Intent intent) {
+ try {
+ loadDataAndRefreshJob(context, intent);
+ } catch (Exception e) {
+ BatteryUsageLogUtils.writeLog(context, Action.SCHEDULE_JOB,
+ String.format("loadDataAndRefreshJob() failed: %s", e));
+ }
+ }
+
+ private static void loadDataAndRefreshJob(Context context, Intent intent) {
final String action = intent == null ? "" : intent.getAction();
if (!ACTION_PERIODIC_JOB_UPDATE.equals(action)) {
Log.w(TAG, "receive unexpected action=" + action);
return;
}
if (DatabaseUtils.isWorkProfile(context)) {
+ BatteryUsageLogUtils.writeLog(context, Action.SCHEDULE_JOB,
+ "do not refresh job for work profile");
Log.w(TAG, "do not refresh job for work profile action=" + action);
return;
}
diff --git a/src/com/android/settings/fuelgauge/protos/battery_usage_slot.proto b/src/com/android/settings/fuelgauge/protos/battery_usage_slot.proto
index e3b604b..5bc1a3e 100644
--- a/src/com/android/settings/fuelgauge/protos/battery_usage_slot.proto
+++ b/src/com/android/settings/fuelgauge/protos/battery_usage_slot.proto
@@ -26,7 +26,9 @@
optional double consume_power = 9;
optional double foreground_usage_consume_power = 10;
optional double background_usage_consume_power = 11;
- optional int64 foreground_usage_time = 12;
- optional int64 background_usage_time = 13;
- optional int64 screen_on_time = 14;
+ optional double foreground_service_usage_consume_power = 12;
+ optional double cached_usage_consume_power = 13;
+ optional int64 foreground_usage_time = 14;
+ optional int64 background_usage_time = 15;
+ optional int64 screen_on_time = 16;
}
diff --git a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
index 35e99a7..c58f2d4 100644
--- a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
+++ b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
@@ -217,5 +217,5 @@
private enum class SpinnerItem(val stringResId: Int) {
Suggested(R.string.user_aspect_ratio_suggested_apps_label),
All(R.string.filter_all_apps),
- Overridden(R.string.user_aspect_ratio_overridden_apps_label)
+ Overridden(R.string.user_aspect_ratio_changed_apps_label)
}
\ No newline at end of file