Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java |
index 318d2675f9cf9ab65725af90d7ec38b28ed40213..32dfda7d5cbbfbdb76d0f45fc6d79cb216201dd0 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java |
@@ -76,17 +76,16 @@ public class MainPreferences extends PreferenceFragment |
// the SignInPreference. |
updatePreferences(); |
- if (!mIsDemoUser) { |
+ if (isUserAllowedToSignIn()) { |
SigninManager.get(getActivity()).addSignInStateObserver(this); |
setupSignInPref(); |
} |
- |
} |
@Override |
public void onPause() { |
super.onPause(); |
- if (!mIsDemoUser) { |
+ if (isUserAllowedToSignIn()) { |
SigninManager.get(getActivity()).removeSignInStateObserver(this); |
clearSignInPref(); |
} |
@@ -169,7 +168,7 @@ public class MainPreferences extends PreferenceFragment |
getPreferenceScreen().removePreference(dataReduction); |
} |
- if (mIsDemoUser) { |
+ if (!isUserAllowedToSignIn()) { |
getPreferenceScreen().removePreference(findPreference(PREF_SIGN_IN)); |
} |
} |
@@ -225,6 +224,11 @@ public class MainPreferences extends PreferenceFragment |
updatePreferences(); |
} |
+ private boolean isUserAllowedToSignIn() { |
+ boolean allowSignIn = SigninManager.get(getActivity()).isSignInAllowed(); |
+ return allowSignIn && !mIsDemoUser; |
+ } |
+ |
private ManagedPreferenceDelegate createManagedPreferenceDelegate() { |
return new ManagedPreferenceDelegate() { |
@Override |