| 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 64a68c31b7302579474974f36712dbf2889842d5..d3b204ba1439b8b1dd235e6abc5ce25acb8a7dfe 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
|
| @@ -49,6 +49,7 @@ import java.util.List;
|
| */
|
|
|
| public class AccountSigninView extends FrameLayout implements ProfileDownloader.Observer {
|
| +
|
| /**
|
| * Callbacks for various account selection events.
|
| */
|
| @@ -117,6 +118,7 @@ public class AccountSigninView extends FrameLayout implements ProfileDownloader.
|
| private int mCancelButtonTextId;
|
| private boolean mIsChildAccount;
|
| private boolean mIsGooglePlayServicesOutOfDate;
|
| + private UserRecoverableErrorHandler.ModalDialog mGooglePlayServicesUpdateErrorHandler;
|
|
|
| private AccountSigninConfirmationView mSigninConfirmationView;
|
| private ImageView mSigninAccountImage;
|
| @@ -196,6 +198,10 @@ public class AccountSigninView extends FrameLayout implements ProfileDownloader.
|
| super.onWindowVisibilityChanged(visibility);
|
| if (visibility == View.VISIBLE) {
|
| updateAccounts();
|
| + return;
|
| + }
|
| + if (visibility == View.INVISIBLE && mGooglePlayServicesUpdateErrorHandler != null) {
|
| + mGooglePlayServicesUpdateErrorHandler.cancelDialog();
|
| }
|
| }
|
|
|
| @@ -300,8 +306,10 @@ public class AccountSigninView extends FrameLayout implements ProfileDownloader.
|
|
|
| private boolean checkGooglePlayServicesAvailable() {
|
| ExternalAuthUtils extAuthUtils = ExternalAuthUtils.getInstance();
|
| + mGooglePlayServicesUpdateErrorHandler = new UserRecoverableErrorHandler.ModalDialog(
|
| + mDelegate.getActivity());
|
| int resultCode = extAuthUtils.canUseGooglePlayServicesResultCode(
|
| - getContext(), new UserRecoverableErrorHandler.ModalDialog(mDelegate.getActivity()));
|
| + getContext(), mGooglePlayServicesUpdateErrorHandler);
|
| if (extAuthUtils.isGooglePlayServicesUpdateRequiredError(resultCode)) {
|
| mIsGooglePlayServicesOutOfDate = true;
|
| }
|
|
|