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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java

Issue 1976423002: [sync] Sign user out of Chrome on dashboard stop and reset (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
« no previous file with comments | « no previous file | chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/GmsCoreSyncListenerTest.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
index 995a0e5e7850767ae1a8428deac2087b5caa54db..86ca04257cea3b02fae2f8c5346b046ea88b9aa0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
@@ -77,6 +77,8 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
private boolean mSigninAllowedByPolicy;
+ private boolean mSignOutInProgress;
+
/**
* A SignInStateObserver is notified when the user signs in to or out of Chrome.
*/
@@ -516,6 +518,7 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
* @param wipeDataHooks Hooks to call during data wiping in case the account is managed.
*/
public void signOut(Runnable callback, WipeDataHooks wipeDataHooks) {
+ mSignOutInProgress = true;
mSignOutCallback = callback;
boolean wipeData = getManagementDomain() != null;
@@ -587,7 +590,15 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
onSignOutDone();
}
+ @CalledByNative
+ private void onNativeSignOut() {
+ if (!mSignOutInProgress) {
+ signOut();
+ }
+ }
+
private void onSignOutDone() {
+ mSignOutInProgress = false;
if (mSignOutCallback != null) {
new Handler().post(mSignOutCallback);
mSignOutCallback = null;
« no previous file with comments | « no previous file | chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/GmsCoreSyncListenerTest.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698