| 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
|
|
|