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; ...@@ -24,6 +24,7 @@ import org.chromium.chrome.browser.signin.account_picker.AccountPickerDelegate;
import org.chromium.chrome.browser.sync.settings.AccountManagementFragment; import org.chromium.chrome.browser.sync.settings.AccountManagementFragment;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerProvider; import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerProvider;
import org.chromium.components.browser_ui.settings.ManagedPreferencesUtils; 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.GAIAServiceType;
import org.chromium.components.signin.metrics.SigninAccessPoint; import org.chromium.components.signin.metrics.SigninAccessPoint;
import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.base.WindowAndroid;
...@@ -78,15 +79,21 @@ public class SigninUtils { ...@@ -78,15 +79,21 @@ public class SigninUtils {
ThreadUtils.assertOnUiThread(); ThreadUtils.assertOnUiThread();
SigninManager signinManager = IdentityServicesProvider.get().getSigninManager( SigninManager signinManager = IdentityServicesProvider.get().getSigninManager(
Profile.getLastUsedRegularProfile()); Profile.getLastUsedRegularProfile());
if (signinManager.isSignInAllowed()) { 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(); ChromeActivity activity = (ChromeActivity) windowAndroid.getActivity().get();
AccountPickerBottomSheetCoordinator coordinator = AccountPickerBottomSheetCoordinator coordinator = new AccountPickerBottomSheetCoordinator(
new AccountPickerBottomSheetCoordinator(windowAndroid.getContext().get(), windowAndroid.getContext().get(), BottomSheetControllerProvider.from(windowAndroid),
BottomSheetControllerProvider.from(windowAndroid),
new AccountPickerDelegate(windowAndroid, activity.getActivityTab(), new AccountPickerDelegate(windowAndroid, activity.getActivityTab(),
activity.getTabCreator(/*incognito=*/true), activity.getTabCreator(/*incognito=*/true), new WebSigninBridge.Factory(),
new WebSigninBridge.Factory(), continueUrl)); 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