Index: chromecast/base/java/src/org/chromium/chromecast/base/ChromecastConfigAndroid.java |
diff --git a/chromecast/base/java/src/org/chromium/chromecast/base/ChromecastConfigAndroid.java b/chromecast/base/java/src/org/chromium/chromecast/base/ChromecastConfigAndroid.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6b547997aec292e08e04ca1070231f6a0fd17631 |
--- /dev/null |
+++ b/chromecast/base/java/src/org/chromium/chromecast/base/ChromecastConfigAndroid.java |
@@ -0,0 +1,49 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.chromecast.base; |
+ |
+import android.content.Context; |
+ |
+import org.chromium.base.CalledByNative; |
+import org.chromium.base.JNINamespace; |
+ |
+/** |
+ * JNI wrapper class for calls from ChromecastConfigAndroid. |
+ */ |
+@JNINamespace("chromecast::android") |
+public final class ChromecastConfigAndroid { |
+ |
+ private static CastSettingsManager sSettingsManager; |
byungchul
2015/06/11 17:15:00
So, multiple SettingsManager is created here and i
gunsch
2015/06/12 00:30:30
Each CastSettingsManager instance can provide a li
byungchul
2015/06/12 05:57:00
Once we merged preference and CastSettingsManager,
gunsch
2015/06/12 16:54:52
No, it can't just return true for renderer.
Value
|
+ |
+ public static void initializeForBrowser(Context applicationContext) { |
+ sSettingsManager = CastSettingsManager.createPrivilegedCastSettingsManager( |
+ applicationContext, |
+ new CastSettingsManager.OnSettingChangedListener() { |
+ @Override |
+ public void onSendUsageStatsChanged(boolean enabled) { |
+ nativeSetSendUsageStatsEnabled(enabled); |
+ } |
+ }); |
+ } |
+ |
+ /** |
+ * Returns the appropriate SettingsManager instance. In renderer process, CastSettingsManager |
+ * is not initialized on startup, but is still needed lazily to retrieve crash reporting |
+ * information. |
+ */ |
+ private static CastSettingsManager getSettingsManager(Context context) { |
+ if (sSettingsManager == null) { |
+ sSettingsManager = CastSettingsManager.createSandboxedCastSettingsManager(context); |
+ } |
+ return sSettingsManager; |
+ } |
+ |
+ @CalledByNative |
+ public static boolean canSendUsageStats(Context context) { |
+ return getSettingsManager(context).isSendUsageStatsEnabled(); |
+ } |
+ |
+ private static native void nativeSetSendUsageStatsEnabled(boolean enabled); |
+} |