| Index: chrome/android/java/src/org/chromium/chrome/browser/sync/DelayedSyncController.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/DelayedSyncController.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/DelayedSyncController.java
|
| deleted file mode 100644
|
| index 8b896444047bbe081606c8300425a0f0536acd75..0000000000000000000000000000000000000000
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/DelayedSyncController.java
|
| +++ /dev/null
|
| @@ -1,112 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.chrome.browser.sync;
|
| -
|
| -import android.accounts.Account;
|
| -import android.content.ContentResolver;
|
| -import android.content.Context;
|
| -import android.content.SharedPreferences;
|
| -import android.os.AsyncTask;
|
| -import android.os.Bundle;
|
| -import android.preference.PreferenceManager;
|
| -import android.util.Log;
|
| -
|
| -import org.chromium.base.ApplicationStatus;
|
| -import org.chromium.base.VisibleForTesting;
|
| -import org.chromium.sync.AndroidSyncSettings;
|
| -import org.chromium.sync.signin.AccountManagerHelper;
|
| -
|
| -/**
|
| - * A class for controlling when a sync should be performed immediately, and when it should be
|
| - * delayed until Chrome comes to the foreground again.
|
| - */
|
| -public class DelayedSyncController {
|
| - private static final String TAG = "DelayedSyncController";
|
| - private static final String DELAYED_ACCOUNT_NAME = "delayed_account";
|
| -
|
| - private static class LazyHolder {
|
| - private static final DelayedSyncController INSTANCE = new DelayedSyncController();
|
| - }
|
| -
|
| - public static DelayedSyncController getInstance() {
|
| - return LazyHolder.INSTANCE;
|
| - }
|
| -
|
| - @VisibleForTesting
|
| - DelayedSyncController() {}
|
| -
|
| - /**
|
| - * Resume any syncs that were delayed while Chromium was backgrounded.
|
| - */
|
| - public boolean resumeDelayedSyncs(final Context context) {
|
| - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
| - String accountName = prefs.getString(DELAYED_ACCOUNT_NAME, null);
|
| - if (accountName == null) {
|
| - Log.d(TAG, "No delayed sync.");
|
| - return false;
|
| - } else {
|
| - Log.d(TAG, "Handling delayed sync.");
|
| - Account account = AccountManagerHelper.createAccountFromName(accountName);
|
| - requestSyncOnBackgroundThread(context, account);
|
| - return true;
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * Calls ContentResolver.requestSync() in a separate thread as it performs some blocking
|
| - * IO operations.
|
| - */
|
| - @VisibleForTesting
|
| - void requestSyncOnBackgroundThread(final Context context, final Account account) {
|
| - new AsyncTask<Void, Void, Void>() {
|
| - @Override
|
| - protected Void doInBackground(Void... unused) {
|
| - String contractAuthority = AndroidSyncSettings.getContractAuthority(context);
|
| - ContentResolver.requestSync(account, contractAuthority, new Bundle());
|
| - return null;
|
| - }
|
| - }.execute();
|
| - }
|
| -
|
| - /**
|
| - * Stores preferences to indicate that an invalidation has arrived, but dropped on the floor.
|
| - */
|
| - void setDelayedSync(Context ctx, String accountName) {
|
| - SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(ctx).edit();
|
| - editor.putString(DELAYED_ACCOUNT_NAME, accountName);
|
| - editor.apply();
|
| - }
|
| -
|
| - /**
|
| - * If there is a delayed sync, it will be cleared.
|
| - */
|
| - @VisibleForTesting
|
| - void clearDelayedSyncs(Context context) {
|
| - setDelayedSync(context, null);
|
| - }
|
| -
|
| - @VisibleForTesting
|
| - boolean shouldPerformSync(Context ctx, Bundle extras, Account account) {
|
| - boolean manualSync = isManualSync(extras);
|
| -
|
| - if (manualSync || ApplicationStatus.hasVisibleActivities()) {
|
| - clearDelayedSyncs(ctx);
|
| - return true;
|
| - } else {
|
| - Log.d(TAG, "Delaying sync.");
|
| - setDelayedSync(ctx, account.name);
|
| - return false;
|
| - }
|
| - }
|
| -
|
| - private static boolean isManualSync(Bundle extras) {
|
| - boolean manualSync = false;
|
| - if (extras.getBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, false)) {
|
| - manualSync = true;
|
| - Log.d(TAG, "Manual sync requested.");
|
| - }
|
| - return manualSync;
|
| - }
|
| -}
|
|
|