summaryrefslogtreecommitdiffstats
path: root/mobile/android/services/src/main/java/org/mozilla/gecko/sync/stage/FetchMetaGlobalStage.java
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/services/src/main/java/org/mozilla/gecko/sync/stage/FetchMetaGlobalStage.java')
-rw-r--r--mobile/android/services/src/main/java/org/mozilla/gecko/sync/stage/FetchMetaGlobalStage.java79
1 files changed, 0 insertions, 79 deletions
diff --git a/mobile/android/services/src/main/java/org/mozilla/gecko/sync/stage/FetchMetaGlobalStage.java b/mobile/android/services/src/main/java/org/mozilla/gecko/sync/stage/FetchMetaGlobalStage.java
deleted file mode 100644
index b4407b26b..000000000
--- a/mobile/android/services/src/main/java/org/mozilla/gecko/sync/stage/FetchMetaGlobalStage.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-package org.mozilla.gecko.sync.stage;
-
-import org.mozilla.gecko.background.common.log.Logger;
-import org.mozilla.gecko.sync.GlobalSession;
-import org.mozilla.gecko.sync.InfoCollections;
-import org.mozilla.gecko.sync.MetaGlobal;
-import org.mozilla.gecko.sync.PersistedMetaGlobal;
-import org.mozilla.gecko.sync.delegates.MetaGlobalDelegate;
-import org.mozilla.gecko.sync.net.SyncStorageResponse;
-
-public class FetchMetaGlobalStage extends AbstractNonRepositorySyncStage {
- private static final String LOG_TAG = "FetchMetaGlobalStage";
- private static final String META_COLLECTION = "meta";
-
- public class StageMetaGlobalDelegate implements MetaGlobalDelegate {
-
- private final GlobalSession session;
- public StageMetaGlobalDelegate(GlobalSession session) {
- this.session = session;
- }
-
- @Override
- public void handleSuccess(MetaGlobal global, SyncStorageResponse response) {
- Logger.trace(LOG_TAG, "Persisting fetched meta/global and last modified.");
- PersistedMetaGlobal pmg = session.config.persistedMetaGlobal();
- pmg.persistMetaGlobal(global);
- // Take the timestamp from the response since it is later than the timestamp from info/collections.
- pmg.persistLastModified(response.normalizedWeaveTimestamp());
-
- session.processMetaGlobal(global);
- }
-
- @Override
- public void handleFailure(SyncStorageResponse response) {
- session.handleHTTPError(response, "Failure fetching meta/global.");
- }
-
- @Override
- public void handleError(Exception e) {
- session.abort(e, "Failure fetching meta/global.");
- }
-
- @Override
- public void handleMissing(MetaGlobal global, SyncStorageResponse response) {
- session.processMissingMetaGlobal(global);
- }
- }
-
- @Override
- public void execute() throws NoSuchStageException {
- InfoCollections infoCollections = session.config.infoCollections;
- if (infoCollections == null) {
- session.abort(null, "No info/collections set in FetchMetaGlobalStage.");
- return;
- }
-
- long lastModified = session.config.persistedMetaGlobal().lastModified();
- if (!infoCollections.updateNeeded(META_COLLECTION, lastModified)) {
- // Try to use our local collection keys for this session.
- Logger.info(LOG_TAG, "Trying to use persisted meta/global for this session.");
- MetaGlobal global = session.config.persistedMetaGlobal().metaGlobal(session.config.metaURL(), session.getAuthHeaderProvider());
- if (global != null) {
- Logger.info(LOG_TAG, "Using persisted meta/global for this session.");
- session.processMetaGlobal(global); // Calls session.advance().
- return;
- }
- Logger.info(LOG_TAG, "Failed to use persisted meta/global for this session.");
- }
-
- // We need an update: fetch or upload meta/global as necessary.
- Logger.info(LOG_TAG, "Fetching fresh meta/global for this session.");
- MetaGlobal global = new MetaGlobal(session.config.metaURL(), session.getAuthHeaderProvider());
- global.fetch(new StageMetaGlobalDelegate(session));
- }
-}