aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorChieu Nguyen <cvnguyen@google.com>2015-03-04 14:19:29 -0800
committerChieu Nguyen <cvnguyen@google.com>2015-03-05 18:25:56 -0800
commitb717f91ffa4cdc26440ea39550ebbf5e755d85dc (patch)
treee3d5b596f042cefc1d49b874da8ac12ffafb6ce3 /java/src
parentc4f6a8dcd4076ff04977199b4e3a4c79f7d06efe (diff)
downloadlatinime-b717f91ffa4cdc26440ea39550ebbf5e755d85dc.tar.gz
latinime-b717f91ffa4cdc26440ea39550ebbf5e755d85dc.tar.xz
latinime-b717f91ffa4cdc26440ea39550ebbf5e755d85dc.zip
Sync setting disabled if no account.
Bug: 19361223 Change-Id: Id5e8d34920f5bf3bffb6d6d287557e85d7b72c79
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/settings/AccountsSettingsFragment.java33
1 files changed, 21 insertions, 12 deletions
diff --git a/java/src/com/android/inputmethod/latin/settings/AccountsSettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/AccountsSettingsFragment.java
index b734d8bcd..9a8a7b9e0 100644
--- a/java/src/com/android/inputmethod/latin/settings/AccountsSettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/settings/AccountsSettingsFragment.java
@@ -204,24 +204,19 @@ public final class AccountsSettingsFragment extends SubScreenFragment {
* is currently selected.
*/
private void refreshAccountAndDependentPreferences(@Nullable final String currentAccount) {
+ // TODO(cvnguyen): Write tests.
if (!ProductionFlags.ENABLE_ACCOUNT_SIGN_IN) {
return;
}
- if (currentAccount == null) {
- // No account is currently selected; switch enable sync preference off.
- mAccountSwitcher.setSummary(getString(R.string.no_accounts_selected));
- mEnableSyncPreference.setChecked(false);
- } else {
- // Set the currently selected account as the summary text.
- mAccountSwitcher.setSummary(getString(R.string.account_selected, currentAccount));
- }
+ final String[] accountsForLogin =
+ LoginAccountUtils.getAccountsForLogin(getActivity());
- mAccountSwitcher.setOnPreferenceClickListener(new OnPreferenceClickListener() {
+ if (accountsForLogin.length > 0) {
+ enableSyncPreferences();
+ mAccountSwitcher.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(final Preference preference) {
- final String[] accountsForLogin =
- LoginAccountUtils.getAccountsForLogin(getActivity());
if (accountsForLogin.length > 0) {
// TODO: Add addition of account.
createAccountPicker(accountsForLogin, currentAccount,
@@ -229,7 +224,21 @@ public final class AccountsSettingsFragment extends SubScreenFragment {
}
return true;
}
- });
+ });
+ } else {
+ mAccountSwitcher.setEnabled(false);
+ disableSyncPreferences();
+ mEnableSyncPreference.setSummary(getString(R.string.add_account_to_enable_sync));
+ }
+
+ if (currentAccount == null) {
+ // No account is currently selected; switch enable sync preference off.
+ mAccountSwitcher.setSummary(getString(R.string.no_accounts_selected));
+ mEnableSyncPreference.setChecked(false);
+ } else {
+ // Set the currently selected account as the summary text.
+ mAccountSwitcher.setSummary(getString(R.string.account_selected, currentAccount));
+ }
}
@Nullable