Misc settings UX fixes.
Bug: 5068602 Change-Id: I02acf3690e98ce747ddb4d3a745ac2fa59948c70
This commit is contained in:
parent
48a3a1c51c
commit
72a24f12a2
|
@ -157,7 +157,8 @@
|
|||
</activity>
|
||||
<activity
|
||||
android:name=".activity.setup.AccountSettings"
|
||||
android:label="@string/account_settings_action"
|
||||
android:label="@string/settings_activity_title"
|
||||
android:theme="@android:style/Theme.Holo.Light"
|
||||
>
|
||||
<intent-filter>
|
||||
<action
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2011 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<!-- A menu for Account Settings to provide the "Add Account" option -->
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@+id/add_new_account"
|
||||
android:title="@string/add_account_action"
|
||||
android:icon="@drawable/ic_menu_add_account_holo_light"
|
||||
android:showAsAction="ifRoom|withText"
|
||||
/>
|
||||
</menu>
|
||||
|
|
@ -18,7 +18,6 @@
|
|||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@+id/add_new_account"
|
||||
android:title="@string/add_account_action"
|
||||
android:icon="@drawable/ic_menu_add_account_holo_light"
|
||||
android:showAsAction="ifRoom|withText"
|
||||
android:showAsAction="always"
|
||||
/>
|
||||
</menu>
|
||||
|
|
|
@ -54,6 +54,8 @@
|
|||
<string name="dump_settings_action"/>
|
||||
<!-- Do Not Translate. Unused string. -->
|
||||
<string name="search_title"></string>
|
||||
<!-- Do Not Translate. Unused string. -->
|
||||
<string name="account_settings_title_fmt"></string>
|
||||
|
||||
<!-- End of deprecated strings. -->
|
||||
<skip />
|
||||
|
@ -936,8 +938,6 @@ save attachment.</string>
|
|||
The username or password for <xliff:g id="account">%s</xliff:g> is incorrect.
|
||||
Update them now?</string>
|
||||
|
||||
<!-- On Settings screen, section heading -->
|
||||
<string name="account_settings_title_fmt">General settings</string>
|
||||
<!-- On Settings screen, setting option name -->
|
||||
<string name="account_settings_default_label">Default account</string>
|
||||
<!-- Check box "summary" label on "Account options" screen to make this the default account -->
|
||||
|
@ -984,6 +984,8 @@ save attachment.</string>
|
|||
<string name="account_settings_signature_hint">Append text to messages you send</string>
|
||||
<!-- On Settings screen, section heading -->
|
||||
<string name="account_settings_notifications">Notification settings</string>
|
||||
<!-- On Settings screen, section heading for data usage [CHAR LIMIT=70] -->
|
||||
<string name="account_settings_data_usage">Data usage</string>
|
||||
|
||||
<!-- On settings screen, dialog heading informing user to edit a quick response -->
|
||||
<string name="edit_quick_response_dialog">Edit quick response</string>
|
||||
|
@ -1102,9 +1104,12 @@ save attachment.</string>
|
|||
from <xliff:g id="domain">%2$s</xliff:g></item>
|
||||
</plurals>
|
||||
|
||||
<!-- Settings activity title [CHAR LIMIT=40]-->
|
||||
<string name="settings_activity_title">Settings</string>
|
||||
|
||||
<!-- General Preferences Screen -->
|
||||
<!-- Label in preferences header to describe general preferences [CHAR LIMIT=32] -->
|
||||
<string name="header_label_general_preferences">Email Preferences</string>
|
||||
<string name="header_label_general_preferences">General Preferences</string>
|
||||
<!-- First category in general preferences [CHAR LIMIT=64] -->
|
||||
<string name="category_general_preferences">Application Preferences</string>
|
||||
|
||||
|
|
|
@ -16,12 +16,8 @@
|
|||
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="account_settings">
|
||||
|
||||
<EditTextPreference
|
||||
android:key="account_description"
|
||||
android:order="1"
|
||||
android:title="@string/account_settings_description_label"
|
||||
android:summary=""
|
||||
android:dialogTitle="@string/account_settings_description_label"
|
||||
|
@ -29,7 +25,6 @@
|
|||
|
||||
<EditTextPreference
|
||||
android:key="account_name"
|
||||
android:order="2"
|
||||
android:title="@string/account_settings_name_label"
|
||||
android:summary=""
|
||||
android:dialogTitle="@string/account_settings_name_label"
|
||||
|
@ -37,7 +32,6 @@
|
|||
|
||||
<EditTextPreference
|
||||
android:key="account_signature"
|
||||
android:order="3"
|
||||
android:title="@string/account_settings_signature_label"
|
||||
android:summary="@string/account_settings_signature_hint"
|
||||
android:dialogTitle="@string/account_settings_signature_label"
|
||||
|
@ -45,33 +39,51 @@
|
|||
|
||||
<PreferenceScreen
|
||||
android:key="account_quick_responses"
|
||||
android:order="4"
|
||||
android:title="@string/account_settings_edit_quick_responses_label"
|
||||
android:summary="@string/account_settings_edit_quick_responses_summary" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="account_default"
|
||||
android:title="@string/account_settings_default_label"
|
||||
android:summary="@string/account_settings_default_summary" />
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="data_usage"
|
||||
android:title="@string/account_settings_data_usage">
|
||||
|
||||
<ListPreference
|
||||
android:key="account_check_frequency"
|
||||
android:order="5"
|
||||
android:order="1"
|
||||
android:title="@string/account_settings_mail_check_frequency_label"
|
||||
android:entries="@array/account_settings_check_frequency_entries"
|
||||
android:entryValues="@array/account_settings_check_frequency_values"
|
||||
android:dialogTitle="@string/account_settings_mail_check_frequency_label" />
|
||||
|
||||
<!-- Reserve order#6 here for window size (if inserted) -->
|
||||
<!-- Reserve order#2 here for window size (if inserted) -->
|
||||
|
||||
<!-- (will hide on POP3 accounts) -->
|
||||
<CheckBoxPreference
|
||||
android:key="account_background_attachments"
|
||||
android:order="7"
|
||||
android:order="3"
|
||||
android:title="@string/account_settings_background_attachments_label"
|
||||
android:summary="@string/account_settings_background_attachments_summary" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="account_default"
|
||||
android:order="8"
|
||||
android:title="@string/account_settings_default_label"
|
||||
android:summary="@string/account_settings_default_summary" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="account_sync_email"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/account_settings_sync_email_enable"
|
||||
android:summary="@string/account_settings_sync_email_summary" />
|
||||
<CheckBoxPreference
|
||||
android:key="account_sync_contacts"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/account_settings_sync_contacts_enable"
|
||||
android:summary="@string/account_settings_sync_contacts_summary" />
|
||||
<CheckBoxPreference
|
||||
android:key="account_sync_calendar"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/account_settings_sync_calendar_enable"
|
||||
android:summary="@string/account_settings_sync_calendar_summary" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
|
@ -118,25 +130,6 @@
|
|||
android:key="outgoing"
|
||||
android:title="@string/account_settings_outgoing_label"
|
||||
android:summary="@string/account_settings_outgoing_summary" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="account_sync_email"
|
||||
android:layout="?android:attr/preferenceLayoutChild"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/account_settings_sync_email_enable"
|
||||
android:summary="@string/account_settings_sync_email_summary" />
|
||||
<CheckBoxPreference
|
||||
android:key="account_sync_contacts"
|
||||
android:layout="?android:attr/preferenceLayoutChild"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/account_settings_sync_contacts_enable"
|
||||
android:summary="@string/account_settings_sync_contacts_summary" />
|
||||
<CheckBoxPreference
|
||||
android:key="account_sync_calendar"
|
||||
android:layout="?android:attr/preferenceLayoutChild"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/account_settings_sync_calendar_enable"
|
||||
android:summary="@string/account_settings_sync_calendar_summary" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
|
|
|
@ -108,7 +108,6 @@ public class AccountSettings extends PreferenceActivity {
|
|||
private long mDeletingAccountId = -1;
|
||||
private boolean mShowDebugMenu;
|
||||
private List<Header> mGeneratedHeaders;
|
||||
private boolean mResumed;
|
||||
|
||||
// Async Tasks
|
||||
private LoadAccountListTask mLoadAccountListTask;
|
||||
|
@ -194,18 +193,6 @@ public class AccountSettings extends PreferenceActivity {
|
|||
public void onResume() {
|
||||
super.onResume();
|
||||
updateAccounts();
|
||||
mResumed = true;
|
||||
|
||||
// When we're resuming, enable/disable the add account button
|
||||
if (hasHeaders()) {
|
||||
invalidateOptionsMenu();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
mResumed = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -325,8 +312,8 @@ public class AccountSettings extends PreferenceActivity {
|
|||
*/
|
||||
private boolean shouldShowNewAccount() {
|
||||
// If in single pane mode, only add accounts at top level
|
||||
if (!isMultiPane()) {
|
||||
if (!hasHeaders()) return false;
|
||||
if (!onIsMultiPane()) {
|
||||
return hasHeaders();
|
||||
} else {
|
||||
// If in multi pane mode, only add accounts when showing a top level fragment
|
||||
// Note: null is OK; This is the case when we first launch the activity
|
||||
|
@ -559,10 +546,8 @@ public class AccountSettings extends PreferenceActivity {
|
|||
mCurrentFragment = f;
|
||||
|
||||
// When we're changing fragments, enable/disable the add account button
|
||||
if (mResumed && hasHeaders()) {
|
||||
invalidateOptionsMenu();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Callbacks for AccountSettingsFragment
|
||||
|
@ -718,7 +703,7 @@ public class AccountSettings extends PreferenceActivity {
|
|||
|
||||
// Then update the UI as appropriate:
|
||||
// If single pane, return to the header list. If multi, rebuild header list
|
||||
if (isMultiPane()) {
|
||||
if (onIsMultiPane()) {
|
||||
Header prefsHeader = getAppPreferencesHeader();
|
||||
this.switchToHeader(prefsHeader.fragment, prefsHeader.fragmentArguments);
|
||||
mDeletingAccountId = account.mId;
|
||||
|
|
|
@ -67,7 +67,6 @@ public class AccountSettingsFragment extends PreferenceFragment {
|
|||
private static final String BUNDLE_KEY_ACCOUNT_ID = "AccountSettingsFragment.AccountId";
|
||||
private static final String BUNDLE_KEY_ACCOUNT_EMAIL = "AccountSettingsFragment.Email";
|
||||
|
||||
private static final String PREFERENCE_CATEGORY_TOP = "account_settings";
|
||||
public static final String PREFERENCE_DESCRIPTION = "account_description";
|
||||
private static final String PREFERENCE_NAME = "account_name";
|
||||
private static final String PREFERENCE_SIGNATURE = "account_signature";
|
||||
|
@ -76,6 +75,7 @@ public class AccountSettingsFragment extends PreferenceFragment {
|
|||
private static final String PREFERENCE_BACKGROUND_ATTACHMENTS =
|
||||
"account_background_attachments";
|
||||
private static final String PREFERENCE_DEFAULT = "account_default";
|
||||
private static final String PREFERENCE_CATEGORY_DATA_USAGE = "data_usage";
|
||||
private static final String PREFERENCE_CATEGORY_NOTIFICATIONS = "account_notifications";
|
||||
private static final String PREFERENCE_NOTIFY = "account_notify";
|
||||
private static final String PREFERENCE_VIBRATE_WHEN = "account_settings_vibrate_when";
|
||||
|
@ -360,10 +360,6 @@ public class AccountSettingsFragment extends PreferenceFragment {
|
|||
// Once loaded the data is ready to be saved, as well
|
||||
mSaveOnExit = false;
|
||||
|
||||
PreferenceCategory topCategory =
|
||||
(PreferenceCategory) findPreference(PREFERENCE_CATEGORY_TOP);
|
||||
topCategory.setTitle(mContext.getString(R.string.account_settings_title_fmt));
|
||||
|
||||
mAccountDescription = (EditTextPreference) findPreference(PREFERENCE_DESCRIPTION);
|
||||
mAccountDescription.setSummary(mAccount.getDisplayName());
|
||||
mAccountDescription.setText(mAccount.getDisplayName());
|
||||
|
@ -452,6 +448,9 @@ public class AccountSettingsFragment extends PreferenceFragment {
|
|||
});
|
||||
|
||||
// Add check window preference
|
||||
PreferenceCategory dataUsageCategory =
|
||||
(PreferenceCategory) findPreference(PREFERENCE_CATEGORY_DATA_USAGE);
|
||||
|
||||
mSyncWindow = null;
|
||||
if (HostAuth.SCHEME_EAS.equals(protocol)) {
|
||||
mSyncWindow = new ListPreference(mContext);
|
||||
|
@ -460,7 +459,9 @@ public class AccountSettingsFragment extends PreferenceFragment {
|
|||
mSyncWindow.setEntryValues(R.array.account_settings_mail_window_values);
|
||||
mSyncWindow.setValue(String.valueOf(mAccount.getSyncLookback()));
|
||||
mSyncWindow.setSummary(mSyncWindow.getEntry());
|
||||
mSyncWindow.setOrder(5);
|
||||
|
||||
// Must correspond to the hole in the XML file that's reserved.
|
||||
mSyncWindow.setOrder(2);
|
||||
mSyncWindow.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
final String summary = newValue.toString();
|
||||
|
@ -471,14 +472,14 @@ public class AccountSettingsFragment extends PreferenceFragment {
|
|||
return false;
|
||||
}
|
||||
});
|
||||
topCategory.addPreference(mSyncWindow);
|
||||
dataUsageCategory.addPreference(mSyncWindow);
|
||||
}
|
||||
|
||||
// Show "background attachments" for IMAP & EAS - hide it for POP3.
|
||||
mAccountBackgroundAttachments = (CheckBoxPreference)
|
||||
findPreference(PREFERENCE_BACKGROUND_ATTACHMENTS);
|
||||
if (HostAuth.SCHEME_POP3.equals(mAccount.mHostAuthRecv.mProtocol)) {
|
||||
topCategory.removePreference(mAccountBackgroundAttachments);
|
||||
dataUsageCategory.removePreference(mAccountBackgroundAttachments);
|
||||
} else {
|
||||
mAccountBackgroundAttachments.setChecked(
|
||||
0 != (mAccount.getFlags() & Account.FLAGS_BACKGROUND_ATTACHMENTS));
|
||||
|
@ -558,7 +559,7 @@ public class AccountSettingsFragment extends PreferenceFragment {
|
|||
mSyncContacts = (CheckBoxPreference) findPreference(PREFERENCE_SYNC_CONTACTS);
|
||||
mSyncCalendar = (CheckBoxPreference) findPreference(PREFERENCE_SYNC_CALENDAR);
|
||||
mSyncEmail = (CheckBoxPreference) findPreference(PREFERENCE_SYNC_EMAIL);
|
||||
if (mAccount.mHostAuthRecv.mProtocol.equals("eas")) {
|
||||
if (mAccount.mHostAuthRecv.mProtocol.equals(HostAuth.SCHEME_EAS)) {
|
||||
android.accounts.Account acct = new android.accounts.Account(mAccount.mEmailAddress,
|
||||
AccountManagerTypes.TYPE_EXCHANGE);
|
||||
mSyncContacts.setChecked(ContentResolver
|
||||
|
@ -571,11 +572,9 @@ public class AccountSettingsFragment extends PreferenceFragment {
|
|||
.getSyncAutomatically(acct, EmailContent.AUTHORITY));
|
||||
mSyncEmail.setOnPreferenceChangeListener(mPreferenceChangeListener);
|
||||
} else {
|
||||
PreferenceCategory serverCategory = (PreferenceCategory) findPreference(
|
||||
PREFERENCE_CATEGORY_SERVER);
|
||||
serverCategory.removePreference(mSyncContacts);
|
||||
serverCategory.removePreference(mSyncCalendar);
|
||||
serverCategory.removePreference(mSyncEmail);
|
||||
dataUsageCategory.removePreference(mSyncContacts);
|
||||
dataUsageCategory.removePreference(mSyncCalendar);
|
||||
dataUsageCategory.removePreference(mSyncEmail);
|
||||
}
|
||||
|
||||
// Temporary home for delete account
|
||||
|
|
Loading…
Reference in New Issue