Index: base/power_monitor/power_monitor_android.cc |
diff --git a/base/system_monitor/system_monitor_android.cc b/base/power_monitor/power_monitor_android.cc |
similarity index 57% |
rename from base/system_monitor/system_monitor_android.cc |
rename to base/power_monitor/power_monitor_android.cc |
index 4e1a16b3e91f379f26bd829b55f62f08ca9cba46..eaf72ac249af1efdea2d23f57f8ebeaebd403532 100644 |
--- a/base/system_monitor/system_monitor_android.cc |
+++ b/base/power_monitor/power_monitor_android.cc |
@@ -2,22 +2,39 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "base/system_monitor/system_monitor.h" |
+#include "base/power_monitor/power_monitor.h" |
#include "jni/SystemMonitor_jni.h" |
namespace base { |
+namespace { |
+ |
+static PowerMonitor::Signaler* g_power_signaler = NULL; |
+ |
+} |
+ |
namespace android { |
// Native implementation of SystemMonitor.java. |
void OnBatteryChargingChanged(JNIEnv* env, |
jclass clazz) { |
- SystemMonitor::Get()->ProcessPowerMessage(SystemMonitor::POWER_STATE_EVENT); |
+ CHECK(g_power_signaler); |
vandebo (ex-Chrome)
2012/11/01 16:50:26
There doesn't seem to be anything unregistering th
Hongbo Min
2012/11/02 00:29:07
Done.
|
+ g_power_signaler->ProcessPowerEvent(PowerMonitor::POWER_STATE_EVENT); |
} |
} // namespace android |
-bool SystemMonitor::IsBatteryPower() { |
+void PowerMonitor::PlatformInit() { |
+ CHECK(!g_power_signaler); |
+ g_power_signaler = PowerMonitor::Get()->GetSignalerOnce(); |
+} |
+ |
+void PowerMonitor::PlatformDestroy() { |
+ delete g_power_signaler; |
+ g_power_signaler = NULL; |
+} |
+ |
+bool PowerMonitor::IsBatteryPower() { |
JNIEnv* env = base::android::AttachCurrentThread(); |
return base::android::Java_SystemMonitor_isBatteryPower(env); |
} |