Chromium Code Reviews| 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 "chromecast/android/chromecast_config_android.h" | 5 #include "chromecast/base/chromecast_config_android.h" |
| 6 | |
| 7 #include "base/android/jni_android.h" | |
| 8 #include "base/lazy_instance.h" | |
| 9 #include "jni/ChromecastConfigAndroid_jni.h" | |
| 6 | 10 |
| 7 namespace chromecast { | 11 namespace chromecast { |
| 8 namespace android { | 12 namespace android { |
| 9 | 13 |
| 10 namespace { | 14 namespace { |
| 11 base::LazyInstance<ChromecastConfigAndroid> g_instance = | 15 base::LazyInstance<ChromecastConfigAndroid> g_instance = |
| 12 LAZY_INSTANCE_INITIALIZER; | 16 LAZY_INSTANCE_INITIALIZER; |
| 13 } // namespace | 17 } // namespace |
| 14 | 18 |
| 15 // static | 19 // static |
| 16 ChromecastConfigAndroid* ChromecastConfigAndroid::GetInstance() { | 20 ChromecastConfigAndroid* ChromecastConfigAndroid::GetInstance() { |
| 17 return g_instance.Pointer(); | 21 return g_instance.Pointer(); |
| 18 } | 22 } |
| 19 | 23 |
| 24 // static | |
| 25 bool ChromecastConfigAndroid::RegisterJni(JNIEnv* env) { | |
| 26 return RegisterNativesImpl(env); | |
| 27 } | |
| 28 | |
| 20 ChromecastConfigAndroid::ChromecastConfigAndroid() { | 29 ChromecastConfigAndroid::ChromecastConfigAndroid() { |
| 21 } | 30 } |
| 22 | 31 |
| 23 ChromecastConfigAndroid::~ChromecastConfigAndroid() { | 32 ChromecastConfigAndroid::~ChromecastConfigAndroid() { |
| 24 } | 33 } |
| 25 | 34 |
| 35 bool ChromecastConfigAndroid::CanSendUsageStats() { | |
| 36 JNIEnv* env = base::android::AttachCurrentThread(); | |
| 37 return Java_ChromecastConfigAndroid_canSendUsageStats( | |
| 38 env, base::android::GetApplicationContext()); | |
| 39 } | |
| 40 | |
| 26 // Registers a handler to be notified when SendUsageStats is changed. | 41 // Registers a handler to be notified when SendUsageStats is changed. |
| 27 void ChromecastConfigAndroid::SetSendUsageStatsChangedCallback( | 42 void ChromecastConfigAndroid::SetSendUsageStatsChangedCallback( |
| 28 const base::Callback<void(bool)>& callback) { | 43 const base::Callback<void(bool)>& callback) { |
| 29 send_usage_stats_changed_callback_ = callback; | 44 send_usage_stats_changed_callback_ = callback; |
| 30 } | 45 } |
| 31 | 46 |
| 47 // Called from Java. | |
| 48 void SetSendUsageStatsEnabled(JNIEnv* env, jclass caller, jboolean enabled) { | |
| 49 ChromecastConfigAndroid::GetInstance()-> | |
|
byungchul
2015/06/11 17:15:00
Why is ChromecastConfigAndroid static in Java and
gunsch
2015/06/12 00:30:30
We could probably simplify this code more if we up
byungchul
2015/06/12 05:57:00
Right, we should use chromecast preference for ATV
gunsch
2015/06/12 16:54:52
Done. (will upload after addressing other comments
| |
| 50 send_usage_stats_changed_callback().Run(enabled); | |
| 51 } | |
| 52 | |
| 32 } // namespace android | 53 } // namespace android |
| 33 } // namespace chromecast | 54 } // namespace chromecast |
| OLD | NEW |