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

Side by Side Diff: content/browser/battery_status/battery_status_manager_android.cc

Issue 278043002: Battery Status API: browser-side implementation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add CONTENT_EXPORT to battery_status_manager.h Created 6 years, 6 months 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 unified diff | Download patch
OLDNEW
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.h" 5 #include "content/browser/battery_status/battery_status_manager.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "jni/BatteryStatusManager_jni.h" 8 #include "jni/BatteryStatusManager_jni.h"
9 9
10 using base::android::AttachCurrentThread; 10 using base::android::AttachCurrentThread;
11 11
12 namespace content { 12 namespace content {
13 13
14 BatteryStatusManager::BatteryStatusManager( 14 BatteryStatusManager::BatteryStatusManager(
15 const BatteryStatusUpdateCallback& callback) : callback_(callback) { 15 const BatteryStatusService::BatteryUpdateCallback& callback)
16 : callback_(callback) {
16 j_manager_.Reset( 17 j_manager_.Reset(
17 Java_BatteryStatusManager_getInstance( 18 Java_BatteryStatusManager_getInstance(
18 AttachCurrentThread(), base::android::GetApplicationContext())); 19 AttachCurrentThread(), base::android::GetApplicationContext()));
19 } 20 }
20 21
22 BatteryStatusManager::BatteryStatusManager() {
23 }
24
21 BatteryStatusManager::~BatteryStatusManager() { 25 BatteryStatusManager::~BatteryStatusManager() {
22 StopListeningBatteryChange();
23 } 26 }
24 27
25 bool BatteryStatusManager::Register(JNIEnv* env) { 28 bool BatteryStatusManager::Register(JNIEnv* env) {
26 return RegisterNativesImpl(env); 29 return RegisterNativesImpl(env);
27 } 30 }
28 31
29 void BatteryStatusManager::GotBatteryStatus(JNIEnv*, jobject, 32 void BatteryStatusManager::GotBatteryStatus(JNIEnv*, jobject,
30 jboolean charging, jdouble charging_time, jdouble discharging_time, 33 jboolean charging, jdouble charging_time, jdouble discharging_time,
31 jdouble level) { 34 jdouble level) {
32 blink::WebBatteryStatus status; 35 blink::WebBatteryStatus status;
33 status.charging = charging; 36 status.charging = charging;
34 status.chargingTime = charging_time; 37 status.chargingTime = charging_time;
35 status.dischargingTime = discharging_time; 38 status.dischargingTime = discharging_time;
36 status.level = level; 39 status.level = level;
37 callback_.Run(status); 40 callback_.Run(status);
38 } 41 }
39 42
40 bool BatteryStatusManager::StartListeningBatteryChange() { 43 bool BatteryStatusManager::StartListeningBatteryChange() {
41 return Java_BatteryStatusManager_start( 44 return Java_BatteryStatusManager_start(
42 AttachCurrentThread(), j_manager_.obj(), 45 AttachCurrentThread(), j_manager_.obj(),
43 reinterpret_cast<intptr_t>(this)); 46 reinterpret_cast<intptr_t>(this));
44 } 47 }
45 48
46 void BatteryStatusManager::StopListeningBatteryChange() { 49 void BatteryStatusManager::StopListeningBatteryChange() {
47 Java_BatteryStatusManager_stop( 50 Java_BatteryStatusManager_stop(
48 AttachCurrentThread(), j_manager_.obj()); 51 AttachCurrentThread(), j_manager_.obj());
49 } 52 }
50 53
51 } // namespace content 54 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698