| Index: tools/telemetry/telemetry/internal/platform/power_monitor/android_power_monitor_controller.py
|
| diff --git a/tools/telemetry/telemetry/internal/platform/power_monitor/power_monitor_controller.py b/tools/telemetry/telemetry/internal/platform/power_monitor/android_power_monitor_controller.py
|
| similarity index 83%
|
| rename from tools/telemetry/telemetry/internal/platform/power_monitor/power_monitor_controller.py
|
| rename to tools/telemetry/telemetry/internal/platform/power_monitor/android_power_monitor_controller.py
|
| index 5b42c5eab67f8780813a0314761e532b635b5c8b..dcd2d299a415275ec52023344d95b160abc7aa1e 100644
|
| --- a/tools/telemetry/telemetry/internal/platform/power_monitor/power_monitor_controller.py
|
| +++ b/tools/telemetry/telemetry/internal/platform/power_monitor/android_power_monitor_controller.py
|
| @@ -5,20 +5,20 @@
|
| import atexit
|
| import logging
|
|
|
| -import telemetry.internal.platform.power_monitor as power_monitor
|
| -
|
| +from telemetry.internal.platform.power_monitor import android_power_monitor_base
|
|
|
| def _ReenableChargingIfNeeded(battery):
|
| if not battery.GetCharging():
|
| battery.SetCharging(True)
|
|
|
| -class PowerMonitorController(power_monitor.PowerMonitor):
|
| +class AndroidPowerMonitorController(
|
| + android_power_monitor_base.AndroidPowerMonitorBase):
|
| """
|
| PowerMonitor that acts as facade for a list of PowerMonitor objects and uses
|
| the first available one.
|
| """
|
| def __init__(self, power_monitors, battery):
|
| - super(PowerMonitorController, self).__init__()
|
| + super(AndroidPowerMonitorController, self).__init__()
|
| self._candidate_power_monitors = power_monitors
|
| self._active_monitors = []
|
| self._battery = battery
|
| @@ -35,6 +35,7 @@ class PowerMonitorController(power_monitor.PowerMonitor):
|
| 'results are likely not reported.')
|
| self.StopMonitoringPower()
|
| self._CheckStart()
|
| + self._ChargingOff(self._battery)
|
| self._active_monitors = (
|
| [m for m in self._candidate_power_monitors if m.CanMonitorPower()])
|
| assert self._active_monitors, 'No available monitor.'
|
| @@ -70,6 +71,7 @@ class PowerMonitorController(power_monitor.PowerMonitor):
|
|
|
| def StopMonitoringPower(self):
|
| self._CheckStop()
|
| + self._ChargingOn(self._battery)
|
| try:
|
| results = {'platform_info': {}, 'component_utilization': {}}
|
| for monitor in self._active_monitors:
|
| @@ -77,3 +79,12 @@ class PowerMonitorController(power_monitor.PowerMonitor):
|
| return results
|
| finally:
|
| self._active_monitors = []
|
| +
|
| + def _ChargingOff(self, battery):
|
| + battery.SetCharging(False)
|
| +
|
| + def _ChargingOn(self, battery):
|
| + if battery.GetCharging():
|
| + logging.warning('Charging re-enabled during test.'
|
| + 'Results may be inaccurate.')
|
| + battery.SetCharging(True)
|
|
|