Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkBuilder.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkBuilder.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkBuilder.java |
| index 41514368cd1a9e02125c9d5e1fc7b4e8451edd58..86e44bc0359c588aa5f2dae0bf10e167b2cec59a 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkBuilder.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkBuilder.java |
| @@ -4,31 +4,30 @@ |
| package org.chromium.chrome.browser.webapps; |
| -import android.graphics.Bitmap; |
| +import android.content.Context; |
| + |
| +import org.chromium.base.ContextUtils; |
| +import org.chromium.base.annotations.CalledByNative; |
| +import org.chromium.chrome.browser.ChromeApplication; |
| /** |
| - * Interface for building WebAPKs. |
| + * Java counterpart to webapk_builder.h Contains functionality to download and install WebAPKs. |
|
Yaron
2016/07/13 00:24:00
missing "." (or newline)
pkotwicz
2016/07/13 02:15:30
I do not understand. The comment has a "." at the
Yaron
2016/07/19 17:31:13
The capitalized "C" is threw me off. Seems like th
pkotwicz
2016/07/20 05:13:41
Ok, I added a new line
|
| */ |
| -public interface WebApkBuilder { |
| +public class WebApkBuilder { |
|
Yaron
2016/07/13 00:24:00
add a private constructor since this is just a uti
pkotwicz
2016/07/13 02:15:30
Done.
|
| /** |
| - * Asynchronously build WebAPK. |
| - * @param startUrl The url that the WebAPK should navigate to when launched from the app |
| - * list. |
| - * @param scope Navigations from the WebAPK to URLs with sub-origin {@link scope} will |
| - * stay within the WebAPK. |
| - * @param name "name" from the Web Manifest. |
| - * @param shortName "short_name" from the Web Manifest. |
| - * @param iconUrl Url of the icon for the app list. Url of the favicon if the Web |
| - * Manifest does not specify an icon. |
| - * @param icon Icon for the app list. Generated icon or favicon if the Web Manifest |
| - * does not specify an icon. |
| - * @param displayMode "display" from the Web Manifest. |
| - * @param orientation "orientation" from the Web Manifest. |
| - * @param themeColor "theme_color" from the Web Manifest. |
| - * @param backgroundColor "background_color" from the Web Manifest. |
| - * @param manifestUrl The URL of the Web Manifest. |
| + * Downloads and installs a WebAPK. |
| + * @param signedMarketUrl Url to provide to Google Play. |
| + * @return True if the download was started. A "true" return value does not guarantee that the |
| + * download succeeds. |
| */ |
| - void buildWebApkAsync(String startUrl, String scope, String name, String shortName, |
| - String iconUrl, Bitmap icon, int displayMode, int orientation, long themeColor, |
| - long backgroundColor, String manifestUrl); |
| + @CalledByNative |
| + static boolean downloadAndInstallAsync(String signedMarketUrl) { |
| + Context context = ContextUtils.getApplicationContext(); |
| + WebApkInstaller apkInstaller = ((ChromeApplication) context).createWebApkInstaller(); |
| + if (apkInstaller == null) { |
| + return false; |
| + } |
| + apkInstaller.downloadAndInstallAsync(signedMarketUrl); |
| + return true; |
| + } |
| } |