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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/firstrun/ForcedSigninProcessor.java

Issue 2695113002: [Webview, Child Accounts] Automatically sign in to Chrome if needed. (Closed)
Patch Set: Fix instrumentation tests Created 3 years, 10 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
Index: chrome/android/java/src/org/chromium/chrome/browser/firstrun/ForcedSigninProcessor.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ForcedSigninProcessor.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ForcedSigninProcessor.java
index 82ac3ab9a72d3920d660eac49f77ed1e1a302dc5..85247823c4c787753be1215ded4e8dbbdb89a137 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ForcedSigninProcessor.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ForcedSigninProcessor.java
@@ -19,6 +19,8 @@ import org.chromium.chrome.browser.util.FeatureUtilities;
import org.chromium.components.signin.AccountManagerHelper;
import org.chromium.components.signin.ChromeSigninController;
+import javax.annotation.Nullable;
+
/**
* A helper to perform all necessary steps for forced sign in.
* The helper performs:
@@ -44,7 +46,7 @@ public final class ForcedSigninProcessor {
* This is triggered once per Chrome Application lifetime and everytime the Account state
* changes with early exit if an account has already been signed in.
*/
- public static void start(final Context appContext) {
+ public static void start(final Context appContext, @Nullable final Runnable onComplete) {
if (ChromeSigninController.get(appContext).isSignedIn()) return;
new AndroidEduAndChildAccountHelper() {
@Override
@@ -55,7 +57,7 @@ public final class ForcedSigninProcessor {
if (!isAndroidEduDevice && !hasChildAccount) return;
// Child account and EDU device at the same time is not supported.
assert !(isAndroidEduDevice && hasChildAccount);
- processForcedSignIn(appContext);
+ processForcedSignIn(appContext, onComplete);
}
}.start(appContext);
}
@@ -64,7 +66,8 @@ public final class ForcedSigninProcessor {
* Processes the fully automatic non-FRE-related forced sign-in.
* This is used to enforce the environment for Android EDU and child accounts.
*/
- private static void processForcedSignIn(final Context appContext) {
+ private static void processForcedSignIn(
+ final Context appContext, @Nullable final Runnable onComplete) {
final SigninManager signinManager = SigninManager.get(appContext);
// By definition we have finished all the checks for first run.
signinManager.onFirstRunCheckDone();
@@ -85,10 +88,17 @@ public final class ForcedSigninProcessor {
// Since this is a forced signin, signout is not allowed.
AccountManagementFragment.setSignOutAllowedPreferenceValue(
appContext, false);
+ if (onComplete != null) {
+ onComplete.run();
+ }
}
@Override
- public void onSignInAborted() {}
+ public void onSignInAborted() {
+ if (onComplete != null) {
+ onComplete.run();
+ }
+ }
});
}
});

Powered by Google App Engine
This is Rietveld 408576698