Commit c5404d69 authored by Boris Sazonov's avatar Boris Sazonov Committed by Commit Bot

[Signin][Android] Mark sync setup flow as finished from ForcedSigninProcessor

This CL fixes ForcedSigninProcessor by marking the sync flow as
completed after a forced sign-in.

Bug: b/146775602
Change-Id: I5ea64edb79a975ff37ec5d19650534b5ac8c2cc8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2013100Reviewed-by: default avatarMarc Treib <treib@chromium.org>
Commit-Queue: Boris Sazonov <bsazonov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#734026}
parent f0a115e5
...@@ -8,12 +8,14 @@ import androidx.annotation.Nullable; ...@@ -8,12 +8,14 @@ import androidx.annotation.Nullable;
import org.chromium.base.Log; import org.chromium.base.Log;
import org.chromium.chrome.browser.ChromeActivity; import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.SyncFirstSetupCompleteSource;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils; import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
import org.chromium.chrome.browser.externalauth.UserRecoverableErrorHandler; import org.chromium.chrome.browser.externalauth.UserRecoverableErrorHandler;
import org.chromium.chrome.browser.services.AndroidEduAndChildAccountHelper; import org.chromium.chrome.browser.services.AndroidEduAndChildAccountHelper;
import org.chromium.chrome.browser.settings.sync.AccountManagementFragment; import org.chromium.chrome.browser.settings.sync.AccountManagementFragment;
import org.chromium.chrome.browser.signin.IdentityServicesProvider; import org.chromium.chrome.browser.signin.IdentityServicesProvider;
import org.chromium.chrome.browser.signin.SigninManager; import org.chromium.chrome.browser.signin.SigninManager;
import org.chromium.chrome.browser.sync.ProfileSyncService;
import org.chromium.components.signin.AccountManagerFacade; import org.chromium.components.signin.AccountManagerFacade;
import org.chromium.components.signin.ChildAccountStatus; import org.chromium.components.signin.ChildAccountStatus;
import org.chromium.components.signin.metrics.SigninAccessPoint; import org.chromium.components.signin.metrics.SigninAccessPoint;
...@@ -66,6 +68,12 @@ public final class ForcedSigninProcessor { ...@@ -66,6 +68,12 @@ public final class ForcedSigninProcessor {
* This is used to enforce the environment for Android EDU and child accounts. * This is used to enforce the environment for Android EDU and child accounts.
*/ */
private static void processForcedSignIn(@Nullable final Runnable onComplete) { private static void processForcedSignIn(@Nullable final Runnable onComplete) {
if (FirstRunUtils.canAllowSync()
&& IdentityServicesProvider.get().getIdentityManager().hasPrimaryAccount()) {
// TODO(https://crbug.com/1044206): Remove this.
ProfileSyncService.get().setFirstSetupComplete(SyncFirstSetupCompleteSource.BASIC_FLOW);
}
final SigninManager signinManager = IdentityServicesProvider.get().getSigninManager(); final SigninManager signinManager = IdentityServicesProvider.get().getSigninManager();
// By definition we have finished all the checks for first run. // By definition we have finished all the checks for first run.
signinManager.onFirstRunCheckDone(); signinManager.onFirstRunCheckDone();
...@@ -82,6 +90,9 @@ public final class ForcedSigninProcessor { ...@@ -82,6 +90,9 @@ public final class ForcedSigninProcessor {
new SigninManager.SignInCallback() { new SigninManager.SignInCallback() {
@Override @Override
public void onSignInComplete() { public void onSignInComplete() {
// TODO(https://crbug.com/1044206): Remove this.
ProfileSyncService.get().setFirstSetupComplete(
SyncFirstSetupCompleteSource.BASIC_FLOW);
if (onComplete != null) { if (onComplete != null) {
onComplete.run(); onComplete.run();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment