Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(342)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java

Issue 2800833003: Revert of Android: Remove GetApplicationContext part 2 (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.signin; 5 package org.chromium.chrome.browser.signin;
6 6
7 import android.accounts.Account; 7 import android.accounts.Account;
8 import android.app.Activity; 8 import android.app.Activity;
9 import android.content.Context; 9 import android.content.Context;
10 import android.os.Handler; 10 import android.os.Handler;
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 } 192 }
193 return sSigninManager; 193 return sSigninManager;
194 } 194 }
195 195
196 private SigninManager(Context context) { 196 private SigninManager(Context context) {
197 ThreadUtils.assertOnUiThread(); 197 ThreadUtils.assertOnUiThread();
198 mContext = context.getApplicationContext(); 198 mContext = context.getApplicationContext();
199 mNativeSigninManagerAndroid = nativeInit(); 199 mNativeSigninManagerAndroid = nativeInit();
200 mSigninAllowedByPolicy = nativeIsSigninAllowedByPolicy(mNativeSigninMana gerAndroid); 200 mSigninAllowedByPolicy = nativeIsSigninAllowedByPolicy(mNativeSigninMana gerAndroid);
201 201
202 AccountTrackerService.get().addSystemAccountsSeededListener(this); 202 AccountTrackerService.get(mContext).addSystemAccountsSeededListener(this );
203 } 203 }
204 204
205 /** 205 /**
206 * Log the access point when the user see the view of choosing account to sig n in. 206 * Log the access point when the user see the view of choosing account to sig n in.
207 * @param accessPoint the enum value of AccessPoint defined in signin_metrics .h. 207 * @param accessPoint the enum value of AccessPoint defined in signin_metrics .h.
208 */ 208 */
209 public static void logSigninStartAccessPoint(int accessPoint) { 209 public static void logSigninStartAccessPoint(int accessPoint) {
210 RecordHistogram.recordEnumeratedHistogram( 210 RecordHistogram.recordEnumeratedHistogram(
211 "Signin.SigninStartedAccessPoint", accessPoint, SigninAccessPoin t.MAX); 211 "Signin.SigninStartedAccessPoint", accessPoint, SigninAccessPoin t.MAX);
212 sSignInAccessPoint = accessPoint; 212 sSignInAccessPoint = accessPoint;
(...skipping 16 matching lines...) Expand all
229 if (isSignInAllowed()) { 229 if (isSignInAllowed()) {
230 notifySignInAllowedChanged(); 230 notifySignInAllowedChanged();
231 } 231 }
232 } 232 }
233 233
234 /** 234 /**
235 * Returns true if signin can be started now. 235 * Returns true if signin can be started now.
236 */ 236 */
237 public boolean isSignInAllowed() { 237 public boolean isSignInAllowed() {
238 return !mFirstRunCheckIsPending && mSignInState == null && mSigninAllowe dByPolicy 238 return !mFirstRunCheckIsPending && mSignInState == null && mSigninAllowe dByPolicy
239 && ChromeSigninController.get().getSignedInUser() == null && isS igninSupported(); 239 && ChromeSigninController.get(mContext).getSignedInUser() == nul l
240 && isSigninSupported();
240 } 241 }
241 242
242 /** 243 /**
243 * Returns true if signin is disabled by policy. 244 * Returns true if signin is disabled by policy.
244 */ 245 */
245 public boolean isSigninDisabledByPolicy() { 246 public boolean isSigninDisabledByPolicy() {
246 return !mSigninAllowedByPolicy; 247 return !mSigninAllowedByPolicy;
247 } 248 }
248 249
249 /** 250 /**
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 notifySignInAllowedChanged(); 360 notifySignInAllowedChanged();
360 361
361 progressSignInFlowSeedSystemAccounts(); 362 progressSignInFlowSeedSystemAccounts();
362 } 363 }
363 364
364 /** 365 /**
365 * Same as above but retrieves the Account object for the given accountName. 366 * Same as above but retrieves the Account object for the given accountName.
366 */ 367 */
367 public void signIn(String accountName, @Nullable final Activity activity, 368 public void signIn(String accountName, @Nullable final Activity activity,
368 @Nullable final SignInCallback callback) { 369 @Nullable final SignInCallback callback) {
369 AccountManagerHelper.get().getAccountFromName(accountName, new Callback< Account>() { 370 AccountManagerHelper.get(mContext).getAccountFromName(accountName, new C allback<Account>() {
370 @Override 371 @Override
371 public void onResult(Account account) { 372 public void onResult(Account account) {
372 signIn(account, activity, callback); 373 signIn(account, activity, callback);
373 } 374 }
374 }); 375 });
375 } 376 }
376 377
377 private void progressSignInFlowSeedSystemAccounts() { 378 private void progressSignInFlowSeedSystemAccounts() {
378 if (AccountTrackerService.get().checkAndSeedSystemAccounts()) { 379 if (AccountTrackerService.get(mContext).checkAndSeedSystemAccounts()) {
379 progressSignInFlowCheckPolicy(); 380 progressSignInFlowCheckPolicy();
380 } else if (AccountIdProvider.getInstance().canBeUsed()) { 381 } else if (AccountIdProvider.getInstance().canBeUsed(mContext)) {
381 mSignInState.blockedOnAccountSeeding = true; 382 mSignInState.blockedOnAccountSeeding = true;
382 } else { 383 } else {
383 Activity activity = mSignInState.activity; 384 Activity activity = mSignInState.activity;
384 UserRecoverableErrorHandler errorHandler = activity != null 385 UserRecoverableErrorHandler errorHandler = activity != null
385 ? new UserRecoverableErrorHandler.ModalDialog(activity, !isF orceSigninEnabled()) 386 ? new UserRecoverableErrorHandler.ModalDialog(activity, !isF orceSigninEnabled())
386 : new UserRecoverableErrorHandler.SystemNotification(); 387 : new UserRecoverableErrorHandler.SystemNotification();
387 ExternalAuthUtils.getInstance().canUseGooglePlayServices(mContext, e rrorHandler); 388 ExternalAuthUtils.getInstance().canUseGooglePlayServices(mContext, e rrorHandler);
388 Log.w(TAG, "Cancelling the sign-in process as Google Play services i s unavailable"); 389 Log.w(TAG, "Cancelling the sign-in process as Google Play services i s unavailable");
389 abortSignIn(); 390 abortSignIn();
390 } 391 }
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 446
446 private void finishSignIn() { 447 private void finishSignIn() {
447 // This method should be called at most once per sign-in flow. 448 // This method should be called at most once per sign-in flow.
448 assert mSignInState != null; 449 assert mSignInState != null;
449 450
450 // Tell the native side that sign-in has completed. 451 // Tell the native side that sign-in has completed.
451 nativeOnSignInCompleted(mNativeSigninManagerAndroid, mSignInState.accoun t.name); 452 nativeOnSignInCompleted(mNativeSigninManagerAndroid, mSignInState.accoun t.name);
452 453
453 // Cache the signed-in account name. This must be done after the native call, otherwise 454 // Cache the signed-in account name. This must be done after the native call, otherwise
454 // sync tries to start without being signed in natively and crashes. 455 // sync tries to start without being signed in natively and crashes.
455 ChromeSigninController.get().setSignedInAccountName(mSignInState.account .name); 456 ChromeSigninController.get(mContext).setSignedInAccountName(mSignInState .account.name);
456 AndroidSyncSettings.updateAccount(mContext, mSignInState.account); 457 AndroidSyncSettings.updateAccount(mContext, mSignInState.account);
457 458
458 if (mSignInState.callback != null) { 459 if (mSignInState.callback != null) {
459 mSignInState.callback.onSignInComplete(); 460 mSignInState.callback.onSignInComplete();
460 } 461 }
461 462
462 // Trigger token requests via native. 463 // Trigger token requests via native.
463 logInSignedInUser(); 464 logInSignedInUser();
464 465
465 if (mSignInState.isInteractive()) { 466 if (mSignInState.isInteractive()) {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 public void signOut(Runnable callback, WipeDataHooks wipeDataHooks) { 526 public void signOut(Runnable callback, WipeDataHooks wipeDataHooks) {
526 mSignOutInProgress = true; 527 mSignOutInProgress = true;
527 mSignOutCallback = callback; 528 mSignOutCallback = callback;
528 529
529 boolean wipeData = getManagementDomain() != null; 530 boolean wipeData = getManagementDomain() != null;
530 Log.d(TAG, "Signing out, wipe data? " + wipeData); 531 Log.d(TAG, "Signing out, wipe data? " + wipeData);
531 532
532 // Native signout must happen before resetting the account so data is de leted correctly. 533 // Native signout must happen before resetting the account so data is de leted correctly.
533 // http://crbug.com/589028 534 // http://crbug.com/589028
534 nativeSignOut(mNativeSigninManagerAndroid); 535 nativeSignOut(mNativeSigninManagerAndroid);
535 ChromeSigninController.get().setSignedInAccountName(null); 536 ChromeSigninController.get(mContext).setSignedInAccountName(null);
536 AndroidSyncSettings.updateAccount(mContext, null); 537 AndroidSyncSettings.updateAccount(mContext, null);
537 538
538 if (wipeData) { 539 if (wipeData) {
539 wipeProfileData(wipeDataHooks); 540 wipeProfileData(wipeDataHooks);
540 } else { 541 } else {
541 onSignOutDone(); 542 onSignOutDone();
542 } 543 }
543 544
544 AccountTrackerService.get().invalidateAccountSeedStatus(true); 545 AccountTrackerService.get(mContext).invalidateAccountSeedStatus(true);
545 } 546 }
546 547
547 /** 548 /**
548 * Returns the management domain if the signed in account is managed, otherw ise returns null. 549 * Returns the management domain if the signed in account is managed, otherw ise returns null.
549 */ 550 */
550 public String getManagementDomain() { 551 public String getManagementDomain() {
551 return nativeGetManagementDomain(mNativeSigninManagerAndroid); 552 return nativeGetManagementDomain(mNativeSigninManagerAndroid);
552 } 553 }
553 554
554 public void logInSignedInUser() { 555 public void logInSignedInUser() {
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 private native void nativeOnSignInCompleted(long nativeSigninManagerAndroid, String username); 677 private native void nativeOnSignInCompleted(long nativeSigninManagerAndroid, String username);
677 private native void nativeSignOut(long nativeSigninManagerAndroid); 678 private native void nativeSignOut(long nativeSigninManagerAndroid);
678 private native String nativeGetManagementDomain(long nativeSigninManagerAndr oid); 679 private native String nativeGetManagementDomain(long nativeSigninManagerAndr oid);
679 private native void nativeWipeProfileData(long nativeSigninManagerAndroid, W ipeDataHooks hooks); 680 private native void nativeWipeProfileData(long nativeSigninManagerAndroid, W ipeDataHooks hooks);
680 private native void nativeClearLastSignedInUser(long nativeSigninManagerAndr oid); 681 private native void nativeClearLastSignedInUser(long nativeSigninManagerAndr oid);
681 private native void nativeLogInSignedInUser(long nativeSigninManagerAndroid) ; 682 private native void nativeLogInSignedInUser(long nativeSigninManagerAndroid) ;
682 private native boolean nativeIsSignedInOnNative(long nativeSigninManagerAndr oid); 683 private native boolean nativeIsSignedInOnNative(long nativeSigninManagerAndr oid);
683 private native void nativeProhibitSignout( 684 private native void nativeProhibitSignout(
684 long nativeSigninManagerAndroid, boolean prohibitSignout); 685 long nativeSigninManagerAndroid, boolean prohibitSignout);
685 } 686 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698