Index: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java |
index f9ec21cb579baaeeb7c9ca8562bd79c1db4f181f..6f15044d71949d9599f4704a4c647fbe2793a83d 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java |
@@ -16,7 +16,6 @@ import org.chromium.base.annotations.CalledByNative; |
import org.chromium.chrome.browser.ChromeSwitches; |
import org.chromium.chrome.browser.tab.Tab; |
import org.chromium.chrome.browser.util.IntentUtils; |
-import org.chromium.chrome.browser.webapps.WebappRegistry.FetchWebappDataStorageCallback; |
import org.chromium.webapk.lib.client.WebApkVersion; |
import org.chromium.webapk.lib.common.WebApkMetaDataKeys; |
@@ -77,32 +76,22 @@ public class WebApkUpdateManager implements ManifestUpgradeDetector.Callback { |
mUpgradeDetector = new ManifestUpgradeDetector(tab, info, metadata, this); |
- WebappRegistry.FetchWebappDataStorageCallback callback = |
- new WebappRegistry.FetchWebappDataStorageCallback() { |
- @Override |
- public void onWebappDataStorageRetrieved(WebappDataStorage storage) { |
- if (forceUpgrade(storage)) { |
- mForceUpgrade = true; |
- } |
- |
- // TODO(pkotwicz|hanxi): Request upgrade if ShellAPK version changes if |
- // ManifestUpgradeDetector cannot fetch the Web Manifest. For instance, the |
- // web developer may have removed the Web Manifest from their site. |
- // (http://crbug.com/639536) |
- |
- long sinceLastCheckDuration = System.currentTimeMillis() |
- - storage.getLastCheckForWebManifestUpdateTime(); |
- if (sinceLastCheckDuration > FULL_CHECK_UPDATE_INTERVAL || mForceUpgrade) { |
- if (mUpgradeDetector.start()) { |
- // crbug.com/636525. The timestamp of the last check for updated |
- // Web Manifest should be updated after the detector finds the |
- // Web Manifest, not when the detector is started. |
- storage.updateTimeOfLastCheckForUpdatedWebManifest(); |
- } |
- } |
- } |
- }; |
- WebappRegistry.getWebappDataStorage(info.id(), callback); |
+ WebappDataStorage storage = WebappRegistry.getInstance().getWebappDataStorage(info.id()); |
+ if (forceUpgrade(storage)) mForceUpgrade = true; |
+ |
+ // TODO(pkotwicz|hanxi): Request upgrade if ShellAPK version changes if |
+ // ManifestUpgradeDetector cannot fetch the Web Manifest. For instance, the web developer |
+ // may have removed the Web Manifest from their site. (http://crbug.com/639536) |
+ |
+ long sinceLastCheckDuration = System.currentTimeMillis() |
+ - storage.getLastCheckForWebManifestUpdateTime(); |
+ if (sinceLastCheckDuration > FULL_CHECK_UPDATE_INTERVAL || mForceUpgrade) { |
+ if (mUpgradeDetector.start()) { |
+ // crbug.com/636525. The timestamp of the last manifest update check should be |
+ // updated after the detector finds the manifest, not when the detector is started. |
+ storage.updateTimeOfLastCheckForUpdatedWebManifest(); |
+ } |
+ } |
} |
@Override |
@@ -177,16 +166,11 @@ public class WebApkUpdateManager implements ManifestUpgradeDetector.Callback { |
*/ |
@CalledByNative |
private static void onBuiltWebApk(String id, final boolean success) { |
- WebappRegistry.getWebappDataStorage(id, |
- new FetchWebappDataStorageCallback() { |
- @Override |
- public void onWebappDataStorageRetrieved(WebappDataStorage storage) { |
- // Update the request time and result together. It prevents getting a |
- // correct request time but a result from the previous request. |
- storage.updateTimeOfLastWebApkUpdateRequestCompletion(); |
- storage.updateDidLastWebApkUpdateRequestSucceed(success); |
- } |
- }); |
+ WebappDataStorage storage = WebappRegistry.getInstance().getWebappDataStorage(id); |
+ // Update the request time and result together. It prevents getting a correct request time |
+ // but a result from the previous request. |
+ storage.updateTimeOfLastWebApkUpdateRequestCompletion(); |
+ storage.updateDidLastWebApkUpdateRequestSucceed(success); |
} |
private static native void nativeUpdateAsync(String id, String startUrl, String scope, |