use of org.chromium.chrome.browser.signin.SigninManager in project AndroidChromium by JackyAndroid.
the class SignInPreference method unregisterForUpdates.
/**
* Stops listening for updates to the sign-in and sync state. Every call to registerForUpdates()
* must be matched with a call to this method.
*/
public void unregisterForUpdates() {
SigninManager manager = SigninManager.get(getContext());
manager.removeSignInAllowedObserver(this);
ProfileDownloader.removeObserver(this);
AndroidSyncSettings.unregisterObserver(getContext(), this);
ProfileSyncService syncService = ProfileSyncService.get();
if (syncService != null) {
syncService.removeSyncStateChangedListener(this);
}
}
use of org.chromium.chrome.browser.signin.SigninManager in project AndroidChromium by JackyAndroid.
the class SignInPreference method registerForUpdates.
/**
* Starts listening for updates to the sign-in and sync state.
*/
public void registerForUpdates() {
SigninManager manager = SigninManager.get(getContext());
manager.addSignInAllowedObserver(this);
ProfileDownloader.addObserver(this);
FirstRunSignInProcessor.updateSigninManagerFirstRunCheckDone(getContext());
AndroidSyncSettings.registerObserver(getContext(), this);
ProfileSyncService syncService = ProfileSyncService.get();
if (syncService != null) {
syncService.addSyncStateChangedListener(this);
}
}
use of org.chromium.chrome.browser.signin.SigninManager in project AndroidChromium by JackyAndroid.
the class ForcedSigninProcessor method processForcedSignIn.
/**
* 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) {
final SigninManager signinManager = SigninManager.get(appContext);
// By definition we have finished all the checks for first run.
signinManager.onFirstRunCheckDone();
if (!FeatureUtilities.canAllowSync(appContext) || !signinManager.isSignInAllowed()) {
Log.d(TAG, "Sign in disallowed");
return;
}
AccountManagerHelper.get(appContext).getGoogleAccounts(new Callback<Account[]>() {
@Override
public void onResult(Account[] accounts) {
if (accounts.length != 1) {
Log.d(TAG, "Incorrect number of accounts (%d)", accounts.length);
return;
}
signinManager.signIn(accounts[0], null, new SigninManager.SignInCallback() {
@Override
public void onSignInComplete() {
// Since this is a forced signin, signout is not allowed.
AccountManagementFragment.setSignOutAllowedPreferenceValue(appContext, false);
}
@Override
public void onSignInAborted() {
}
});
}
});
}
use of org.chromium.chrome.browser.signin.SigninManager in project AndroidChromium by JackyAndroid.
the class FirstRunSignInProcessor method start.
/**
* Initiates the automatic sign-in process in background.
*
* @param activity The context for the FRE parameters processor.
*/
public static void start(final Activity activity) {
SigninManager signinManager = SigninManager.get(activity.getApplicationContext());
signinManager.onFirstRunCheckDone();
boolean firstRunFlowComplete = FirstRunStatus.getFirstRunFlowComplete(activity);
// - FRE hasn't been completed, but the user has already seen the ToS in the Setup Wizard.
if (CommandLine.getInstance().hasSwitch(ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE) || ApiCompatibilityUtils.isDemoUser(activity) || (!firstRunFlowComplete && ToSAckedReceiver.checkAnyUserHasSeenToS(activity))) {
return;
}
// icon or via intent from GSA. Otherwise, skip signin.
if (!firstRunFlowComplete) {
if (!CommandLine.getInstance().hasSwitch(ChromeSwitches.ENABLE_LIGHTWEIGHT_FIRST_RUN_EXPERIENCE) || TextUtils.equals(activity.getIntent().getAction(), Intent.ACTION_MAIN) || IntentHandler.determineExternalIntentSource(activity.getPackageName(), activity.getIntent()) == ExternalAppId.GSA) {
requestToFireIntentAndFinish(activity);
}
return;
}
// We are only processing signin from the FRE.
if (getFirstRunFlowSignInComplete(activity)) {
return;
}
final String accountName = getFirstRunFlowSignInAccountName(activity);
if (!FeatureUtilities.canAllowSync(activity) || !signinManager.isSignInAllowed() || TextUtils.isEmpty(accountName)) {
setFirstRunFlowSignInComplete(activity, true);
return;
}
final boolean setUp = getFirstRunFlowSignInSetup(activity);
signinManager.signIn(accountName, activity, new SignInCallback() {
@Override
public void onSignInComplete() {
// Show sync settings if user pressed the "Settings" button.
if (setUp) {
openSignInSettings(activity);
}
setFirstRunFlowSignInComplete(activity, true);
}
@Override
public void onSignInAborted() {
// Set FRE as complete even if signin fails because the user has already seen and
// accepted the terms of service.
setFirstRunFlowSignInComplete(activity, true);
}
});
}
use of org.chromium.chrome.browser.signin.SigninManager in project AndroidChromium by JackyAndroid.
the class FirstRunSignInProcessor method updateSigninManagerFirstRunCheckDone.
/**
* Allows the user to sign-in if there are no pending FRE sign-in requests.
* @param context A context
*/
public static void updateSigninManagerFirstRunCheckDone(Context context) {
SigninManager manager = SigninManager.get(context);
if (manager.isSignInAllowed())
return;
if (!FirstRunStatus.getFirstRunFlowComplete(context))
return;
if (!getFirstRunFlowSignInComplete(context))
return;
manager.onFirstRunCheckDone();
}
Aggregations