| 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_android.h" | 
| 6 | 6 | 
| 7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" | 
|  | 8 #include "base/android/scoped_java_ref.h" | 
| 8 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" | 
| 9 #include "jni/BatteryStatusManager_jni.h" | 10 #include "jni/BatteryStatusManager_jni.h" | 
| 10 | 11 | 
| 11 using base::android::AttachCurrentThread; | 12 using base::android::AttachCurrentThread; | 
| 12 | 13 | 
| 13 namespace content { | 14 namespace content { | 
| 14 | 15 | 
| 15 BatteryStatusManager::BatteryStatusManager( | 16 BatteryStatusManagerAndroid::BatteryStatusManagerAndroid( | 
| 16     const BatteryStatusService::BatteryUpdateCallback& callback) | 17     const BatteryStatusService::BatteryUpdateCallback& callback) | 
| 17     : callback_(callback) { | 18     : callback_(callback) { | 
| 18   j_manager_.Reset( | 19   j_manager_.Reset( | 
| 19       Java_BatteryStatusManager_getInstance( | 20       Java_BatteryStatusManager_getInstance( | 
| 20           AttachCurrentThread(), base::android::GetApplicationContext())); | 21           AttachCurrentThread(), base::android::GetApplicationContext())); | 
| 21 } | 22 } | 
| 22 | 23 | 
| 23 BatteryStatusManager::BatteryStatusManager() { | 24 BatteryStatusManagerAndroid::~BatteryStatusManagerAndroid() { | 
| 24 } | 25 } | 
| 25 | 26 | 
| 26 BatteryStatusManager::~BatteryStatusManager() { | 27 // static | 
| 27 } | 28 bool BatteryStatusManagerAndroid::Register(JNIEnv* env) { | 
| 28 |  | 
| 29 bool BatteryStatusManager::Register(JNIEnv* env) { |  | 
| 30   return RegisterNativesImpl(env); | 29   return RegisterNativesImpl(env); | 
| 31 } | 30 } | 
| 32 | 31 | 
| 33 void BatteryStatusManager::GotBatteryStatus(JNIEnv*, jobject, | 32 void BatteryStatusManagerAndroid::GotBatteryStatus(JNIEnv*, | 
| 34     jboolean charging, jdouble charging_time, jdouble discharging_time, | 33                                                    jobject, | 
| 35     jdouble level) { | 34                                                    jboolean charging, | 
|  | 35                                                    jdouble charging_time, | 
|  | 36                                                    jdouble discharging_time, | 
|  | 37                                                    jdouble level) { | 
| 36   blink::WebBatteryStatus status; | 38   blink::WebBatteryStatus status; | 
| 37   status.charging = charging; | 39   status.charging = charging; | 
| 38   status.chargingTime = charging_time; | 40   status.chargingTime = charging_time; | 
| 39   status.dischargingTime = discharging_time; | 41   status.dischargingTime = discharging_time; | 
| 40   status.level = level; | 42   status.level = level; | 
| 41   callback_.Run(status); | 43   callback_.Run(status); | 
| 42 } | 44 } | 
| 43 | 45 | 
| 44 bool BatteryStatusManager::StartListeningBatteryChange() { | 46 bool BatteryStatusManagerAndroid::StartListeningBatteryChange() { | 
| 45   bool result = Java_BatteryStatusManager_start(AttachCurrentThread(), | 47   bool result = Java_BatteryStatusManager_start(AttachCurrentThread(), | 
| 46       j_manager_.obj(), reinterpret_cast<intptr_t>(this)); | 48       j_manager_.obj(), reinterpret_cast<intptr_t>(this)); | 
| 47   UMA_HISTOGRAM_BOOLEAN("BatteryStatus.StartAndroid", result); | 49   UMA_HISTOGRAM_BOOLEAN("BatteryStatus.StartAndroid", result); | 
| 48   return result; | 50   return result; | 
| 49 } | 51 } | 
| 50 | 52 | 
| 51 void BatteryStatusManager::StopListeningBatteryChange() { | 53 void BatteryStatusManagerAndroid::StopListeningBatteryChange() { | 
| 52   Java_BatteryStatusManager_stop( | 54   Java_BatteryStatusManager_stop( | 
| 53       AttachCurrentThread(), j_manager_.obj()); | 55       AttachCurrentThread(), j_manager_.obj()); | 
| 54 } | 56 } | 
| 55 | 57 | 
|  | 58 // static | 
|  | 59 scoped_ptr<BatteryStatusManager> BatteryStatusManager::Create( | 
|  | 60     const BatteryStatusService::BatteryUpdateCallback& callback) { | 
|  | 61   return scoped_ptr<BatteryStatusManager>( | 
|  | 62       new BatteryStatusManagerAndroid(callback)); | 
|  | 63 } | 
|  | 64 | 
| 56 }  // namespace content | 65 }  // namespace content | 
| OLD | NEW | 
|---|