OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/battery_status/battery_status_manager_android.h" | 5 #include "content/browser/battery_status/battery_status_manager.h" |
6 | |
7 #include <string.h> | |
8 | 6 |
9 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
10 #include "jni/BatteryStatusManager_jni.h" | 8 #include "jni/BatteryStatusManager_jni.h" |
11 | 9 |
12 using base::android::AttachCurrentThread; | 10 using base::android::AttachCurrentThread; |
13 | 11 |
14 namespace content { | 12 namespace content { |
15 | 13 |
16 BatteryStatusManagerAndroid::BatteryStatusManagerAndroid() { | 14 BatteryStatusManager::BatteryStatusManager( |
| 15 const BatteryStatusUpdateCallback& callback) : callback_(callback) { |
17 j_manager_.Reset( | 16 j_manager_.Reset( |
18 Java_BatteryStatusManager_getInstance( | 17 Java_BatteryStatusManager_getInstance( |
19 AttachCurrentThread(), base::android::GetApplicationContext())); | 18 AttachCurrentThread(), base::android::GetApplicationContext())); |
20 } | 19 } |
21 | 20 |
22 BatteryStatusManagerAndroid::~BatteryStatusManagerAndroid() { | 21 BatteryStatusManager::~BatteryStatusManager() { |
23 StopListeningBatteryChange(); | 22 StopListeningBatteryChange(); |
24 } | 23 } |
25 | 24 |
26 bool BatteryStatusManagerAndroid::Register(JNIEnv* env) { | 25 bool BatteryStatusManager::Register(JNIEnv* env) { |
27 return RegisterNativesImpl(env); | 26 return RegisterNativesImpl(env); |
28 } | 27 } |
29 | 28 |
30 void BatteryStatusManagerAndroid::GotBatteryStatus(JNIEnv*, jobject, | 29 void BatteryStatusManager::GotBatteryStatus(JNIEnv*, jobject, |
31 jboolean charging, jdouble chargingTime, jdouble dischargingTime, | 30 jboolean charging, jdouble charging_time, jdouble discharging_time, |
32 jdouble level) { | 31 jdouble level) { |
33 NOTIMPLEMENTED(); | 32 blink::WebBatteryStatus status; |
| 33 status.charging = charging; |
| 34 status.chargingTime = charging_time; |
| 35 status.dischargingTime = discharging_time; |
| 36 status.level = level; |
| 37 callback_.Run(status); |
34 } | 38 } |
35 | 39 |
36 bool BatteryStatusManagerAndroid::StartListeningBatteryChange() { | 40 bool BatteryStatusManager::StartListeningBatteryChange() { |
37 return Java_BatteryStatusManager_start( | 41 return Java_BatteryStatusManager_start( |
38 AttachCurrentThread(), j_manager_.obj(), | 42 AttachCurrentThread(), j_manager_.obj(), |
39 reinterpret_cast<intptr_t>(this)); | 43 reinterpret_cast<intptr_t>(this)); |
40 } | 44 } |
41 | 45 |
42 void BatteryStatusManagerAndroid::StopListeningBatteryChange() { | 46 void BatteryStatusManager::StopListeningBatteryChange() { |
43 Java_BatteryStatusManager_stop( | 47 Java_BatteryStatusManager_stop( |
44 AttachCurrentThread(), j_manager_.obj()); | 48 AttachCurrentThread(), j_manager_.obj()); |
45 } | 49 } |
46 | 50 |
47 } // namespace content | 51 } // namespace content |
OLD | NEW |