summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/android/pylib/device/battery_utils.py9
-rwxr-xr-xbuild/android/pylib/device/battery_utils_test.py11
2 files changed, 15 insertions, 5 deletions
diff --git a/build/android/pylib/device/battery_utils.py b/build/android/pylib/device/battery_utils.py
index 1a8c9f5..e8d2117 100644
--- a/build/android/pylib/device/battery_utils.py
+++ b/build/android/pylib/device/battery_utils.py
@@ -496,15 +496,18 @@ class BatteryUtils(object):
wait_period: time in seconds to wait between checking.
"""
def cool_device():
- if self._cache['profile']['name'] == 'Nexus 5':
- self._DischargeDevice(1)
temp = self.GetBatteryInfo().get('temperature')
if temp is None:
logging.warning('Unable to find current battery temperature.')
temp = 0
else:
logging.info('Current battery temperature: %s', temp)
- return int(temp) <= target_temp
+ if int(temp) <= target_temp:
+ return True
+ else:
+ if self._cache['profile']['name'] == 'Nexus 5':
+ self._DischargeDevice(1)
+ return False
self._DiscoverDeviceProfile()
self.EnableBatteryUpdates()
diff --git a/build/android/pylib/device/battery_utils_test.py b/build/android/pylib/device/battery_utils_test.py
index ff961e7..b98e78e 100755
--- a/build/android/pylib/device/battery_utils_test.py
+++ b/build/android/pylib/device/battery_utils_test.py
@@ -453,16 +453,23 @@ class BatteryUtilsLetBatteryCoolToTemperatureTest(BatteryUtilsTest):
self.battery.LetBatteryCoolToTemperature(400)
@mock.patch('time.sleep', mock.Mock())
- def testLetBatteryCoolToTemperature_nexus5(self):
+ def testLetBatteryCoolToTemperature_nexus5Hot(self):
self.battery._cache['profile'] = self._NEXUS_5
with self.assertCalls(
(self.call.battery.EnableBatteryUpdates(), []),
- (self.call.battery._DischargeDevice(1), []),
(self.call.battery.GetBatteryInfo(), {'temperature': '500'}),
(self.call.battery._DischargeDevice(1), []),
(self.call.battery.GetBatteryInfo(), {'temperature': '400'})):
self.battery.LetBatteryCoolToTemperature(400)
+ @mock.patch('time.sleep', mock.Mock())
+ def testLetBatteryCoolToTemperature_nexus5Cool(self):
+ self.battery._cache['profile'] = self._NEXUS_5
+ with self.assertCalls(
+ (self.call.battery.EnableBatteryUpdates(), []),
+ (self.call.battery.GetBatteryInfo(), {'temperature': '400'})):
+ self.battery.LetBatteryCoolToTemperature(400)
+
class BatteryUtilsSupportsFuelGaugeTest(BatteryUtilsTest):