Chromium Code Reviews| 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); |
| +} |