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

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

Issue 2351113005: [Reland] Refactor WebappRegistry into a singleton instance. (Closed)
Patch Set: Checkstyle import order has changed overnight argh 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 01800a7f569708ccbc8e377d5762bb4af7e3faa9..2802dd3d1d4e1ea1e78bfd1c8f75ea0b42784a28 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,7 +13,6 @@ import org.chromium.base.ContextUtils;
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;
@@ -67,32 +66,24 @@ 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 check for updated
+ // Web Manifest should be updated after the detector finds the
+ // Web Manifest, not when the detector is started.
+ storage.updateTimeOfLastCheckForUpdatedWebManifest();
+ }
+ }
}
@Override
@@ -160,16 +151,12 @@ public class WebApkUpdateManager implements ManifestUpgradeDetector.Callback {
*/
@CalledByNative
private static void onBuiltWebApk(final boolean success, String webapkPackage) {
- 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);
- }
- });
+ 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);
}
private static native void nativeUpdateAsync(String startUrl, String scope, String name,

Powered by Google App Engine
This is Rietveld 408576698