Index: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java |
index 86aa4f5ad46bfb55e4e1b59918aa0a6f5b735d88..43ef016e3f2d3347174e31e3f502a295f8939299 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java |
@@ -12,7 +12,7 @@ import org.chromium.chrome.browser.ChromeApplication; |
/** |
* Java counterpart to webapk_installer.h |
- * Contains functionality to install WebAPKs. |
+ * Contains functionality to install / update WebAPKs. |
*/ |
public abstract class WebApkInstaller { |
/** |
@@ -24,14 +24,37 @@ public abstract class WebApkInstaller { |
*/ |
public abstract boolean installAsync(String filePath, String packageName); |
+ /** |
+ * Updates a WebAPK. |
+ * @param filePath File to update. |
+ * @param packageName Package name to update WebAPK at. |
+ * @return True if the update was started. A "true" return value does not guarantee that the |
+ * update succeeds. |
+ */ |
+ public abstract boolean updateAsync(String filePath, String packageName); |
+ |
@CalledByNative |
- static boolean installAsyncFromNative(String filePath, String packageName) { |
- Context context = ContextUtils.getApplicationContext(); |
- WebApkInstaller apkInstaller = ((ChromeApplication) context).createWebApkInstaller(); |
+ private static boolean installAsyncFromNative(String filePath, String packageName) { |
+ WebApkInstaller apkInstaller = createWebApkInstaller(); |
if (apkInstaller == null) { |
return false; |
} |
apkInstaller.installAsync(filePath, packageName); |
return true; |
} |
+ |
+ @CalledByNative |
+ private static boolean updateAsyncFromNative(String filePath, String packageName) { |
+ WebApkInstaller apkInstaller = createWebApkInstaller(); |
+ if (apkInstaller == null) { |
+ return false; |
+ } |
+ apkInstaller.updateAsync(filePath, packageName); |
+ return true; |
+ } |
+ |
+ private static WebApkInstaller createWebApkInstaller() { |
+ Context context = ContextUtils.getApplicationContext(); |
+ return ((ChromeApplication) context).createWebApkInstaller(); |
+ } |
} |