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

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

Issue 2395233002: Revert of [Reland] Refactor WebappRegistry into a singleton instance. (Closed)
Patch Set: Created 4 years, 2 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/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 2802dd3d1d4e1ea1e78bfd1c8f75ea0b42784a28..01800a7f569708ccbc8e377d5762bb4af7e3faa9 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
@@ -13,6 +13,7 @@
import org.chromium.base.annotations.CalledByNative;
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.WebApkConstants;
import org.chromium.webapk.lib.common.WebApkMetaDataKeys;
@@ -66,24 +67,32 @@
mUpgradeDetector = new ManifestUpgradeDetector(tab, info, metadata, this);
- WebappDataStorage storage = WebappRegistry.getInstance().getWebappDataStorage(info.id());
- if (forceUpgrade(storage)) mForceUpgrade = true;
+ 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)
+ // 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();
- }
- }
+ 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);
}
@Override
@@ -151,12 +160,16 @@
*/
@CalledByNative
private static void onBuiltWebApk(final boolean success, String webapkPackage) {
- WebappDataStorage storage = WebappRegistry.getInstance().getWebappDataStorage(
- WebApkConstants.WEBAPK_ID_PREFIX + webapkPackage);
- // 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);
+ WebappRegistry.getWebappDataStorage(WebApkConstants.WEBAPK_ID_PREFIX + webapkPackage,
+ 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);
+ }
+ });
}
private static native void nativeUpdateAsync(String startUrl, String scope, String name,

Powered by Google App Engine
This is Rietveld 408576698