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

Unified 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, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninActivity.java
index 365e1b167ee0961af42d141287d98294c975d180..4717325e329ea0b2e7b52bcea9cd4b4f4c9b7243 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountSigninActivity.java
@@ -18,6 +18,7 @@
import org.chromium.chrome.R;
import org.chromium.chrome.browser.firstrun.ProfileDataCache;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
+import org.chromium.chrome.browser.preferences.ManagedPreferencesUtils;
import org.chromium.chrome.browser.preferences.PreferencesLauncher;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.signin.SigninManager.SignInCallback;
@@ -39,7 +40,8 @@
private ProfileDataCache mProfileDataCache;
@IntDef({SigninAccessPoint.SETTINGS, SigninAccessPoint.BOOKMARK_MANAGER,
- SigninAccessPoint.RECENT_TABS, SigninAccessPoint.SIGNIN_PROMO})
+ SigninAccessPoint.RECENT_TABS, SigninAccessPoint.SIGNIN_PROMO,
+ SigninAccessPoint.NTP_LINK})
@Retention(RetentionPolicy.SOURCE)
public @interface AccessPoint {}
@AccessPoint private int mAccessPoint;
@@ -55,6 +57,24 @@ public static void startAccountSigninActivity(Context context, @AccessPoint int
context.startActivity(intent);
}
+ /**
+ * A convenience method to create a AccountSigninActivity passing the access point as an
+ * intent. Checks if the sign in flow can be started before showing the activity.
+ * @param accessPoint - A SigninAccessPoint designating where the activity is created from.
+ * @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()) {
+ ManagedPreferencesUtils.showManagedByAdministratorToast(context);
+ }
+ return false;
+ }
+
+ startAccountSigninActivity(context, accessPoint);
+ return true;
+ }
+
@Override
@SuppressFBWarnings("DM_EXIT")
protected void onCreate(Bundle savedInstanceState) {

Powered by Google App Engine
This is Rietveld 408576698