| Index: blimp/client/core/android/java/src/org/chromium/blimp/core/BlimpClientContextImpl.java
|
| diff --git a/blimp/client/core/android/java/src/org/chromium/blimp/core/BlimpClientContextImpl.java b/blimp/client/core/android/java/src/org/chromium/blimp/core/BlimpClientContextImpl.java
|
| index 3ba53b5d997573bb760854985335533ee1bfec80..c34cf66a99f4ec3b682c3e6a022cc32a9d0778e1 100644
|
| --- a/blimp/client/core/android/java/src/org/chromium/blimp/core/BlimpClientContextImpl.java
|
| +++ b/blimp/client/core/android/java/src/org/chromium/blimp/core/BlimpClientContextImpl.java
|
| @@ -6,13 +6,14 @@ package org.chromium.blimp.core;
|
|
|
| import android.preference.PreferenceFragment;
|
|
|
| +import org.chromium.base.CommandLine;
|
| import org.chromium.base.annotations.CalledByNative;
|
| import org.chromium.base.annotations.JNINamespace;
|
| import org.chromium.blimp.core.settings.AboutBlimpPreferences;
|
| +import org.chromium.blimp.core.settings.BlimpPreferencesDelegate;
|
| import org.chromium.blimp.core.settings.PreferencesUtil;
|
| import org.chromium.blimp_public.BlimpClientContext;
|
| import org.chromium.blimp_public.BlimpClientContextDelegate;
|
| -import org.chromium.blimp_public.BlimpSettingsCallbacks;
|
| import org.chromium.blimp_public.contents.BlimpContents;
|
|
|
| /**
|
| @@ -20,8 +21,7 @@ import org.chromium.blimp_public.contents.BlimpContents;
|
| * BlimpClientContextImpl object.
|
| */
|
| @JNINamespace("blimp::client")
|
| -public class BlimpClientContextImpl implements BlimpClientContext {
|
| -
|
| +public class BlimpClientContextImpl implements BlimpClientContext, BlimpPreferencesDelegate {
|
| // Delegate that contains functions Blimp needed in the embedder.
|
| private BlimpClientContextDelegate mDelegate;
|
|
|
| @@ -32,13 +32,14 @@ public class BlimpClientContextImpl implements BlimpClientContext {
|
| *
|
| * @return BlimpClientContextDelegate, which contains functions we need in embedder.
|
| */
|
| + @Override
|
| public BlimpClientContextDelegate getDelegate() {
|
| return mDelegate;
|
| }
|
|
|
| @Override
|
| - public void setDelegate(BlimpClientContextDelegate delegate) {
|
| - mDelegate = delegate;
|
| + public void initSettingsPage(AboutBlimpPreferences preferences) {
|
| + nativeInitSettingsPage(mNativeBlimpClientContextImplAndroid, preferences);
|
| }
|
|
|
| @CalledByNative
|
| @@ -68,14 +69,18 @@ public class BlimpClientContextImpl implements BlimpClientContext {
|
|
|
| @Override
|
| public boolean isBlimpEnabled() {
|
| - return false;
|
| + return PreferencesUtil.isBlimpEnabled()
|
| + || CommandLine.getInstance().hasSwitch(BlimpClientSwitches.ENGINE_IP);
|
| }
|
|
|
| @Override
|
| - public void attachBlimpPreferences(
|
| - PreferenceFragment fragment, BlimpSettingsCallbacks callbacks) {
|
| - AboutBlimpPreferences.addBlimpPreferences(fragment);
|
| - AboutBlimpPreferences.registerCallback(callbacks);
|
| + public void attachBlimpPreferences(PreferenceFragment fragment) {
|
| + AboutBlimpPreferences.addBlimpPreferences(fragment, this);
|
| + }
|
| +
|
| + @Override
|
| + public void setDelegate(BlimpClientContextDelegate delegate) {
|
| + mDelegate = delegate;
|
| }
|
|
|
| @Override
|
| @@ -104,4 +109,6 @@ public class BlimpClientContextImpl implements BlimpClientContext {
|
| long nativeBlimpClientContextImplAndroid);
|
|
|
| private native void nativeConnectFromJava(long nativeBlimpClientContextImplAndroid);
|
| + private native void nativeInitSettingsPage(
|
| + long nativeBlimpClientContextImplAndroid, AboutBlimpPreferences preferences);
|
| }
|
|
|