summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Adam Lesinski <adamlesinski@google.com> 2017-03-30 18:28:19 +0000
committer android-build-merger <android-build-merger@google.com> 2017-03-30 18:28:19 +0000
commitc6e955569c636350f82d1f3a09b666c8a69b3197 (patch)
tree18f80b011498fb6724749f54605bed41d6d4ef20
parent9d9d683015dceae4c05c0e1857629ebe5d53acad (diff)
parent2042770ea5818eb735f4657434f6fa3c6eadae45 (diff)
Merge "BatteryStats: Clamp temperature to 0" into oc-dev
am: 2042770ea5 Change-Id: I4e4d74a37afc3cdc56c14989ff66eadd774c39b7
-rw-r--r--core/java/com/android/internal/os/BatteryStatsImpl.java3
-rw-r--r--services/core/java/com/android/server/BatteryService.java5
2 files changed, 7 insertions, 1 deletions
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index 3d0d6bf0e3ad..a0dafddc623b 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -10057,6 +10057,9 @@ public class BatteryStatsImpl extends BatteryStats {
public void setBatteryStateLocked(int status, int health, int plugType, int level,
int temp, int volt, int chargeUAh, int chargeFullUAh) {
+ // Temperature is encoded without the signed bit, so clamp any negative temperatures to 0.
+ temp = Math.max(0, temp);
+
final boolean onBattery = plugType == BATTERY_PLUGGED_NONE;
final long uptime = mClocks.uptimeMillis();
final long elapsedRealtime = mClocks.elapsedRealtime();
diff --git a/services/core/java/com/android/server/BatteryService.java b/services/core/java/com/android/server/BatteryService.java
index 98242f9b393a..fd44794b043c 100644
--- a/services/core/java/com/android/server/BatteryService.java
+++ b/services/core/java/com/android/server/BatteryService.java
@@ -679,7 +679,7 @@ public final class BatteryService extends SystemService {
pw.println("Battery service (battery) commands:");
pw.println(" help");
pw.println(" Print this help text.");
- pw.println(" set [-f] [ac|usb|wireless|status|level|present|invalid] <value>");
+ pw.println(" set [-f] [ac|usb|wireless|status|level|temp|present|invalid] <value>");
pw.println(" Force a battery property value, freezing battery state.");
pw.println(" -f: force a battery change broadcast be sent, prints new sequence.");
pw.println(" unplug [-f]");
@@ -767,6 +767,9 @@ public final class BatteryService extends SystemService {
case "level":
mBatteryProps.batteryLevel = Integer.parseInt(value);
break;
+ case "temp":
+ mBatteryProps.batteryTemperature = Integer.parseInt(value);
+ break;
case "invalid":
mInvalidCharger = Integer.parseInt(value);
break;