| 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.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 |
| OLD | NEW |