Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(201)

Unified Diff: tools/telemetry/telemetry/internal/platform/power_monitor/android_power_monitor_controller.py

Issue 1456803002: move set charging to powermonitorcontroller (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: move setcharging to powermonitorcontroller Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698