| Index: chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninView.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninView.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninView.java
|
| index 66c6468f9d0613fe417ad9757f2228d48b60bf06..a05f5b74fb356768ef0d4d700c67b773714bc3fb 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninView.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninView.java
|
| @@ -4,7 +4,7 @@
|
|
|
| package org.chromium.chrome.browser.signin;
|
|
|
| -import android.app.FragmentManager;
|
| +import android.app.Activity;
|
| import android.content.Context;
|
| import android.graphics.Bitmap;
|
| import android.text.TextUtils;
|
| @@ -20,6 +20,8 @@ import org.chromium.base.ApiCompatibilityUtils;
|
| import org.chromium.base.Callback;
|
| import org.chromium.base.metrics.RecordUserAction;
|
| import org.chromium.chrome.R;
|
| +import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
|
| +import org.chromium.chrome.browser.externalauth.UserRecoverableErrorHandler;
|
| import org.chromium.chrome.browser.firstrun.ProfileDataCache;
|
| import org.chromium.chrome.browser.preferences.PrefServiceBridge;
|
| import org.chromium.chrome.browser.profiles.ProfileDownloader;
|
| @@ -79,9 +81,9 @@ public class AccountSigninView extends FrameLayout implements ProfileDownloader.
|
| */
|
| public interface Delegate {
|
| /**
|
| - * Provides a FragmentManager for the view to create dialogs.
|
| + * Provides an Activity for the view to create dialogs.
|
| */
|
| - public FragmentManager getFragmentManager();
|
| + public Activity getActivity();
|
| }
|
|
|
| private static final String TAG = "AccountSigninView";
|
| @@ -251,7 +253,8 @@ public class AccountSigninView extends FrameLayout implements ProfileDownloader.
|
| if (!mAccountNames.get(accountToSelect).equals(oldAccountNames.get(oldSelectedAccount))) {
|
| // Any dialogs that may have been showing are now invalid (they were created for the
|
| // previously selected account).
|
| - ConfirmSyncDataStateMachine.cancelAllDialogs(mDelegate.getFragmentManager());
|
| + ConfirmSyncDataStateMachine
|
| + .cancelAllDialogs(mDelegate.getActivity().getFragmentManager());
|
|
|
| if (mAccountNames.containsAll(oldAccountNames)) {
|
| // A new account has been added and no accounts have been deleted. We will have
|
| @@ -349,6 +352,11 @@ public class AccountSigninView extends FrameLayout implements ProfileDownloader.
|
| }
|
|
|
| private void showConfirmSigninPageAccountTrackerServiceCheck() {
|
| + if (!ExternalAuthUtils.getInstance().canUseGooglePlayServices(getContext(),
|
| + new UserRecoverableErrorHandler.ModalDialog(mDelegate.getActivity()))) {
|
| + return;
|
| + }
|
| +
|
| // Disable the buttons to prevent them being clicked again while waiting for the callbacks.
|
| setButtonsEnabled(false);
|
|
|
| @@ -375,7 +383,8 @@ public class AccountSigninView extends FrameLayout implements ProfileDownloader.
|
| private void showConfirmSigninPagePreviousAccountCheck() {
|
| String accountName = getSelectedAccountName();
|
| ConfirmSyncDataStateMachine.run(PrefServiceBridge.getInstance().getSyncLastAccountName(),
|
| - accountName, ImportSyncType.PREVIOUS_DATA_FOUND, mDelegate.getFragmentManager(),
|
| + accountName, ImportSyncType.PREVIOUS_DATA_FOUND,
|
| + mDelegate.getActivity().getFragmentManager(),
|
| getContext(), new ConfirmImportSyncDataDialog.Listener() {
|
| @Override
|
| public void onConfirm(boolean wipeData) {
|
|
|