OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "base/android/scoped_java_ref.h" | |
6 #include "base/macros.h" | |
7 #include "device/battery/battery_status_manager.h" | |
8 | |
9 #ifndef DEVICE_BATTERY_BATTERY_STATUS_MANAGER_ANDROID_H_ | |
10 #define DEVICE_BATTERY_BATTERY_STATUS_MANAGER_ANDROID_H_ | |
11 | |
12 namespace device { | |
13 | |
14 class BatteryStatusManagerAndroid : public BatteryStatusManager { | |
15 public: | |
16 explicit BatteryStatusManagerAndroid( | |
17 const BatteryStatusService::BatteryUpdateCallback& callback); | |
18 virtual ~BatteryStatusManagerAndroid(); | |
19 | |
20 // Must be called at startup. | |
21 static bool Register(JNIEnv* env); | |
22 | |
23 // Called from Java via JNI. | |
24 void GotBatteryStatus(JNIEnv*, | |
25 jobject, | |
26 jboolean charging, | |
27 jdouble charging_time, | |
28 jdouble discharging_time, | |
29 jdouble level); | |
30 | |
31 private: | |
32 // BatteryStatusManager: | |
33 virtual bool StartListeningBatteryChange() override; | |
34 virtual void StopListeningBatteryChange() override; | |
35 | |
36 BatteryStatusService::BatteryUpdateCallback callback_; | |
37 // Java provider of battery status info. | |
38 base::android::ScopedJavaGlobalRef<jobject> j_manager_; | |
39 | |
40 DISALLOW_COPY_AND_ASSIGN(BatteryStatusManagerAndroid); | |
41 }; | |
42 | |
43 } // namespace device | |
44 | |
45 #endif // DEVICE_BATTERY_BATTERY_STATUS_MANAGER_ANDROID_H_ | |
OLD | NEW |