Commit 9b478aa6 authored by Alice Wang's avatar Alice Wang Committed by Commit Bot

[Android][WebSignin] Disable bottom sheet when no accounts on device

This CL disables the web sign-in bottom sheet when there are
no accounts on device.

Bug: 1120334
Change-Id: I0ac3be7022540bd2aed42ce638be69ce6c9ca515
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2397893
Commit-Queue: Alice Wang <aliceywang@chromium.org>
Reviewed-by: default avatarBoris Sazonov <bsazonov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#805310}
parent 69a20c7f
......@@ -24,6 +24,7 @@ import org.chromium.chrome.browser.signin.account_picker.AccountPickerDelegate;
import org.chromium.chrome.browser.sync.settings.AccountManagementFragment;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerProvider;
import org.chromium.components.browser_ui.settings.ManagedPreferencesUtils;
import org.chromium.components.signin.AccountManagerFacadeProvider;
import org.chromium.components.signin.GAIAServiceType;
import org.chromium.components.signin.metrics.SigninAccessPoint;
import org.chromium.ui.base.WindowAndroid;
......@@ -78,15 +79,21 @@ public class SigninUtils {
ThreadUtils.assertOnUiThread();
SigninManager signinManager = IdentityServicesProvider.get().getSigninManager(
Profile.getLastUsedRegularProfile());
if (signinManager.isSignInAllowed()) {
ChromeActivity activity = (ChromeActivity) windowAndroid.getActivity().get();
AccountPickerBottomSheetCoordinator coordinator =
new AccountPickerBottomSheetCoordinator(windowAndroid.getContext().get(),
BottomSheetControllerProvider.from(windowAndroid),
new AccountPickerDelegate(windowAndroid, activity.getActivityTab(),
activity.getTabCreator(/*incognito=*/true),
new WebSigninBridge.Factory(), continueUrl));
if (!signinManager.isSignInAllowed()) {
return;
}
if (AccountManagerFacadeProvider.getInstance().tryGetGoogleAccounts().isEmpty()) {
// TODO(https://crbug.com/1119720): Show the bottom sheet when no accounts on device
// in the future. This disabling is only temporary.
// TODO(https://crbug.com/1120334): Records the action for suppressed sign-in promo
return;
}
ChromeActivity activity = (ChromeActivity) windowAndroid.getActivity().get();
AccountPickerBottomSheetCoordinator coordinator = new AccountPickerBottomSheetCoordinator(
windowAndroid.getContext().get(), BottomSheetControllerProvider.from(windowAndroid),
new AccountPickerDelegate(windowAndroid, activity.getActivityTab(),
activity.getTabCreator(/*incognito=*/true), new WebSigninBridge.Factory(),
continueUrl));
}
/**
......
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