| Index: chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java
|
| index a1fafb5f57fbb4b1ff98701e73a7307236f11330..74f96a68931a37c0902e90c1839c5bf1e71ff3fb 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountManagementFragment.java
|
| @@ -54,6 +54,7 @@ import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver;
|
| import org.chromium.chrome.browser.sync.ProfileSyncService;
|
| import org.chromium.chrome.browser.sync.ProfileSyncService.SyncStateChangedListener;
|
| import org.chromium.chrome.browser.sync.ui.SyncCustomizationFragment;
|
| +import org.chromium.chrome.browser.util.IntentUtils;
|
| import org.chromium.components.signin.AccountManagerHelper;
|
| import org.chromium.components.signin.ChromeSigninController;
|
|
|
| @@ -115,6 +116,9 @@ public class AccountManagementFragment extends PreferenceFragment
|
| public static final String PREF_SIGN_OUT = "sign_out";
|
| public static final String PREF_SIGN_OUT_DIVIDER = "sign_out_divider";
|
|
|
| + private static final String ACCOUNT_SETTINGS_ACTION = "android.settings.ACCOUNT_SYNC_SETTINGS";
|
| + private static final String ACCOUNT_SETTINGS_ACCOUNT_KEY = "account";
|
| +
|
| private int mGaiaServiceType;
|
|
|
| private ArrayList<Preference> mAccountsListPreferences = new ArrayList<>();
|
| @@ -424,13 +428,11 @@ public class AccountManagementFragment extends PreferenceFragment
|
| }
|
| mAccountsListPreferences.clear();
|
|
|
| - final Preferences activity = (Preferences) getActivity();
|
| Account[] accounts = AccountManagerHelper.get().getGoogleAccounts();
|
| int nextPrefOrder = FIRST_ACCOUNT_PREF_ORDER;
|
|
|
| - for (Account account : accounts) {
|
| - ChromeBasePreference pref = new ChromeBasePreference(activity);
|
| - pref.setSelectable(false);
|
| + for (final Account account : accounts) {
|
| + ChromeBasePreference pref = new ChromeBasePreference(getActivity());
|
| pref.setTitle(account.name);
|
|
|
| boolean isChildAccount = mProfile.isChild();
|
| @@ -439,6 +441,15 @@ public class AccountManagementFragment extends PreferenceFragment
|
| isChildAccount ? getBadgedUserPicture(account.name, getResources()) :
|
| getUserPicture(account.name, getResources())));
|
|
|
| + pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
| + @Override
|
| + public boolean onPreferenceClick(Preference preference) {
|
| + Intent intent = new Intent(ACCOUNT_SETTINGS_ACTION);
|
| + intent.putExtra(ACCOUNT_SETTINGS_ACCOUNT_KEY, account);
|
| + return IntentUtils.safeStartActivity(getActivity(), intent);
|
| + }
|
| + });
|
| +
|
| pref.setOrder(nextPrefOrder++);
|
| prefScreen.addPreference(pref);
|
| mAccountsListPreferences.add(pref);
|
|
|