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

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

Issue 2061803002: 📰 The Status card reports disabled sync states (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@simplifyBridge
Patch Set: yolo: another big bag of changes Created 4 years, 5 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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.content.Context; 7 import android.content.Context;
8 import android.content.Intent; 8 import android.content.Intent;
9 import android.os.Bundle; 9 import android.os.Bundle;
10 import android.support.annotation.IntDef; 10 import android.support.annotation.IntDef;
11 import android.support.v7.app.AppCompatActivity; 11 import android.support.v7.app.AppCompatActivity;
12 import android.view.LayoutInflater; 12 import android.view.LayoutInflater;
13 13
14 import org.chromium.base.Log; 14 import org.chromium.base.Log;
15 import org.chromium.base.annotations.SuppressFBWarnings; 15 import org.chromium.base.annotations.SuppressFBWarnings;
16 import org.chromium.base.library_loader.ProcessInitException; 16 import org.chromium.base.library_loader.ProcessInitException;
17 import org.chromium.base.metrics.RecordUserAction; 17 import org.chromium.base.metrics.RecordUserAction;
18 import org.chromium.chrome.R; 18 import org.chromium.chrome.R;
19 import org.chromium.chrome.browser.firstrun.ProfileDataCache; 19 import org.chromium.chrome.browser.firstrun.ProfileDataCache;
20 import org.chromium.chrome.browser.init.ChromeBrowserInitializer; 20 import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
21 import org.chromium.chrome.browser.preferences.ManagedPreferencesUtils;
21 import org.chromium.chrome.browser.preferences.PreferencesLauncher; 22 import org.chromium.chrome.browser.preferences.PreferencesLauncher;
22 import org.chromium.chrome.browser.profiles.Profile; 23 import org.chromium.chrome.browser.profiles.Profile;
23 import org.chromium.chrome.browser.signin.SigninManager.SignInCallback; 24 import org.chromium.chrome.browser.signin.SigninManager.SignInCallback;
24 25
25 import java.lang.annotation.Retention; 26 import java.lang.annotation.Retention;
26 import java.lang.annotation.RetentionPolicy; 27 import java.lang.annotation.RetentionPolicy;
27 28
28 /** 29 /**
29 * An Activity displayed from the MainPreferences to allow the user to pick an a ccount to 30 * An Activity displayed from the MainPreferences to allow the user to pick an a ccount to
30 * sign in to. The AccountSigninView.Delegate interface is fulfilled by the AppC ompatActivity. 31 * sign in to. The AccountSigninView.Delegate interface is fulfilled by the AppC ompatActivity.
31 */ 32 */
32 public class AccountSigninActivity extends AppCompatActivity 33 public class AccountSigninActivity extends AppCompatActivity
33 implements AccountSigninView.Listener, AccountSigninView.Delegate { 34 implements AccountSigninView.Listener, AccountSigninView.Delegate {
34 private static final String TAG = "AccountSigninActivity"; 35 private static final String TAG = "AccountSigninActivity";
35 private static final String INTENT_SIGNIN_ACCESS_POINT = 36 private static final String INTENT_SIGNIN_ACCESS_POINT =
36 "AccountSigninActivity.SigninAccessPoint"; 37 "AccountSigninActivity.SigninAccessPoint";
37 38
38 private AccountSigninView mView; 39 private AccountSigninView mView;
39 private ProfileDataCache mProfileDataCache; 40 private ProfileDataCache mProfileDataCache;
40 41
41 @IntDef({SigninAccessPoint.SETTINGS, SigninAccessPoint.BOOKMARK_MANAGER, 42 @IntDef({SigninAccessPoint.SETTINGS, SigninAccessPoint.BOOKMARK_MANAGER,
42 SigninAccessPoint.RECENT_TABS, SigninAccessPoint.SIGNIN_PROMO}) 43 SigninAccessPoint.RECENT_TABS, SigninAccessPoint.SIGNIN_PROMO,
44 SigninAccessPoint.NTP_LINK})
43 @Retention(RetentionPolicy.SOURCE) 45 @Retention(RetentionPolicy.SOURCE)
44 public @interface AccessPoint {} 46 public @interface AccessPoint {}
45 @AccessPoint private int mAccessPoint; 47 @AccessPoint private int mAccessPoint;
46 48
47 /** 49 /**
48 * A convenience method to create a AccountSigninActivity passing the access point as an 50 * A convenience method to create a AccountSigninActivity passing the access point as an
49 * intent. 51 * intent.
50 * @param accessPoint - A SigninAccessPoint designating where the activity i s created from. 52 * @param accessPoint - A SigninAccessPoint designating where the activity i s created from.
51 */ 53 */
52 public static void startAccountSigninActivity(Context context, @AccessPoint int accessPoint) { 54 public static void startAccountSigninActivity(Context context, @AccessPoint int accessPoint) {
53 Intent intent = new Intent(context, AccountSigninActivity.class); 55 Intent intent = new Intent(context, AccountSigninActivity.class);
54 intent.putExtra(INTENT_SIGNIN_ACCESS_POINT, accessPoint); 56 intent.putExtra(INTENT_SIGNIN_ACCESS_POINT, accessPoint);
55 context.startActivity(intent); 57 context.startActivity(intent);
56 } 58 }
57 59
60 /**
61 * A convenience method to create a AccountSigninActivity passing the access point as an
62 * intent. Checks if the sign in flow can be started before showing the acti vity.
63 * @param accessPoint - A SigninAccessPoint designating where the activity i s created from.
64 * @return {@code true} if sign in has been allowed.
65 */
66 public static boolean startIfAllowed(Context context, @AccessPoint int acces sPoint) {
67 if (!SigninManager.get(context).isSignInAllowed()) {
68 if (SigninManager.get(context).isSigninDisabledByPolicy()) {
69 ManagedPreferencesUtils.showManagedByAdministratorToast(context) ;
70 }
71 return false;
72 }
73
74 startAccountSigninActivity(context, accessPoint);
75 return true;
76 }
77
58 @Override 78 @Override
59 @SuppressFBWarnings("DM_EXIT") 79 @SuppressFBWarnings("DM_EXIT")
60 protected void onCreate(Bundle savedInstanceState) { 80 protected void onCreate(Bundle savedInstanceState) {
61 // The browser process must be started here because this activity may be started from the 81 // The browser process must be started here because this activity may be started from the
62 // recent apps list and it relies on other activities and the native lib rary to be loaded. 82 // recent apps list and it relies on other activities and the native lib rary to be loaded.
63 try { 83 try {
64 ChromeBrowserInitializer.getInstance(this).handleSynchronousStartup( ); 84 ChromeBrowserInitializer.getInstance(this).handleSynchronousStartup( );
65 } catch (ProcessInitException e) { 85 } catch (ProcessInitException e) {
66 Log.e(TAG, "Failed to start browser process.", e); 86 Log.e(TAG, "Failed to start browser process.", e);
67 // Since the library failed to initialize nothing in the application 87 // Since the library failed to initialize nothing in the application
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 RecordUserAction.record("Signin_Signin_FromSettings"); 183 RecordUserAction.record("Signin_Signin_FromSettings");
164 break; 184 break;
165 case SigninAccessPoint.SIGNIN_PROMO: 185 case SigninAccessPoint.SIGNIN_PROMO:
166 RecordUserAction.record("Signin_Signin_FromSigninPromo"); 186 RecordUserAction.record("Signin_Signin_FromSigninPromo");
167 break; 187 break;
168 default: 188 default:
169 assert false : "Invalid access point."; 189 assert false : "Invalid access point.";
170 } 190 }
171 } 191 }
172 } 192 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698