Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1376)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java

Issue 2860193002: Correctly record WebAPK install source for Launch.HomescreenSource (Closed)
Patch Set: Rebase. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 673ab870562b7d53cee00403ebcd22d1c9ce37ab..9febb131a578a98595d449175eb599b3829471a3 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,6 +12,7 @@ import org.chromium.base.annotations.CalledByNative;
import org.chromium.chrome.browser.AppHooks;
import org.chromium.chrome.browser.banners.InstallerDelegate;
import org.chromium.chrome.browser.metrics.WebApkUma;
+import org.chromium.webapk.lib.common.WebApkConstants;
/**
* Java counterpart to webapk_installer.h
@@ -51,8 +52,8 @@ public class WebApkInstaller {
* @param url The start URL of the WebAPK to install.
*/
@CalledByNative
- private void installWebApkAsync(
- String packageName, int version, String title, String token, String url) {
+ private void installWebApkAsync(final String packageName, int version, String title,
+ String token, String url, final int source) {
// Check whether the WebAPK package is already installed. The WebAPK may have been installed
// by another Chrome version (e.g. Chrome Dev). We have to do this check because the Play
// install API fails silently if the package is already installed.
@@ -72,6 +73,18 @@ public class WebApkInstaller {
@Override
public void onResult(Integer result) {
WebApkInstaller.this.notify(result);
+ if (result == WebApkInstallResult.FAILURE) return;
+
+ // Stores the source info of WebAPK in WebappDataStorage.
+ WebappRegistry.getInstance().register(
+ WebApkConstants.WEBAPK_ID_PREFIX + packageName,
+ new WebappRegistry.FetchWebappDataStorageCallback() {
+ @Override
+ public void onWebappDataStorageRetrieved(WebappDataStorage storage) {
+ storage.updateSource(source);
+ storage.updateTimeOfLastCheckForUpdatedWebManifest();
+ }
+ });
}
};
mInstallDelegate.installAsync(packageName, version, title, token, url, callback);

Powered by Google App Engine
This is Rietveld 408576698