e6cc662abc
There are two major, interrelated parts to this CL: 1) Clean up the activities to reduce the use of Intents to pass information between activities; instead, we use a common SetupData structure that automatically saved/restored as necessary during the setup flow. A fair amount of code and inconsistent use of Bundle extras has been eliminated in the process. * Create SetupData structure, setters/getters, and initialization methods to simplify the preservation of state during setup flow * Remove all state/flow extras from Intents; Intents now only specify the Activity to be started, which should greatly simplify the transition to Fragments. * Remove all state/flow fields from Activities * Modify existing setup activity unit tests and confirm tests pass 2) Create AccountManager accounts for POP/IMAP email accounts to provide consistency in user experience. Also, internal flows are now identical as between account types. * Move account reconciliation from SyncManager to MailService, so that reconciliation is consistent between email and exchange accounts; move unit tests as appropriate * Add a "Sync Email" setting for POP/IMAP/EAS * Change MailService to respect the "Sync Email" setting in Settings -> Accounts & sync * Create PopImapSyncAdapterService to handle manual POP/IMAP sync as requested by SyncManager; add EmailSyncAdapterService to perform the same function for EAS * Use new PopImapAuthenticatorService to add AccountManager accounts for POP/IMAP accounts; setup appropriate stanzas in AndroidManifest and add related xml files * Update AccountSettings to use SetupData Miscellaneous other changes: * Only allow valid port numbers in incoming/outgoing setup Bug: 1712475 Change-Id: Ibdac52fb2c5578b86bf3992ddb1acd10f162391a
123 lines
5.1 KiB
XML
123 lines
5.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- Copyright (C) 2008 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.
|
|
-->
|
|
|
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
|
|
|
<PreferenceCategory
|
|
android:key="account_settings">
|
|
|
|
<EditTextPreference
|
|
android:order="1"
|
|
android:key="account_description"
|
|
android:title="@string/account_settings_description_label"
|
|
android:summary=""
|
|
android:dialogTitle="@string/account_settings_description_label" />
|
|
|
|
<EditTextPreference
|
|
android:order="2"
|
|
android:key="account_name"
|
|
android:title="@string/account_settings_name_label"
|
|
android:summary=""
|
|
android:dialogTitle="@string/account_settings_name_label" />
|
|
|
|
<EditTextPreference
|
|
android:order="3"
|
|
android:key="account_signature"
|
|
android:title="@string/account_settings_signature_label"
|
|
android:summary=""
|
|
android:dialogTitle="@string/account_settings_signature_label" />
|
|
|
|
<ListPreference
|
|
android:order="4"
|
|
android:key="account_check_frequency"
|
|
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#5 here for window size (if inserted) -->
|
|
|
|
<CheckBoxPreference
|
|
android:order="6"
|
|
android:key="account_default"
|
|
android:title="@string/account_settings_default_label"
|
|
android:summary="@string/account_settings_default_summary" />
|
|
|
|
</PreferenceCategory>
|
|
|
|
<PreferenceCategory android:title="@string/account_settings_notifications">
|
|
|
|
<CheckBoxPreference
|
|
android:key="account_notify"
|
|
android:title="@string/account_settings_notify_label"
|
|
android:defaultValue="true"
|
|
android:summary="@string/account_settings_notify_summary" />
|
|
|
|
<RingtonePreference
|
|
android:layout="?android:attr/preferenceLayoutChild"
|
|
android:dependency="account_notify"
|
|
android:key="account_ringtone"
|
|
android:title="@string/account_settings_ringtone"
|
|
android:ringtoneType="notification"
|
|
android:defaultValue="content://settings/system/notification_sound" />
|
|
|
|
<ListPreference
|
|
android:layout="?android:attr/preferenceLayoutChild"
|
|
android:dependency="account_notify"
|
|
android:key="account_settings_vibrate_when"
|
|
android:defaultValue="never"
|
|
android:title="@string/account_settings_vibrate_when_label"
|
|
android:summary="@string/account_settings_vibrate_when_summary"
|
|
android:entries="@array/account_settings_vibrate_when_entries"
|
|
android:entryValues="@array/account_settings_vibrate_when_values"
|
|
android:dialogTitle="@string/account_settings_vibrate_when_dlg_title" />
|
|
|
|
</PreferenceCategory>
|
|
|
|
<PreferenceCategory
|
|
android:key="account_servers"
|
|
android:title="@string/account_settings_servers">
|
|
|
|
<PreferenceScreen
|
|
android:key="incoming"
|
|
android:title="@string/account_settings_incoming_label" />
|
|
|
|
<PreferenceScreen
|
|
android:key="outgoing"
|
|
android:title="@string/account_settings_outgoing_label" />
|
|
|
|
<CheckBoxPreference
|
|
android:layout="?android:attr/preferenceLayoutChild"
|
|
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:layout="?android:attr/preferenceLayoutChild"
|
|
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:layout="?android:attr/preferenceLayoutChild"
|
|
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>
|
|
|
|
</PreferenceScreen>
|