diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml index c8060dac368fc4bdfd0d1a0dab162dfe3a5e5494..e4b3883afd96add0013db90cced0462d66f7f312 100644 --- a/java/res/values/strings.xml +++ b/java/res/values/strings.xml @@ -61,7 +61,7 @@ <!-- Option summary when cloud sync feature is disabled [CHAR LIMIT=65] --> <string name="cloud_sync_summary_disabled">Sync your personal dictionary across devices</string> <!-- Option title for starting the sync cycle now. [CHAR LIMIT=33]--> - <string name="sync_now_title">Sync Now</string> + <string name="sync_now_title">Sync now</string> <!-- Option title for letting user delete data from Google servers. [CHAR LIMIT=33] --> <string name="clear_sync_data_title">Delete Keyboard Cloud data</string> <!-- Option summary for letting user delete data from Google servers. [CHAR LIMIT=65] --> @@ -73,12 +73,16 @@ <!-- Option to cancel the deletion of user data from cloud [CHAR LIMIT=20] --> <string name="cloud_sync_cancel">Cancel</string> <!-- Option to agree to terms and conditions for enabling cloud sync feature. --> - <string name="cloud_sync_opt_in_text">Your personal dictionary will be synced & backed up to - Google servers. The statistical information of word frequency may be collected to help + <string name="cloud_sync_opt_in_text">Your personal dictionary will be synced and backed up to + Google servers. The statistical information of word frequency may be collected to help improve our products. The collection and usage of all the information will be compliant with <a href="https://www.google.com/policies/privacy">Google\'s Privacy Policy</a>. </string> - + <!-- Text to tell the user to add a Google account to the device to enable the cloud sync feature. [CHAR LIMIT=65]--> + <string name="add_account_to_enable_sync"> + Please add a Google account to this device to enable this feature + </string> + <!-- Option name for including other IMEs in the language switch list [CHAR LIMIT=30] --> <string name="include_other_imes_in_language_switch_list">Switch to other input methods</string> <!-- Option summary for including other IMEs in the language switch list [CHAR LIMIT=65] --> diff --git a/java/src/com/android/inputmethod/latin/settings/AccountsSettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/AccountsSettingsFragment.java index b734d8bcd0c1f4b4c9ea3f73d5305fac33590009..9a8a7b9e0960d35d68665c984a6f9a18b6ab37c0 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