summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Blake Kragten <kragtenb@google.com> 2019-04-23 14:26:48 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-04-23 14:26:48 +0000
commit25b06f04d4d79b9fc8f9a74d54b27bdccabd88bb (patch)
tree13e7e1e392e99dbe0eb7e33a868fa36a7a62a003
parentc2f1cc8b8e8efb79e1cce0eb8f153a95ed9c283b (diff)
parentf68fa9e364ec4e8c9d18ccaab516c2e5c60aa702 (diff)
Merge "Update Rail Data Collection Frequency" into qt-dev
-rw-r--r--core/java/com/android/internal/os/BatteryStatsImpl.java4
-rw-r--r--services/core/java/com/android/server/am/BatteryExternalStatsWorker.java14
2 files changed, 11 insertions, 7 deletions
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index 1fc76351254b..72f6c122fe3a 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -609,9 +609,7 @@ public class BatteryStatsImpl extends BatteryStats {
int UPDATE_RADIO = 0x04;
int UPDATE_BT = 0x08;
int UPDATE_RPM = 0x10; // 16
- int UPDATE_RAIL = 0x20; // 32
- int UPDATE_ALL = UPDATE_CPU | UPDATE_WIFI | UPDATE_RADIO | UPDATE_BT | UPDATE_RPM
- | UPDATE_RAIL;
+ int UPDATE_ALL = UPDATE_CPU | UPDATE_WIFI | UPDATE_RADIO | UPDATE_BT | UPDATE_RPM;
Future<?> scheduleSync(String reason, int flags);
Future<?> scheduleCpuSyncDueToRemovedUid(int uid);
diff --git a/services/core/java/com/android/server/am/BatteryExternalStatsWorker.java b/services/core/java/com/android/server/am/BatteryExternalStatsWorker.java
index 236797b57556..525531635df6 100644
--- a/services/core/java/com/android/server/am/BatteryExternalStatsWorker.java
+++ b/services/core/java/com/android/server/am/BatteryExternalStatsWorker.java
@@ -407,6 +407,7 @@ class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStatsSync {
SynchronousResultReceiver wifiReceiver = null;
SynchronousResultReceiver bluetoothReceiver = null;
SynchronousResultReceiver modemReceiver = null;
+ boolean railUpdated = false;
if ((updateFlags & BatteryStatsImpl.ExternalStatsSync.UPDATE_WIFI) != 0) {
// We were asked to fetch WiFi data.
@@ -426,6 +427,10 @@ class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStatsSync {
// Oh well.
}
}
+ synchronized (mStats) {
+ mStats.updateRailStatsLocked();
+ }
+ railUpdated = true;
}
if ((updateFlags & BatteryStatsImpl.ExternalStatsSync.UPDATE_BT) != 0) {
@@ -447,6 +452,11 @@ class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStatsSync {
modemReceiver = new SynchronousResultReceiver("telephony");
mTelephony.requestModemActivityInfo(modemReceiver);
}
+ if (!railUpdated) {
+ synchronized (mStats) {
+ mStats.updateRailStatsLocked();
+ }
+ }
}
final WifiActivityEnergyInfo wifiInfo = awaitControllerInfo(wifiReceiver);
@@ -477,10 +487,6 @@ class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStatsSync {
mStats.updateRpmStatsLocked();
}
- if ((updateFlags & UPDATE_RAIL) != 0) {
- mStats.updateRailStatsLocked();
- }
-
if (bluetoothInfo != null) {
if (bluetoothInfo.isValid()) {
mStats.updateBluetoothStateLocked(bluetoothInfo);