Commit 2ad329a8 authored by Boris Sazonov's avatar Boris Sazonov Committed by Commit Bot

[Signin][Android] Remove context parameter from SigninManager.get

This CL removes context parameter from SigninManager instance getter. It
also removes context parameter from
FirstRunSignInProcessor.updateSigninManagerFirstRunCheckDone, as it
becomes unused.

Bug: None
Change-Id: I49aebc25becfce676a3eba1e15d7c4451c0ba36c
Reviewed-on: https://chromium-review.googlesource.com/883806Reviewed-by: default avatarBernhard Bauer <bauerb@chromium.org>
Commit-Queue: Boris Sazonov <bsazonov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533261}
parent 019a5097
......@@ -95,7 +95,7 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
mSigninPromoController = null;
}
mSignInManager = SigninManager.get(mContext);
mSignInManager = SigninManager.get();
mSignInManager.addSignInStateObserver(this);
mPromoState = calculatePromoState();
......
......@@ -103,7 +103,7 @@ public abstract class FirstRunFlowSequencer {
@VisibleForTesting
protected boolean isSyncAllowed() {
SigninManager signinManager = SigninManager.get(mActivity.getApplicationContext());
SigninManager signinManager = SigninManager.get();
return FeatureUtilities.canAllowSync(mActivity) && !signinManager.isSigninDisabledByPolicy()
&& signinManager.isSigninSupported();
}
......
......@@ -5,7 +5,6 @@
package org.chromium.chrome.browser.firstrun;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
......@@ -52,7 +51,7 @@ public final class FirstRunSignInProcessor {
* @param activity The context for the FRE parameters processor.
*/
public static void start(final Activity activity) {
SigninManager signinManager = SigninManager.get(activity.getApplicationContext());
SigninManager signinManager = SigninManager.get();
signinManager.onFirstRunCheckDone();
boolean firstRunFlowComplete = FirstRunStatus.getFirstRunFlowComplete();
......@@ -199,8 +198,8 @@ public final class FirstRunSignInProcessor {
/**
* Allows the user to sign-in if there are no pending FRE sign-in requests.
*/
public static void updateSigninManagerFirstRunCheckDone(Context context) {
SigninManager manager = SigninManager.get(context);
public static void updateSigninManagerFirstRunCheckDone() {
SigninManager manager = SigninManager.get();
if (manager.isSignInAllowed()) return;
if (!FirstRunStatus.getFirstRunFlowComplete()) return;
if (!getFirstRunFlowSignInComplete()) return;
......
......@@ -68,7 +68,7 @@ public final class ForcedSigninProcessor {
*/
private static void processForcedSignIn(
final Context appContext, @Nullable final Runnable onComplete) {
final SigninManager signinManager = SigninManager.get(appContext);
final SigninManager signinManager = SigninManager.get();
// By definition we have finished all the checks for first run.
signinManager.onFirstRunCheckDone();
if (!FeatureUtilities.canAllowSync(appContext) || !signinManager.isSignInAllowed()) {
......@@ -112,7 +112,7 @@ public final class ForcedSigninProcessor {
// consider removing the child account / EDU checks.
public static void checkCanSignIn(final ChromeActivity activity) {
final Context appContext = activity.getApplicationContext();
if (SigninManager.get(appContext).isForceSigninEnabled()) {
if (SigninManager.get().isForceSigninEnabled()) {
ExternalAuthUtils.getInstance().canUseGooglePlayServices(
new UserRecoverableErrorHandler.ModalDialog(activity, false));
}
......
......@@ -169,7 +169,7 @@ public class HistoryManager implements OnMenuItemClickListener, SignInStateObser
}});
// 9. Listen to changes in sign in state.
SigninManager.get(mActivity).addSignInStateObserver(this);
SigninManager.get().addSignInStateObserver(this);
// 10. Create PrefChangeRegistrar to receive notifications on preference changes.
mPrefChangeRegistrar = new PrefChangeRegistrar();
......@@ -268,7 +268,7 @@ public class HistoryManager implements OnMenuItemClickListener, SignInStateObser
mHistoryAdapter.onDestroyed();
mLargeIconBridge.destroy();
mLargeIconBridge = null;
SigninManager.get(mActivity).removeSignInStateObserver(this);
SigninManager.get().removeSignInStateObserver(this);
mPrefChangeRegistrar.destroy();
}
......
......@@ -100,7 +100,7 @@ public class RecentTabsManager implements AndroidSyncSettingsObserver, SignInSta
mRecentlyClosedTabManager = sRecentlyClosedTabManagerForTests != null
? sRecentlyClosedTabManagerForTests
: new RecentlyClosedBridge(profile);
mSignInManager = SigninManager.get(context);
mSignInManager = SigninManager.get();
mContext = context;
int imageSize = context.getResources().getDimensionPixelSize(R.dimen.user_picture_size);
......@@ -348,7 +348,7 @@ public class RecentTabsManager implements AndroidSyncSettingsObserver, SignInSta
@PromoState
int getPromoType() {
if (!ChromeSigninController.get().isSignedIn()) {
if (!SigninManager.get(mContext).isSignInAllowed()) {
if (!SigninManager.get().isSignInAllowed()) {
return PromoState.PROMO_NONE;
}
return PromoState.PROMO_SIGNIN_PERSONALIZED;
......
......@@ -74,7 +74,7 @@ public class SignInPromo extends OptionalLeaf {
private SignInPromo(SuggestionsUiDelegate uiDelegate) {
Context context = ContextUtils.getApplicationContext();
SuggestionsSource suggestionsSource = uiDelegate.getSuggestionsSource();
SigninManager signinManager = SigninManager.get(context);
SigninManager signinManager = SigninManager.get();
mCanSignIn = signinManager.isSignInAllowed() && !signinManager.isSignedInOnNative();
mCanShowPersonalizedSuggestions = suggestionsSource.areRemoteSuggestionsEnabled();
......
......@@ -66,8 +66,8 @@ public class MainPreferences extends PreferenceFragment
@Override
public void onStart() {
super.onStart();
if (SigninManager.get(getActivity()).isSigninSupported()) {
SigninManager.get(getActivity()).addSignInStateObserver(this);
if (SigninManager.get().isSigninSupported()) {
SigninManager.get().addSignInStateObserver(this);
mSignInPreference.registerForUpdates();
}
}
......@@ -75,8 +75,8 @@ public class MainPreferences extends PreferenceFragment
@Override
public void onStop() {
super.onStop();
if (SigninManager.get(getActivity()).isSigninSupported()) {
SigninManager.get(getActivity()).removeSignInStateObserver(this);
if (SigninManager.get().isSigninSupported()) {
SigninManager.get().removeSignInStateObserver(this);
mSignInPreference.unregisterForUpdates();
}
}
......@@ -158,7 +158,7 @@ public class MainPreferences extends PreferenceFragment
}
private void updatePreferences() {
if (SigninManager.get(getActivity()).isSigninSupported()) {
if (SigninManager.get().isSigninSupported()) {
addPreferenceIfAbsent(PREF_SIGN_IN);
} else {
removePreferenceIfPresent(PREF_SIGN_IN);
......
......@@ -67,9 +67,9 @@ public class SignInPreference
*/
void registerForUpdates() {
AccountManagerFacade.get().addObserver(this);
SigninManager.get(getContext()).addSignInAllowedObserver(this);
SigninManager.get().addSignInAllowedObserver(this);
mProfileDataCache.addObserver(this);
FirstRunSignInProcessor.updateSigninManagerFirstRunCheckDone(getContext());
FirstRunSignInProcessor.updateSigninManagerFirstRunCheckDone();
AndroidSyncSettings.registerObserver(getContext(), this);
ProfileSyncService syncService = ProfileSyncService.get();
if (syncService != null) {
......@@ -85,7 +85,7 @@ public class SignInPreference
*/
void unregisterForUpdates() {
AccountManagerFacade.get().removeObserver(this);
SigninManager.get(getContext()).removeSignInAllowedObserver(this);
SigninManager.get().removeSignInAllowedObserver(this);
mProfileDataCache.removeObserver(this);
AndroidSyncSettings.unregisterObserver(getContext(), this);
ProfileSyncService syncService = ProfileSyncService.get();
......@@ -108,7 +108,7 @@ public class SignInPreference
* Updates the title, summary, and image based on the current sign-in state.
*/
private void update() {
if (SigninManager.get(getContext()).isSigninDisabledByPolicy()) {
if (SigninManager.get().isSigninDisabledByPolicy()) {
setupSigninDisabled();
return;
}
......
......@@ -80,7 +80,7 @@ public class GoogleServicesManager implements ApplicationStateListener {
// crash on the native side then the signin state may get out of sync. Make sure that
// the native side is signed out if the Java side doesn't have a currently signed in
// user.
SigninManager signinManager = SigninManager.get(mContext);
SigninManager signinManager = SigninManager.get();
if (!mChromeSigninController.isSignedIn() && signinManager.isSignedInOnNative()) {
Log.w(TAG, "Signed in state got out of sync, forcing native sign out");
signinManager.signOut();
......
......@@ -149,7 +149,7 @@ public class AccountManagementFragment extends PreferenceFragment
@Override
public void onResume() {
super.onResume();
SigninManager.get(getActivity()).addSignInStateObserver(this);
SigninManager.get().addSignInStateObserver(this);
mProfileDataCache.addObserver(this);
ProfileSyncService syncService = ProfileSyncService.get();
if (syncService != null) {
......@@ -163,7 +163,7 @@ public class AccountManagementFragment extends PreferenceFragment
@Override
public void onPause() {
super.onPause();
SigninManager.get(getActivity()).removeSignInStateObserver(this);
SigninManager.get().removeSignInStateObserver(this);
mProfileDataCache.removeObserver(this);
ProfileSyncService syncService = ProfileSyncService.get();
if (syncService != null) {
......@@ -233,8 +233,7 @@ public class AccountManagementFragment extends PreferenceFragment
AccountManagementScreenHelper.logEvent(
ProfileAccountManagementMetrics.TOGGLE_SIGNOUT, mGaiaServiceType);
String managementDomain =
SigninManager.get(getActivity()).getManagementDomain();
String managementDomain = SigninManager.get().getManagementDomain();
if (managementDomain != null) {
// Show the 'You are signing out of a managed account' dialog.
ConfirmManagedSyncDataDialog.showSignOutFromManagedAccountDialog(
......@@ -435,7 +434,7 @@ public class AccountManagementFragment extends PreferenceFragment
final Activity activity = getActivity();
final DialogFragment clearDataProgressDialog = new ClearDataProgressDialog();
SigninManager.get(activity).signOut(null, new SigninManager.WipeDataHooks() {
SigninManager.get().signOut(null, new SigninManager.WipeDataHooks() {
@Override
public void preWipeData() {
clearDataProgressDialog.show(
......
......@@ -51,8 +51,8 @@ public class AccountSigninActivity extends AppCompatActivity
* @return {@code true} if sign in has been allowed.
*/
public static boolean startIfAllowed(Context context, @AccessPoint int accessPoint) {
if (!SigninManager.get(context).isSignInAllowed()) {
if (SigninManager.get(context).isSigninDisabledByPolicy()) {
if (!SigninManager.get().isSignInAllowed()) {
if (SigninManager.get().isSigninDisabledByPolicy()) {
ManagedPreferencesUtils.showManagedByAdministratorToast(context);
}
return false;
......@@ -171,7 +171,7 @@ public class AccountSigninActivity extends AppCompatActivity
public void onAccountSelected(
final String accountName, boolean isDefaultAccount, final boolean settingsClicked) {
final Context context = this;
SigninManager.get(this).signIn(accountName, this, new SignInCallback() {
SigninManager.get().signIn(accountName, this, new SignInCallback() {
@Override
public void onSignInComplete() {
if (settingsClicked) {
......
......@@ -452,7 +452,7 @@ public class AccountSigninView extends FrameLayout {
&& mGooglePlayServicesUpdateErrorHandler.isShowing()) {
return;
}
boolean cancelable = !SigninManager.get(getContext()).isForceSigninEnabled();
boolean cancelable = !SigninManager.get().isForceSigninEnabled();
mGooglePlayServicesUpdateErrorHandler =
new UserRecoverableErrorHandler.ModalDialog(mDelegate.getActivity(), cancelable);
mGooglePlayServicesUpdateErrorHandler.handleError(getContext(), gmsErrorCode);
......
......@@ -146,7 +146,7 @@ public class ConfirmImportSyncDataDialog extends DialogFragment
mKeepSeparateOption.setRadioButtonGroup(radioGroup);
// If the account is managed, disallow merging information.
if (SigninManager.get(getActivity()).getManagementDomain() != null) {
if (SigninManager.get().getManagementDomain() != null) {
mKeepSeparateOption.setChecked(true);
mConfirmImportOption.setOnClickListener(
view -> ManagedPreferencesUtils.showManagedByAdministratorToast(getActivity()));
......
......@@ -99,7 +99,7 @@ public class ConfirmSyncDataStateMachine
mContext = context;
mCallback = callback;
mCurrentlyManaged = SigninManager.get(context).getManagementDomain() != null;
mCurrentlyManaged = SigninManager.get().getManagementDomain() != null;
mDelegate = new ConfirmSyncDataStateMachineDelegate(mFragmentManager);
......
......@@ -58,7 +58,7 @@ public class SignOutDialogFragment extends DialogFragment implements
SHOW_GAIA_SERVICE_TYPE_EXTRA, mGaiaServiceType);
}
String managementDomain = SigninManager.get(getActivity()).getManagementDomain();
String managementDomain = SigninManager.get().getManagementDomain();
String message;
if (managementDomain == null) {
message = getActivity().getResources().getString(R.string.signout_message);
......
......@@ -119,7 +119,7 @@ public class SigninHelper {
private SigninHelper(Context context) {
mContext = context;
mProfileSyncService = ProfileSyncService.get();
mSigninManager = SigninManager.get(mContext);
mSigninManager = SigninManager.get();
mAccountTrackerService = AccountTrackerService.get();
mOAuth2TokenService = OAuth2TokenService.getForProfile(Profile.getLastUsedProfile());
mChromeSigninController = ChromeSigninController.get();
......
......@@ -14,6 +14,7 @@ import org.chromium.base.ActivityState;
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.Callback;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.ObserverList;
import org.chromium.base.Promise;
......@@ -184,20 +185,19 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
* <p/>
* Can only be accessed on the main thread.
*
* @param context the ApplicationContext is retrieved from the context used as an argument.
* @return a singleton instance of the SigninManager.
*/
public static SigninManager get(Context context) {
public static SigninManager get() {
ThreadUtils.assertOnUiThread();
if (sSigninManager == null) {
sSigninManager = new SigninManager(context);
sSigninManager = new SigninManager();
}
return sSigninManager;
}
private SigninManager(Context context) {
private SigninManager() {
ThreadUtils.assertOnUiThread();
mContext = context.getApplicationContext();
mContext = ContextUtils.getApplicationContext();
mNativeSigninManagerAndroid = nativeInit();
mSigninAllowedByPolicy = nativeIsSigninAllowedByPolicy(mNativeSigninManagerAndroid);
......
......@@ -70,20 +70,20 @@ public class SyncAccountSwitcher
assert mNewAccountName != null;
// Sign out first to ensure we don't wipe the data when sync is still on.
SigninManager.get(mActivity).signOutPromise()
SigninManager.get().signOutPromise()
.then(new Promise.AsyncFunction<Void, Void>(){
@Override
public Promise<Void> apply(Void argument) {
// Once signed out, clear the last signed in user and wipe data if needed.
SigninManager.get(mActivity).clearLastSignedInUser();
SigninManager.get().clearLastSignedInUser();
return SigninManager.wipeSyncUserDataIfRequired(wipeData);
}
}).then(new Callback<Void>(){
@Override
public void onResult(Void result) {
// Once the data has been wiped (if needed), sign in to the next account.
SigninManager.get(mActivity)
.signIn(mNewAccountName, mActivity, SyncAccountSwitcher.this);
SigninManager.get().signIn(
mNewAccountName, mActivity, SyncAccountSwitcher.this);
}
});
}
......
......@@ -109,7 +109,7 @@ public class SyncController implements ProfileSyncService.SyncStateChangedListen
mProfileSyncService.addSyncStateChangedListener(gmsCoreSyncListener);
}
SigninManager.get(mContext).addSignInStateObserver(new SigninManager.SignInStateObserver() {
SigninManager.get().addSignInStateObserver(new SigninManager.SignInStateObserver() {
@Override
public void onSignedIn() {
mProfileSyncService.requestStart();
......
......@@ -723,10 +723,10 @@ public class SyncCustomizationFragment extends PreferenceFragment
if (mCurrentSyncError == SYNC_OTHER_ERRORS) {
final Account account = ChromeSigninController.get().getSignedInUser();
SigninManager.get(getActivity()).signOut(new Runnable() {
SigninManager.get().signOut(new Runnable() {
@Override
public void run() {
SigninManager.get(getActivity()).signIn(account, null, null);
SigninManager.get().signIn(account, null, null);
}
});
return;
......
......@@ -673,10 +673,9 @@ public class HistoryActivityTest {
SigninTestUtil.setUpAuthForTest(InstrumentationRegistry.getInstrumentation());
final Account account = SigninTestUtil.addTestAccount();
ThreadUtils.runOnUiThreadBlocking(() -> {
SigninManager.get(mActivityTestRule.getActivity()).onFirstRunCheckDone();
SigninManager.get(mActivityTestRule.getActivity())
.addSignInStateObserver(mTestObserver);
SigninManager.get(mActivityTestRule.getActivity()).signIn(account, null, null);
SigninManager.get().onFirstRunCheckDone();
SigninManager.get().addSignInStateObserver(mTestObserver);
SigninManager.get().signIn(account, null, null);
});
mTestObserver.onSigninStateChangedCallback.waitForCallback(
......@@ -737,7 +736,7 @@ public class HistoryActivityTest {
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
SigninManager.get(mActivityTestRule.getActivity()).signOut(null);
SigninManager.get().signOut(null);
}
});
mTestObserver.onSigninStateChangedCallback.waitForCallback(currentCallCount, 1);
......@@ -747,8 +746,7 @@ public class HistoryActivityTest {
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
SigninManager.get(mActivityTestRule.getActivity())
.removeSignInStateObserver(mTestObserver);
SigninManager.get().removeSignInStateObserver(mTestObserver);
}
});
SigninTestUtil.tearDownAuthForTest();
......
......@@ -227,7 +227,7 @@ public class SigninTest {
// Start observing the SigninManager.
mTestSignInObserver = new TestSignInObserver();
mSigninManager = SigninManager.get(mContext);
mSigninManager = SigninManager.get();
mSigninManager.addSignInStateObserver(mTestSignInObserver);
// Get these handles in the UI thread.
......
......@@ -92,8 +92,7 @@ public class SyncTest {
new Criteria("Timed out checking that isSignedInOnNative() == true") {
@Override
public boolean isSatisfied() {
return SigninManager.get(mSyncTestRule.getTargetContext())
.isSignedInOnNative();
return SigninManager.get().isSignedInOnNative();
}
},
SyncTestUtil.TIMEOUT_MS, SyncTestUtil.INTERVAL_MS);
......@@ -107,8 +106,7 @@ public class SyncTest {
new Criteria("Timed out checking that isSignedInOnNative() == false") {
@Override
public boolean isSatisfied() {
return !SigninManager.get(mSyncTestRule.getTargetContext())
.isSignedInOnNative();
return !SigninManager.get().isSignedInOnNative();
}
},
SyncTestUtil.TIMEOUT_MS, SyncTestUtil.INTERVAL_MS);
......
......@@ -146,7 +146,7 @@ public class SyncTestRule extends ChromeActivityTestRule<ChromeActivity> {
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
SigninManager.get(mContext).signIn(account, null, null);
SigninManager.get().signIn(account, null, null);
}
});
SyncTestUtil.waitForSyncActive();
......@@ -159,7 +159,7 @@ public class SyncTestRule extends ChromeActivityTestRule<ChromeActivity> {
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
SigninManager.get(mContext).signOut(new Runnable() {
SigninManager.get().signOut(new Runnable() {
@Override
public void run() {
s.release();
......
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