summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-08-12 10:22:36 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-08-12 10:22:36 +0000
commit6f608f17709fd55172d97400ab9dd081ccfeadc2 (patch)
treecb5a14628d954aae49549103677b8097d5f3700a
parentab83206945dd3f971d9cd398b8afe3615ee92d2f (diff)
parentebf8d23f1a85ca71df9e064dea9a865c4981c1e3 (diff)
Merge "ThermalManagerService: only update thermal status for SKIN type thermistor"
-rw-r--r--services/core/java/com/android/server/power/ThermalManagerService.java2
-rw-r--r--services/tests/servicestests/src/com/android/server/power/ThermalManagerServiceTest.java16
2 files changed, 11 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/power/ThermalManagerService.java b/services/core/java/com/android/server/power/ThermalManagerService.java
index ef4954aa4e4c..ae0db4419080 100644
--- a/services/core/java/com/android/server/power/ThermalManagerService.java
+++ b/services/core/java/com/android/server/power/ThermalManagerService.java
@@ -200,7 +200,7 @@ public class ThermalManagerService extends SystemService {
final int count = mTemperatureMap.size();
for (int i = 0; i < count; i++) {
Temperature t = mTemperatureMap.valueAt(i);
- if (t.getStatus() >= newStatus) {
+ if (t.getType() == Temperature.TYPE_SKIN && t.getStatus() >= newStatus) {
newStatus = t.getStatus();
}
}
diff --git a/services/tests/servicestests/src/com/android/server/power/ThermalManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/power/ThermalManagerServiceTest.java
index 083df28b2278..aaa74dd832af 100644
--- a/services/tests/servicestests/src/com/android/server/power/ThermalManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/power/ThermalManagerServiceTest.java
@@ -284,28 +284,29 @@ public class ThermalManagerServiceTest {
@Test
public void testNotify() throws RemoteException {
int status = Temperature.THROTTLING_SEVERE;
+ // Should only notify event not status
Temperature newBattery = new Temperature(50, Temperature.TYPE_BATTERY, "batt", status);
mFakeHal.mCallback.onValues(newBattery);
verify(mEventListener1, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
.times(1)).notifyThrottling(newBattery);
verify(mStatusListener1, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
- .times(1)).onStatusChange(status);
+ .times(0)).onStatusChange(anyInt());
verify(mEventListener2, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
.times(0)).notifyThrottling(newBattery);
verify(mStatusListener2, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
- .times(1)).onStatusChange(status);
+ .times(0)).onStatusChange(anyInt());
resetListenerMock();
- // Should only notify event not status
+ // Notify both event and status
Temperature newSkin = new Temperature(50, Temperature.TYPE_SKIN, "skin1", status);
mFakeHal.mCallback.onValues(newSkin);
verify(mEventListener1, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
.times(1)).notifyThrottling(newSkin);
verify(mStatusListener1, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
- .times(0)).onStatusChange(anyInt());
+ .times(1)).onStatusChange(status);
verify(mEventListener2, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
.times(1)).notifyThrottling(newSkin);
verify(mStatusListener2, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
- .times(0)).onStatusChange(anyInt());
+ .times(1)).onStatusChange(status);
resetListenerMock();
// Back to None, should only notify event not status
status = Temperature.THROTTLING_NONE;
@@ -345,10 +346,13 @@ public class ThermalManagerServiceTest {
@Test
public void testGetCurrentStatus() throws RemoteException {
- int status = Temperature.THROTTLING_EMERGENCY;
+ int status = Temperature.THROTTLING_SEVERE;
Temperature newSkin = new Temperature(100, Temperature.TYPE_SKIN, "skin1", status);
mFakeHal.mCallback.onValues(newSkin);
assertEquals(status, mService.mService.getCurrentThermalStatus());
+ int battStatus = Temperature.THROTTLING_EMERGENCY;
+ Temperature newBattery = new Temperature(60, Temperature.TYPE_BATTERY, "batt", battStatus);
+ assertEquals(status, mService.mService.getCurrentThermalStatus());
}
@Test