| Index: chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java
|
| index b73fc416d8e6d1a06968dc2a2f29075eb7b6b524..7e374340ffd60040ffd22c6f4b8972b808f4fe95 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java
|
| @@ -11,10 +11,12 @@ import android.os.StrictMode;
|
| import android.provider.Settings;
|
| import android.support.v7.app.AlertDialog;
|
|
|
| +import org.chromium.base.Callback;
|
| import org.chromium.base.ContextUtils;
|
| import org.chromium.base.Log;
|
| import org.chromium.base.annotations.CalledByNative;
|
| import org.chromium.chrome.R;
|
| +import org.chromium.chrome.browser.ChromeApplication;
|
| import org.chromium.chrome.browser.ChromeFeatureList;
|
| import org.chromium.chrome.browser.ChromeVersionInfo;
|
| import org.chromium.chrome.browser.preferences.ChromePreferenceManager;
|
| @@ -64,6 +66,27 @@ public class ChromeWebApkHost {
|
| }
|
|
|
| /**
|
| + * Checks whether the Google Play Install API is available.
|
| + */
|
| + @CalledByNative
|
| + private static void canUseGooglePlayInstallApi(final long callbackPointer) {
|
| + ChromeApplication application = (ChromeApplication) ContextUtils.getApplicationContext();
|
| + GooglePlayWebApkInstallDelegate delegate = application.getGooglePlayWebApkInstallDelegate();
|
| + if (delegate == null) {
|
| + nativeOnCanUseGooglePlayInstallApi(callbackPointer, false);
|
| + return;
|
| + }
|
| +
|
| + Callback<Boolean> callback = new Callback<Boolean>() {
|
| + @Override
|
| + public void onResult(Boolean result) {
|
| + nativeOnCanUseGooglePlayInstallApi(callbackPointer, result);
|
| + }
|
| + };
|
| + delegate.canUseInstallApi(callback);
|
| + }
|
| +
|
| + /**
|
| * Check the cached value to figure out if the feature is enabled. We have to use the cached
|
| * value because native library may not yet been loaded.
|
| * @return Whether the feature is enabled.
|
| @@ -155,4 +178,6 @@ public class ChromeWebApkHost {
|
| }
|
|
|
| private static native boolean nativeCanUseGooglePlayToInstallWebApk();
|
| + private static native void nativeOnCanUseGooglePlayInstallApi(long callbackPointer,
|
| + boolean success);
|
| }
|
|
|