• Home
  • History
  • Annotate
  • only in /packages/apps/Email/src/com/android/email/activity/setup/
History log of /packages/apps/Email/src/com/android/email/activity/setup/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
515d830e8755d3674e04bcc60d7f85b4fa7fb202 27-Nov-2013 Jerry Xie <jjx@google.com> Get Email units to compile

Change-Id: I171a0e2421c5006d9862ad94f886932146547020
(cherry picked from commit 17d3a29c9d8f7a27c463239f190bdcc4e0804527)
ccountSettingsUtils.java
ea0989043ab44bb85ff8944765beb903b153f8ea 11-Nov-2013 Tony Mantler <nicoya@google.com> Null check for getServiceInfo

b/11538007

Change-Id: I8b06f22373c3a389939614e9c24bbe143b6fc289
ccountSettingsFragment.java
06e140e4a42c11e60331229963d27548ea35551c 06-Nov-2013 Tony Mantler <nicoya@google.com> Update messaging when autodiscover fails due to an auth error

b/11538085

Change-Id: I76689cbd89eef233588804edeb3893f1ad36bebe
ccountCheckSettingsFragment.java
9460be06aab728e69fc908bb55f26ab19f33aa8c 29-Oct-2013 Tony Mantler <nicoya@google.com> Don't initiate fragment transactions from onDestroy()

b/10918608

Change-Id: I649c5f86e5f77fa2ade33345969a44ffebb463b9
ccountCheckSettingsFragment.java
32614f3746f0fa8a09370672abaca68fa795fc33 12-Oct-2013 Tony Mantler <nicoya@google.com> Clean up usage of Account.name when accessing account/folder prefs

b/11185963

Change-Id: Id928732bee5f67887252b1f949a8e4d396fffaa6
ccountSettingsFragment.java
ccountSetupOptions.java
cb30243fe1fa3a2f7540495cbeea470e77b539be 10-Oct-2013 Martin Hibdon <mhibdon@google.com> Disable sync settings controls for drafts folders

b/11158759
Make the default sync setting for drafts folders 0
(never automatically sync), and disable the settings
control so that it cannot be changed.
Also add a db upgrade step to set any existing drafts
folders to not sync, and clean up any Exchange synced
draft messages.

Change-Id: I256bde231d722089ef2a623482f570a20eccf1de
ailboxSettings.java
d7ed294dd13f789543265abc3674b794df212e45 10-Oct-2013 Paul Sliwowski <psliwowski@google.com> Fix bugs when screen is rotated when creating account.

Bug: 11136893
Change-Id: I1d21c1f427370a2de57d89be802cac253ad33bd5
ccountSetupOptions.java
7df98d0a6d0a3c67b467e9ff2066970e645957b8 03-Oct-2013 Paul Sliwowski <psliwowski@google.com> Fix autodiscovery failed dialog.

Bug: 11030161
Change-Id: Id97766969608016efe068e5c142407ad94438b05
ccountCheckSettingsFragment.java
c4d139c4f4d924eae0307e8349ae977441dabbed 28-Sep-2013 Alon Albert <aalbert@google.com> Auth Notification

Some changes that allow a notification to open Account Settings for a specific
account

Bug: 10930585
Change-Id: Ib329e339b405ccbc0631d5ce6a23bf8fa6d62b83
ccountSettings.java
9d3e01c589e1f281941cff9abc59aba0b0f33e78 27-Sep-2013 Martin Hibdon <mhibdon@google.com> Set the client cert from AccountSetup

b/9661767

Change-Id: I292ff5e190ed56077a04e37869e18a46f5473985
ccountSetupActivity.java
ccountSetupIncomingFragment.java
e43fbd05de3a7efd43cce2d624d0260ddb2acbaf 26-Sep-2013 Tony Mantler <nicoya@google.com> Merge "Fix account matching at initial screen to match against email address" into jb-ub-mail-ur10
463584d23f747cfbbd9856b39390269342363b41 25-Sep-2013 Tony Mantler <nicoya@google.com> Fix account matching at initial screen to match against email address

b/10210901

Change-Id: I64d60ca33a42a19e085dd98a7a61d68ac30027f9
ccountServerBaseFragment.java
ccountSetupBasics.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
ccountSetupType.java
7140095932297bb404e32648278396a0a8c39ef5 26-Sep-2013 Martin Hibdon <mhibdon@google.com> Merge "reduce the length of a log tag to a legal amount" into jb-ub-mail-ur10
fead9986c1ce920e669aadddb0b993ff4cff56b8 26-Sep-2013 Martin Hibdon <mhibdon@google.com> reduce the length of a log tag to a legal amount

Change-Id: I6f18b9aa893cdccfebf24885b4668a50472af802
ccountCheckSettingsFragment.java
229e173010be54924fb6b9ff0c41151abaeb849a 25-Sep-2013 Yu Ping Hu <yph@google.com> Merge "Disable account setup debug screen." into jb-ub-mail-ur10
d8ee809ac2131be89ed6efb19912bfb704dceb6c 25-Sep-2013 Tony Mantler <nicoya@google.com> Make sure the account check dialog doesn't outlive the account check fragment

b/10918608

Change-Id: I65725b8935b2902ff926ba333cd41a3c1545f332
ccountCheckSettingsFragment.java
27de0b24b241800985b4dfd39995b53aeb6d3658 19-Sep-2013 Tony Mantler <nicoya@google.com> Merge "Use unified strings for sender image preference and switch to checkbox" into jb-ub-mail-ur10
acfbeb812be7072913a7c90f3a33107398a6f60b 18-Sep-2013 Tony Mantler <nicoya@google.com> Use unified strings for sender image preference and switch to checkbox

b/10693718

Change-Id: Iec81347915611f81ded0c62ca37c401fdb28ae9f
eneralPreferences.java
ddb6c2da8da2493047e84401b5b101e0548379c4 18-Sep-2013 Tony Mantler <nicoya@google.com> Merge "Don't disable the back button when the account name fields are invalid" into jb-ub-mail-ur10
0bfeb90e4163c0d9ed8d77f4f73b07aa477eef98 18-Sep-2013 Tony Mantler <nicoya@google.com> Don't disable the back button when the account name fields are invalid

b/10695553

Change-Id: I32df55594784e24263dede9b767786ccdc83662c
ccountSetupNames.java
648a067056db91d4a1bfd3c4eac9eec3d4c6adb4 18-Sep-2013 Tony Mantler <nicoya@google.com> Fix use-after-null in AccountSetupIncomingFragment

b/7967233

Change-Id: I69b7ea521416815fce3bb9e45b38c996b9cea17b
ccountSetupIncomingFragment.java
0e550e085722c1616ae9a7478609d32ff4392e26 16-Sep-2013 Martin Hibdon <mhibdon@google.com> Make sync settings less confusing.

b/10602459
It was possible to turn off syncing for an account in global
settings, but we'd continue displaying some sync frequency
in the in-app settings.
Now, we only display the sync frequency if sync is actually
enabled. If it's disabled we always display "never". Also,
when the user changes a sync setting, if it's set to "never",
we leave the frequency in the database as it is, but disable
sync for that account. If it's set to anything else, we store
that in the database and ensure that sync for the account is
enabled. This means we should not have any apparent disagreement
between in-app settings and global settings as to whether or
not syncing will happen.

Change-Id: I1cc54e76aafd25dc4db0f1b713e7d7cbc30bf77f
ccountSettingsFragment.java
17d014dfdf172f3b60bcdb41f1b831fbdc8230d4 13-Sep-2013 Alice Yang <alice@google.com> Disable attachment previews

Change-Id: Ic2314f89b813956a6351bed51bfa6881e51605ff
eneralPreferences.java
4f63f1eec1138cc650ff4f6bda9ba8faa62ef6c2 12-Sep-2013 Tony Mantler <nicoya@google.com> Merge "Purge views after they're supposed to be destroyed to avoid spurious callbacks" into jb-ub-mail-ur10
ecac654c6666072d3ed9627f0524fa46ea8c03fc 12-Sep-2013 Tony Mantler <nicoya@google.com> Purge views after they're supposed to be destroyed to avoid spurious callbacks

b/10565885

Change-Id: I7ef18fdac566975d15ffd1a19f756a5e5d2aee8a
ccountSetupIncomingFragment.java
463ed118577c8fde5d43a38ff85e707b9ef7f87e 11-Sep-2013 Tony Mantler <nicoya@google.com> Disable account setup debug screen.

b/10446166

Change-Id: I6703c1950559e9896f168a0cbaec10040eac9589
ccountSetupBasics.java
78c166b4ccbd4342a07e32571f09fddbb56138b2 12-Sep-2013 Tony Mantler <nicoya@google.com> Disallow duplicate accounts

b/10210901

Change-Id: I11b759246fafabafe29fd8f4d20f6e973f9679a4
ccountSetupBasics.java
39f29d0481f03036dfe3f7c24707d79136e9f09d 05-Sep-2013 Tony Mantler <nicoya@google.com> Tidy warnings in AccountSettingsFragment

Change-Id: I933529dac9f37d0734fa7b98a43e8f41eb143698
ccountSettingsFragment.java
6f3a94cca18c67f19c093f3178476055e60370d3 04-Sep-2013 Tony Mantler <nicoya@google.com> Make UnsavedChangesDialogFragment public so the framework can find it

b/10611121

Change-Id: I9daab10d49b492950f2032ee1edf4ca07a3e7ef8
ccountSettings.java
26cd5e024c6af8ff9c8558325dd0930c9aacb370 31-Aug-2013 Tony Mantler <nicoya@google.com> Don't store the account creation/modificaiton state in a singleton

b/10460757

Change-Id: I7f0bea69f843f9061d1cfa9277c99d36705aceaf
ccountCheckSettingsFragment.java
ccountServerBaseFragment.java
ccountSettings.java
ccountSetupActivity.java
ccountSetupBasics.java
ccountSetupIncoming.java
ccountSetupIncomingFragment.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
ccountSetupOutgoingFragment.java
ccountSetupType.java
etupData.java
7be030ec8e31c53da8bde54b040e64546727ef61 27-Aug-2013 Tony Mantler <nicoya@google.com> Remove pointless parent class EmailPreferenceFragment

Change-Id: Ia384d92632100c2adfb22c22c03d4755250e388e
ccountSettingsFragment.java
mailPreferenceFragment.java
eneralPreferences.java
ed4accb24facd1324948abc61b0791eb3dc97cc4 23-Aug-2013 Tony Mantler <nicoya@google.com> Clean up warnings, finals, dead and useless code

Change-Id: I8225a78c3b1712479bb5752161e3585a2bc2be2e
ccountCheckSettingsFragment.java
ccountSetupBasics.java
ccountSetupIncomingFragment.java
ccountSetupNames.java
ccountSetupOutgoingFragment.java
4727dc2903ca96b6d237f91642d836e8e1ca32e0 23-Aug-2013 Tony Mantler <nicoya@google.com> Add TODO for debug variable for entering debug screen

See b/10446166 for STOPSHIP notice to disable debug screen before shipping

Change-Id: Ic0c845b558a2b745bc5015beb3eac3864165670d
ccountSetupBasics.java
219c3b5b8474bc0b95a9dcab21067ff603fccb15 22-Aug-2013 Tony Mantler <nicoya@google.com> Tidy up warnings in account setup fragments

Change-Id: I078df83dbc4afd10c0783a98bfbb23bced12489c
ccountCheckSettingsFragment.java
ccountServerBaseFragment.java
ccountSetupBasics.java
ccountSetupIncoming.java
ccountSetupIncomingFragment.java
ccountSetupOutgoing.java
ccountSetupOutgoingFragment.java
4df4c1c2d89c84c9f3db74746b784709fa464d8d 20-Aug-2013 Yu Ping Hu <yph@google.com> Disable policy listing in account settings.

It wasn't working right anyway.
Also, fix a problem where account settings were
not being fully initialized.

Bug: 8384097
Change-Id: Ia60ace2ce618b64fe4ad5ef8d8ac547a086a26d5
ccountSettingsFragment.java
c6953b77552d4cb71776cf0537dc226029381628 14-Aug-2013 Tony Mantler <nicoya@google.com> Reimplement QuickResponse support

b/8622751

Change-Id: Id079efcf34dce15b5f5057f937582c0e198d3d50
ccountSettings.java
ccountSettingsEditQuickResponsesFragment.java
ccountSettingsFragment.java
ditQuickResponseDialog.java
7985b43ab7310f76c170266da346f993d2f86051 14-Aug-2013 Paul Westbrook <pwestbro@google.com> Add public no-arg Fragment constructors

Bug: 10311630
Change-Id: I0243462cdc28b9af3151754a8c8583330418579b
ccountCheckSettingsFragment.java
ccountSecurity.java
ccountSettings.java
ccountSettingsEditQuickResponsesFragment.java
ccountSetupBasics.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
ebugFragment.java
uplicateAccountDialogFragment.java
ditQuickResponseDialog.java
cef6c19be22fb026161a7763f4e1efb1e30a728a 12-Aug-2013 Tony Mantler <nicoya@google.com> Move the "Add new quick response" button into the action bar

Change-Id: I433fb686837d0de125fb277f5055bc33b7769eff
ccountSettingsEditQuickResponsesFragment.java
6d24534804ddf54cd353ed46c4cbd6d23152f899 10-Aug-2013 Tony Mantler <nicoya@google.com> Continue rewriting QuickResponse support

Change-Id: I95530e84d91f4becb3de5280af83ce546e1ed093
ccountSettingsEditQuickResponsesFragment.java
ditQuickResponseDialog.java
fdb0fc712a602518112226c8f82343fc07e08260 08-Aug-2013 Tony Mantler <nicoya@google.com> Merge "Start cleaning up QuickResponse code" into jb-ub-mail-ur10
bf0911f3dee8bea9d2a8a8957913cf62e4f5eb85 08-Aug-2013 Yu Ping Hu <yph@google.com> Disable attachment preview pref.

Bug: 10232077
Change-Id: If1ed251d63befd40dc55ada2da7c56f5ac611c68
eneralPreferences.java
05273f8309c167db145fc9e3f12319df6631b26d 08-Aug-2013 Tony Mantler <nicoya@google.com> Start cleaning up QuickResponse code

Change-Id: I76b5adbe8e05713c44d11a2e51d317cae6266a56
ccountSettingsEditQuickResponsesFragment.java
ditQuickResponseDialog.java
034149b5861ff5a42593f9749ab059f2c4cf4381 07-Aug-2013 Mark Wei <markwei@google.com> Add a setting for attachment previews.

Bug: 10131520
Change-Id: I782b331971272203d1b36a578cf6a149793b10e6
eneralPreferences.java
9e521deb6bb525b33365cc2926cb2d0faa7095e2 01-Aug-2013 Scott Kennedy <skennedy@google.com> Remove some warnings

Change-Id: Ie5adc71af6b6cec316c5186ac0566c02a4fc1bff
ccountSetupIncoming.java
ccountSetupOutgoing.java
uplicateAccountDialogFragment.java
ef0d98155c95b22f7d8516eaaa8113e12bb7cbba 31-Jul-2013 Yu Ping Hu <yph@google.com> Fix settings menus.

- Account & general fragments need to clear to remove
"Add account" for phone & 7".
- 10" needs to therefore specify their menus in order to
have "Add account".

Bug: 10097087
Change-Id: I133db9b9f7f6610ae30b46927ffcb8a9e4df4c0a
ccountSettingsFragment.java
eneralPreferences.java
2075c97f608a853923980865b72147a5c8ef71f0 30-Jul-2013 Yu Ping Hu <yph@google.com> Delete most of IEmailServiceCallback.

The old callback mechanism is deprecated, in favor of making
calls on the ContentProvider.

Bug: 9842867

Change-Id: I65f559e593cda24456c4ffb96f785e054626dd0b
ccountSetupOptions.java
6cf15e66bc46d211882fe903ec55fe748fc87bfc 29-Jul-2013 Tony Mantler <nicoya@google.com> Re-add the demon "Add New Account"

b/10041669

Change-Id: I2b1db0a063ec292b33ec8f176b739c1c4422a040
ccountSettings.java
ccountSettingsFragment.java
eneralPreferences.java
02f0b1eee8f5de651ad5f0289146f88fea99bce0 27-Jul-2013 Yu Ping Hu <yph@google.com> Remove MailService.

Change-Id: Ibffd0c9fb0eed4822dff28d1577fb455736cffd1
ccountSetupOptions.java
a48929fac44770f618d8e0e9047b66414046729c 22-Jul-2013 Tony Mantler <nicoya@google.com> Purge the demon "Add New Account"

b/9857109 b/9685360

Change-Id: If5c3d6ea4b59cacf8196cdda67fbaeb6e2afa03e
ccountSettings.java
281c6365fb95037ca284dd8c910538639e8b3dcb 11-Jul-2013 Scott Kennedy <skennedy@google.com> Add a new FolderUri

This will allow us to add query parameters such that Uris will still
appear to be equal, regardless of differences in the parameters.

Bug: 9780067
Change-Id: I483d009fe3681ec3d4323b3ca95dff8ca9f4ffde
ccountSettings.java
ccf730fbe53c3bffb0154d0666e9fcbb5e82f551 16-Jul-2013 Paul Westbrook <pwestbro@google.com> Migrate "show sender image" to UnifiedEmail

Bug: 9497358
Change-Id: Iefe39052fb7d53de02535ef98b45c66f1f918209
eneralPreferences.java
dbb8b75a4bd201f8472a511ef77ca2ed05bd808b 11-Jul-2013 Paul Westbrook <pwestbro@google.com> Fix feedback from Email settings

Bug: 9428466
Change-Id: I6816976b858a6a15da7d643320983208287a463a
ccountSettings.java
9c455277797a3564fea2a85d0765509f1dd1a45c 27-Jun-2013 Yu Ping Hu <yph@google.com> Allow account setting screen without outbound hostauth.

We have a way to handle lack of outbound host auth, and it's
a legitimate state for Exchange accounts (since it's unused
anyway).

Bug: 8631134
Change-Id: I99863f627c4f364e61f7a4b99dea3e2606a55275
ccountSettingsFragment.java
229c070b0b177793032ce9249cb77f6ca98e5aa4 27-Jun-2013 Scott Kennedy <skennedy@google.com> Change the concept of a default account

The user no longer has control over this. Now, the "default" account
(which is only used for prepopulating the name of new accounts is
either the last used account (to be defined), or the first account in
the database.

This removes a setting, and simplifies a lot of code.

We may also want to auto-select the default account when entering the
compose screen from the combined view, but we do not currently have
an easy way to do that.

Bug: 7442992
Change-Id: Iff5bb36d8cbd327334211b670fa4851cbda6b9a0
ccountSettingsFragment.java
ccountSettingsUtils.java
ccountSetupBasics.java
ccountSetupOptions.java
etupData.java
1b8e0fa23f6e9957f0b8753dd3f5b95d3f5d98ea 26-Jun-2013 Scott Kennedy <skennedy@google.com> Clean up a bunch of warnings

Bug: 9565838
Change-Id: I5e95562bbf463f057cbcc4a9884427a774473b45
ccountCheckSettingsFragment.java
ccountSecurity.java
ccountSettings.java
ccountSetupNames.java
ailboxSettings.java
038924037bbaae4a62fb167e5ce7ae9e34a129fc 25-Jun-2013 Yu Ping Hu <yph@google.com> Fix mailbox sync options.

- Change mailbox sync interval to be a boolean.
- Decouple Inbox settings from account settings.

Change-Id: Id02d43b281f323ca4db499ce97e8f4bb6d82c2bb
ccountSettingsFragment.java
ailboxSettings.java
e7ebb5de04e2419763459883f37f45ee0d27e4c7 20-Jun-2013 Yu Ping Hu <yph@google.com> Remove references to deprecated sync states.

Change-Id: Ib22bac766fb0ac4d6e764ee92b56a8026baee852
ailboxSettings.java
e7d539ddf94270ee716c331dd75c60731d598c1d 19-Jun-2013 Paul Westbrook <pwestbro@google.com> Update the signature summary

Bug: 9480853
Change-Id: I8996efa268c906485ee1d5cfcf0f883d40927009
ccountSettingsFragment.java
21b2522d7f6b2bce8fc3382e6e532d4b4df1b140 14-Jun-2013 Yu Ping Hu <yph@google.com> Remove auto sync windows.

Also includes other DB upgrade code.

Bug: 8668336
Bug: 9226612

Change-Id: Id9664fd8cda466ec34862a793e41cbcce78efb4c
ccountSettingsFragment.java
ccountSetupOptions.java
ailboxSettings.java
525e8ad321967b3f4b15cadf63efb3deafc216ab 13-Jun-2013 Paul Westbrook <pwestbro@google.com> Move support for settings menu to UnifiedEmail

Move the base settings menu to UnifiedEmail

Bug: 9393150
Change-Id: Ifa69125d84802a0d7dd2275e4704ec7a4d1fb2f1
ccountSettings.java
ccountSettingsFragment.java
6fadd5a0bdbd0d510bc886617759bd3adb13599e 12-Jun-2013 Yu Ping Hu <yph@google.com> Add some null checks.

Bug: 9393662
Change-Id: I8c47b701062fb91e0e622644a26b470e78f62014
ccountSettingsFragment.java
38f22dbf08664b885b4cf063ea665c02edfb1c32 08-Jun-2013 Paul Westbrook <pwestbro@google.com> Use "show pictures" code from UnifiedEmail

Bug: 9320770
Change-Id: I701a93e2f09b8405a2c4bc56f7793f5abadbcd1e
ccountSettings.java
eneralPreferences.java
560bfadc3151f7a06f3b06e9a6c92cfa534c63ec 26-May-2013 Scott Kennedy <skennedy@google.com> Unify LogTag

There is now only one LogTag class. The static initializer of
GmailApplication (existing) and EmailApplication (new) will now set
the log tag to "Gmail" and "Email", respectively. Up until that code
is run, it will be "UnifiedEmail".

"setprop log.tag.Gmail VERBOSE" (or .Email) will trigger all logs to
be printed as long as they go through LogUtils, regardless of what tag
is used by that individual log. This lets us still turn on logging
everywhere in one command, but also lets us use more descriptive tags
(like the class name).

And since we no longer have three com.android.mail.utils.LogTag
classes, builds will be much easier.

Also, we now use LogUtils everywhere.

Change-Id: I55f1c7a66ce50ead54877a13e40256422a56dc39
ccountCheckSettingsFragment.java
ccountSecurity.java
ccountSettings.java
ccountSettingsEditQuickResponsesFragment.java
ccountSettingsFragment.java
ccountSettingsUtils.java
ccountSetupActivity.java
ccountSetupBasics.java
ccountSetupIncomingFragment.java
ccountSetupOptions.java
ccountSetupOutgoingFragment.java
ebugFragment.java
ailboxSettings.java
c28347552e543b2fc04c922336ddca75221a1eef 24-May-2013 Yu Ping Hu <yph@google.com> Handle redirection during validation.

This allows the validator to tell the app that
it should use a different host.

Change-Id: Ie42c32aa7aea83e4d95d2b82b88225036b2407a9
ccountCheckSettingsFragment.java
bd1e0b79e470afcfb9e6281711ad1038050c38fb 23-May-2013 Yu Ping Hu <yph@google.com> Auto-advance policy accept by triggering syncs.

Exchange goes through multiple steps to set up accounts.
Each step requires a sync request to occur, so this change
requests syncs as necessary.

Bug: 9074056

Change-Id: I0f35a06409c6a77c82d004958ecc323cf8030ab4
ccountSecurity.java
0d5e21d0fcd337cecce929a3b1bdb0b8b5871b2c 18-May-2013 Yu Ping Hu <yph@google.com> Read protocol version from validation bundle.

Exchange used to just re-check version on first sync.
Version is known during validation so might as well use it.

Change-Id: I004fe671a1ad30a7cfe0a0659b74b20ee2136771
ccountCheckSettingsFragment.java
eb232290309aa3247d6c9b566e8490065a28f763 17-May-2013 Yu Ping Hu <yph@google.com> Always request a folder refresh for new accounts.

Change-Id: I396293f39b7f24ebf67e7619ce19765e1229f56b
ccountSetupOptions.java
c726d4fa6cd5239f9b902e954efaab7752d26471 25-Apr-2013 Scott Kennedy <skennedy@google.com> Add "Reply all" setting to tablets

This controls the notification action on tablets.

Change-Id: I0b8df2ded371820f0dada3f1b11cebad462962ed
eneralPreferences.java
643846abbd1ae60454fc8191992afffd08114e98 23-Apr-2013 Scott Kennedy <skennedy@google.com> Settings changes

Bug: 8685202
Change-Id: Ica781557b91e5ed43221f6e28b9d65cbb044ea55
eneralPreferences.java
0eb47994a328fe450c54e483b894138fd449d9c9 19-Apr-2013 Yu Ping Hu <yph@google.com> Code cleanup.

- Refactor EmailProvider.call
- Remove unused import

Change-Id: I9f0ae35256856a9cd6ea015348d49fcbb6fa8b0f
ccountSettings.java
9f1cff0659e4b9a179690d9c31f7a9bf56aad228 11-Apr-2013 Alice Yang <alice@google.com> Checkbox vs. sender image setting

Replace the current "Hide checkbox" setting with a tri-state setting with
choice of:
- Show checkboxes
- Show sender image
- Show neither

Bug: 8512959

Change-Id: Ifa233b6d65f8c37388edeed71dbfbfdf1295d6fc
eneralPreferences.java
c534638b7aeb1f4bd65852bbcff6b2c78f21d566 28-Mar-2013 Yu Ping Hu <yph@google.com> Disable notification prefs until folder prefs are loaded.

Bug: 8485354
Change-Id: Id56c2634a16274e9340ad6ecb96661ee8a489d49
ccountSettingsFragment.java
28a344042d0f8353d2e5c15fe3951c1e0520f1b7 23-Mar-2013 Paul Westbrook <pwestbro@google.com> Prevent NPE

Also add additional logging for this case

Bug: 8372753
Change-Id: I87aa9ee46f0ca866745d62d27f4b40913f2e9b97
ccountSetupIncomingFragment.java
700fb3c23d56a14eef9c330c50278f02935f5a04 13-Mar-2013 Alice Yang <alice@google.com> Merge "Revert "Change "hide checkboxes" to "show checkboxes""" into jb-ub-mail-ur9
a833b36ec24a1ab4188dfcea4ff70ecce3f41c43 13-Mar-2013 Alice Yang <alice@google.com> Revert "Change "hide checkboxes" to "show checkboxes""

This reverts commit 5742d449178fd51cfea303280e6c7b327f087f9a.

Bug 8370186

Change-Id: Ie15b7c30aaba8df8678d15e19dcd38fddea6de13
eneralPreferences.java
88c80b775bc8232955dcd0cd07e18aa6f9cbcd5c 13-Mar-2013 Paul Westbrook <pwestbro@google.com> Load replyall setting

Bug: 8374501
Change-Id: Ibf01a9c27ad05e3d6c1b172a255299d8af3b69ea
eneralPreferences.java
32881e8dd375f16e6059452166503f7136f14ae5 05-Mar-2013 Paul Westbrook <pwestbro@google.com> Fix NPE after migrating older account

Change-Id: Ifeb3b1853ce3efd725227941103d29a00bc14fc2
ccountSettingsFragment.java
2f9c66d08b13c1ed4eb7d2f70baa98116ac5fcfb 14-Feb-2013 Scott Kennedy <skennedy@google.com> Use swipe preference for archive/delete action

Since some people prefer delete over archive, we will use their
conversation list swipe preference to determine whether to show
a "Delete" action or an "Archive"/"Remove label" action. "Delete"
will be shown if they have selected "Always delete"

UR9 version of I4eb0d408474a9f613cc4267c3851cc7277a22ebd

Change-Id: Ia2f1382b88c1ee6f64e864cb8b780d02821b673d
eneralPreferences.java
b34608228f0b55e401415b67b8150ca9e00cee7d 11-Dec-2012 Scott Kennedy <skennedy@google.com> Move notifications to UnifiedEmail

This involves redoing the persistence model, to split general,
account, and folder settings into separate SharedPreference stores.

It also requires some preferences to be moved into UnifiedEmail.

Depends on Ibe2e3f93ec164370535ffc5f5b2409544cc8d36d (UnifiedEmail)

Change-Id: Ie6ec389b5b5d2e7ab1b299d0877811ae716526e2
ccountSettingsFragment.java
ccountSettingsUtils.java
ccountSetupOptions.java
eneralPreferences.java
15056dedc536c9c8c22a8474024bc55067aeb071 29-Jan-2013 Vikram Aggarwal <viki@google.com> am fb4cc403: Check tablet mode through resources

# Via Vikram Aggarwal
* commit 'fb4cc403514e4d98e63f86ed9d5fa2ac442073d0':
Check tablet mode through resources
fb4cc403514e4d98e63f86ed9d5fa2ac442073d0 29-Jan-2013 Vikram Aggarwal <viki@google.com> Check tablet mode through resources

Change-Id: I1f29bce68a5736e00e38b5f0189c025bfbae433c
eneralPreferences.java
632ab1d6339ca038287fb999d98ee0b78ca7cedd 23-Jan-2013 Paul Westbrook <pwestbro@google.com> DO NOT MERGE Revert "Change "hide checkboxes" to "show checkboxes""

This reverts commit 5742d449178fd51cfea303280e6c7b327f087f9a.
eneralPreferences.java
5742d449178fd51cfea303280e6c7b327f087f9a 21-Dec-2012 Scott Kennedy <skennedy@google.com> Change "hide checkboxes" to "show checkboxes"

Change-Id: Ie44dc65acab4ed94e8d7b3b26392872c4419a603
eneralPreferences.java
f9997921cbea7feb13bbbd897e2f179494e5400e 29-Nov-2012 Scott Kennedy <skennedy@google.com> Change Email vibrate setting from tri-state to checkbox

Migrate the old value as necessary.
Update the unit tests.

Cherry-picked from I1c276ffde3496cbc66846ed4a007088d39f20382 with
minor changes.

Bug: 7624838
Change-Id: I1b3fa331b62f556701bacba5ce9cd64305d9b52a
ccountSettingsFragment.java
54347010fbbdd3ae1dea5b0e282514c640e16a5f 22-Sep-2012 Marc Blank <mblank@google.com> Allow legacy imap to sync

* Remove old (and dangerous) constants

Bug: 7210754
Bug: 7212263

Change-Id: I6a1463a653c5c4823a96c9fbb9ca37e53a45b48a
ccountCheckSettingsFragment.java
5c523858385176c33a7456bb84035de78552d22d 20-Sep-2012 Marc Blank <mblank@google.com> Restore Imap1

* Restore Imap1 code
* Legacy users will use Imap1
* Existing Imap2 users will continue to use Imap2
* New accounts will be created in Imap1
* More to follow

Bug: 7203993

Change-Id: I8b86fcada59a854fd464d5269c94d00ebae85459
ccountSetupType.java
652a907672165b63d715817ceb08bd010489dab2 20-Sep-2012 Paul Westbrook <pwestbro@google.com> Hide reply all setting on tablets

Since tablets have the space to fit both the reply and reply all buttons
there is no need to show this setting on these devices

Bug: 7190341
Change-Id: I8a911ee964be6af31b63286db53b335a9e4a8396
eneralPreferences.java
5e1db519d98cc53317008b4b92b52d6b2edd53f4 19-Sep-2012 Paul Westbrook <pwestbro@google.com> Fix crash when the Email process is killed

If the Email process is killed during setup, the Account information
wouldn't be set. Specify this information in the intent as the intent will be delivered
again when the activity is restored

This is a short term fix. Ideally we would switch all of the intents for the setup
activities to use these extras to pass this information, or we would save the state of
SetupData in onSaveInstanceState

Bug: 7163201

Change-Id: Ic1758eb031cd113089073d03f3c2571e37a98b23
ccountSetupIncoming.java
74c79a50432fcbf127fbfeadc1a461263ea92135 11-Sep-2012 Marc Blank <mblank@google.com> Modify intent names

Change-Id: Iad8b4842056a7f553363f9af47e65665c2b26a5d
ccountSettings.java
ccountSetupBasics.java
266064bcc7c6ed7318a284d59bb83d53edbf1921 10-Sep-2012 Marc Blank <mblank@google.com> Add "System Folders" settings

* Add this category and preferences for setting the trash
and sent items folders

Bug: 7100092

Change-Id: I964e02e5e319b3f04b030d36ed7dca30ed046362
ccountSettingsFragment.java
665b19e779cec4685c4d540abad4b03e1027cf97 09-Sep-2012 Marc Blank <mblank@google.com> Don't reset user's port number in settings

* Spinner onItemSelected is called prior to user input; this
reverts the port to the security-based default

Change-Id: I1cb67e519e9305ef2384b5f5f305bff1e950e7c4
ccountSetupOutgoingFragment.java
6eac1c9f1c15c8a9440fbf4c1854958c054b912b 04-Sep-2012 Marc Blank <mblank@google.com> Show "Creating account..." dialog during account creation

Bug: 7100373
Change-Id: Ic86d8b8c8fafe628a69e867d93719bb986c7c583
ccountSetupOptions.java
e714bb9d153cfe13a7f0932e7d67ea08fa5a1d98 23-Aug-2012 Marc Blank <mblank@google.com> Convert authorities, intents, and account manager types

* Tested ok on wiped Nexus
* Tested ok on S3
* Upgrade verified on Nexus

Change-Id: If5d4ce594f8a309cdb59589d10b1d33f3b79326c
ccountCheckSettingsFragment.java
ccountSettingsFragment.java
ccountSetupBasics.java
etupData.java
12a79eb4798093b7e8a276c4e96f07fd62e0933d 18-Aug-2012 Marc Blank <mblank@google.com> Preserve SetupData state on orientation change

* I suspect there are more bugs to be found here

Bug: 6956692
Change-Id: Id01d8e990b954505383d8218c05c192d658062cc
ccountSetupBasics.java
etupData.java
53d791d7a4d31b91254e16a18c122b36f5847e36 17-Aug-2012 Marc Blank <mblank@google.com> Remove Imap2 warning

Change-Id: Ic531ef1047ba1bf8da50cae9af147cf18332d8b8
ccountSetupBasics.java
b89744ecfb92a4b8fc66a23b942531d39910de44 16-Aug-2012 Marc Blank <mblank@google.com> Use appropriate prefix to infer server address

Bug: 6999072
Change-Id: I71aa184b1cfa0b6926f4dae8861f071f27d3acb2
ccountSetupIncoming.java
f6db592c313c77190727c7cd72d3edda9d23a099 02-Aug-2012 Marc Blank <mblank@google.com> POP3 renovation

* Much, much faster
* Remove message length pass and lots of other useless code
* Create pseudo-attachment for long messages (click to download) that
includes size (so user can determine whether it's worth it)
* Handle download of message via pseudo-attachment; real attachments
are then created as necessary.

TODO: Add real UI with UX input (or modify existing to clean up the
loose ends)
TODO: Optimizations for loading the whole message
TODO: Get server delete working (isn't working currently anyway)

Change-Id: I31f3809fc5a2f9fd490d33cfed70d2930654e71d
ccountSetupOptions.java
125a2435d6f9dd4a49e1a66de35ad6bf39081202 29-Jul-2012 Marc Blank <mblank@google.com> Use Imap2 for auto-setup (if installed)

* And warn user (allowing her to switch to legacy adapter)
* This is temporary, for use in testing and marked STOPSHIP

Change-Id: I2510b0855a67c09add116d827185ff14596f44dd
ccountSetupBasics.java
1bd4630d3d7e4ea309a126b05b00fb1ccab283b8 27-Jul-2012 Marc Blank <mblank@google.com> Linkify and show URL's if they are incuded in ALERT messages

* Gmail does this, for example...

Change-Id: I3b8d7b38e490bbac286f688c11cb62e6874121c2
ccountSettings.java
dba0b20d955d88831ce94d96dbdadc49dba4761a 27-Jul-2012 Marc Blank <mblank@google.com> Handle ALERT response to login command

* Allow AccountService loginFailed API to take a reason string
* Present the reason string in the dialog shown from the login
failure notification
* Handle ALERTs in IMAP login responses (for example, some servers
will occasionally require web login and we need to inform them,
rather than simply saying the password is wrong)
* This fixes a longstanding bug in our Imap1 implementation

Change-Id: I8b270cd5d4746559b6c8a78bce02f0e7c525bdea
ccountSettings.java
97a198292e665fff5d27d727d415f35b0a0633e4 26-Jul-2012 Marc Blank <mblank@google.com> Notify on "all accounts" when an account is updated

Change-Id: If6bad046d10972dcf7aa76d73b18c8a0c655a6ce
eneralPreferences.java
b225298b13eb47c6251d73c28506b0a7ad56bf5c 26-Jul-2012 Marc Blank <mblank@google.com> Add swipe-to-delete general preference

Change-Id: I83aa62526ba7a74cea27930300340227b147340f
eneralPreferences.java
c6089bc01f2ae49fb11904a4b4f222811358254f 29-Jun-2012 Marc Blank <mblank@google.com> Initial Imap2 implementation

This CL includes the following:
* New Imap2.apk generation (not included in builds)
* "Push IMAP" option for accounts when Imap2.apk present
* Account creation/setup
* 2-way sync of messages, deletions, flag updates
* Push (messages, flags)
* Folder list hierarchy handling
* Message text (one plain or html part)
* Picker UI for trash folder (placeholder)
* Capabilities handling/UI command

Major Imap2 new features:
* Push
* Multiple folder sync
* Sync window (like EAS)

TODO:
* Picker UI for sent folder
* Upload of sent messages to server
* Search
* Multiple viewable parts
* Probably lots more, incl. unit tests

Change-Id: Ia5d74073d9c307e0bdae72a7f76b27140dde7d14
ccountSettingsUtils.java
ccountSetupBasics.java
ccountSetupOptions.java
c5afb16430a145f20d7c887e45f47b38687054da 28-Jun-2012 Marc Blank <mblank@google.com> Add a bunch of stuff missed earlier

Change-Id: I7f707446a963912fe5786dacb5569e68db572d1c
ccountSetupType.java
mailPreferenceFragment.java
orwardingIntent.java
olicyListPreference.java
f419287f22ae44f25e1ba1f757ec33c7941bbfa8 28-Jun-2012 Marc Blank <mblank@google.com> DO NOT MERGE: Move emailcommon2 sources to emailcommon

Change-Id: I06df7e467cd2e0117df8b8db3ddc6ff9da13f1c7
ccountCheckSettingsFragment.java
ccountSecurity.java
ccountServerBaseFragment.java
ccountSettings.java
ccountSettingsEditQuickResponsesFragment.java
ccountSettingsFragment.java
ccountSettingsUtils.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupExchangeFragment.java
ccountSetupIncoming.java
ccountSetupIncomingFragment.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoingFragment.java
ebugFragment.java
ditQuickResponseDialog.java
eneralPreferences.java
ailboxSettings.java
etupData.java
03cd72805dab0379ed255d151f1c17cc60655fc3 25-Apr-2012 Marc Blank <mblank@google.com> Revert to old Email app

* These are the last sources in the ICS-MR1 tree

Change-Id: Ida4651bddd92a06a518d00f3e1f275ab3a80c8ae
ccountCheckSettingsFragment.java
ccountSecurity.java
ccountServerBaseFragment.java
ccountSettings.java
ccountSettingsFragment.java
ccountSettingsUtils.java
ccountSetupBasics.java
ebugFragment.java
ditQuickResponseDialog.java
mailPreferenceFragment.java
eneralPreferences.java
olicyListPreference.java
ebb79619e8ed3c9f0c051e7f323e3971bce7508d 09-Mar-2012 Marc Blank <mblank@google.com> Move account delete logic to EmailProvider

* This functionality had to move away from Controller

Change-Id: I557918a325eab8c83a9728fa1ce33dde8b86158f
ccountSettings.java
258ab6ee842d619588b0f5f3ab48efe74de10b0f 02-Mar-2012 Marc Blank <mblank@google.com> Prevent NPE in AccountCheckSettings

Bug: 5911793
Change-Id: I2834ab6d139e734baed6790098f0405e6a4e957a
ccountCheckSettingsFragment.java
4f813fb12937de74d3ccec730b8de0c9de7a87e0 14-Feb-2012 Marc Blank <mblank@google.com> Convert POP3 to service

* Remove MessagingController and (almost all of) MailService

Change-Id: I8953b58b237de6a71fda770f1727bd94081fec55
ebugFragment.java
d85413e946d19d11a53136780bf1ee255665f371 22-Dec-2011 Marc Blank <mblank@google.com> Merge "Handle UI part of enforcing email lookback limit"
919e59044b5c6a3d3947af05ddf241f51f65def4 21-Dec-2011 Marc Blank <mblank@google.com> Handle UI part of enforcing email lookback limit

Bug: 5792217
Change-Id: I4351ae4d8505965a32690ecb5e6338765fb3770f
ccountSettingsFragment.java
ccountSetupOptions.java
ailboxSettings.java
58ce2d0c3a1d693825eb3a8cb9c4ea8ea32d6d65 20-Dec-2011 Conley Owens <cco3@android.com> Make TAG field package-private in several classes

Specifically, several internal classes.

This makes a little more sense since they are accessed outside of the
class that they are defined in.

In addition, this fixes errors created by proguard when building with
OpenJDK.

Change-Id: If2e2f90558e04e777a0c4dbc2ccd1f6c46dd8228
ccountSettings.java
ccountSettingsFragment.java
ccountSetupBasics.java
dc931441d879ede625a073755bfac40f93de6d10 02-Dec-2011 Mindy Pereira <mindyp@google.com> Merge "Fix layout for edit quick response dialog."
d637dc245b3b08c9bc1e24f2b33652dda6c0dbc6 02-Dec-2011 Mindy Pereira <mindyp@google.com> Fix layout for edit quick response dialog.

Fixes b/5528659 Quick Response "create new" dialog is janky

Change-Id: Ib78d677114f9af1969ce8314e6f58002d2ad727f
ditQuickResponseDialog.java
bc6625ef73d52f207cb68b6d7a982abb3a30b8f5 02-Dec-2011 Mindy Pereira <mindyp@google.com> Merge "Make sure to check for a null account before using the account."
ceca4751b26b5da91cd8b2038a679be214d3b7db 02-Dec-2011 Mindy Pereira <mindyp@google.com> Make sure to check for a null account before using the account.

This is a common root cause with monkey crashes.

Fixes b/5628984 com.google.android.email: java.lang.NullPointerException: Unable to start activity ComponentInfo{com.google.android.email/com.android.email.activity.setup.AccountSetupIncoming}: java.lang.NullPointerExceptionat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955)

Change-Id: Ib3ac5c62b72662402c7d5df4e5d895beaf324197
ccountSetupIncomingFragment.java
4016ea1ae9a08ac9710d0035029421451421f86d 23-Nov-2011 Vikram Aggarwal <viki@google.com> Consolidate Preference.OnPreferenceChangeListener objects in AccountSettingsFragment

Fixes b/5642876

Change-Id: I74b9e06107ea89d7b3acf74c6c676dcc85125abc
ccountSettingsFragment.java
5789a78af324f7e7541334817c6811d3981a21c7 19-Nov-2011 Mindy Pereira <mindyp@google.com> Merge "Add account should be shown on all Email prefs screens and subscreens on tablet."
f579eb8ac3c0deacf248468b1648ef971fb65c16 18-Nov-2011 Mindy Pereira <mindyp@google.com> Add account should be shown on all Email prefs screens and subscreens on tablet.

For phone, should match Gmail and just show it at the top level.
Fixes b/5621803 "Add account" button disappeared - IKXEVERESTLTE-3051

Change-Id: I143043485cbb912023fe015a768c6f37c8cad3f5
ccountServerBaseFragment.java
ccountSettings.java
ccountSettingsFragment.java
mailPreferenceFragment.java
eneralPreferences.java
8957df83d454dcf9f18450c55fe46302a58a4cb4 19-Nov-2011 Vikram Aggarwal <viki@google.com> am dd4f501b: Merge "Accurately update the preference summary string when changing the vibrate setting." into ics-mr1

* commit 'dd4f501b44e1f15f8ba33488a63d0d4731e93317':
Accurately update the preference summary string when changing the vibrate setting.
7d28a1c27936fce22af99d0ae5ec63e609eeac3e 18-Nov-2011 Vikram Aggarwal <viki@google.com> Accurately update the preference summary string when changing the
vibrate setting.

Fix b/5639748

Change-Id: Ice6d4770c156104495d476826a636487f4df5f1b
ccountSettingsFragment.java
db3dc58fce381d276ca38d5f7e4b160bf66295c6 16-Nov-2011 Marc Blank <mblank@google.com> am bcadbc5f: Merge "Fix ICS setup regression" into ics-mr1

* commit 'bcadbc5fce10278f1a557a876ebf0eb60afdf051':
Fix ICS setup regression
c196e05ee15ba72ed993bf498897c2be121ccad1 16-Nov-2011 Marc Blank <mblank@google.com> Fix ICS setup regression

Bug: 5612276
Change-Id: Ic9ab3cb075be7ff4e0e5138a453a71cfcbe655b5
ccountCheckSettingsFragment.java
7efde8632df2a41c5c88c6e7a863e8831cbaa0bc 26-Oct-2011 Marc Blank <mblank@google.com> Provide four default "quick responses" for new accounts

* These are added during account creation; existing accounts are
not affected

Bug: 5220629

Change-Id: I906e7b886ead9fdb269d9d44a245cc01c1cf260d
ccountSettingsUtils.java
2736c1a11ce3ecdcd9d19aa9c324fb9ce0910c7b 20-Oct-2011 Marc Blank <mblank@google.com> Rewrite of security policy handling and service code

* Remove PolicyService APIs policiesRequired, policiesUpdated,
isSupported, clearUnsupportedPolicies, and isActiveAdmin
* Add PolicyService API setAccountPolicy, which is the sole
method by which security policies are promulgated
* Add protocolPoliciesEnabled and protocolPoliciesUnsupported
to the Policy class; these are packed, localized strings
indicating policies that the protocol itself have enabled
and/or cannot support (i.e. these are policies that are
unknown to the DPM, e.g. don't load attachments)
* Differentiate in security notifications between three kinds
of policy changes - changes that don't require user
intervention (e.g. reducing requirements), changes that
require user intervention (the legacy notification), and
changes that make the account unsyncable (e.g. the server
adding an unsupportable policy). Handle all possible policy
changes cleanly.
* Make security notifications per account (with multiple
accounts, notifications would get arbitrarily munged)
* Expose ALL enforced policies via the account settings
screen in two categories: policies enforced (including
both policies enforced by the DPM and policies enforced
by the protocol) and policies unsupported (note that these
can only be seen if policies are changed after an account
is created; we do not allow the creation of an account
when any required policies are unsupported). Add a
button that forces a sync attempt, for accounts that
are locked out, but whose policies have changed on
the server (this would otherwise require a reboot).
* Updated unit tests

Bug: 5398682
Bug: 5393724
Bug: 5379682
Change-Id: I4a3df823913a809874ed959d228177f0fc799281
ccountCheckSettingsFragment.java
ccountSecurity.java
ccountSettingsFragment.java
olicyListPreference.java
c5c44eed77b851e71803b972fb76fd91d5338fef 20-Oct-2011 Ben Komalo <benkomalo@google.com> Fix account creation issues.

This is a theoretically dangerous issue that has surfaced only as a
monkey bug so far. The issue is that callers that create an Intent set
some global state, expecting that state to still be valid when the
Intent is handled. However, if the process was killed before the Intent
could be handled, or if that global singleton was not saved properly,
that state was lost and SetupData was never initialized properly.

Bug: 5337276
Change-Id: I6bd08a0dec13f54c7ba8d536ebdc87e6c559c483
ccountSetupBasics.java
etupData.java
c35c4b14c9e7d68137d8a958b64c773e7ec5d150 08-Oct-2011 Ben Komalo <benkomalo@google.com> Fix persistent "empty name" error.

We were never clearing the error state when typing in a field that
needed to be non-empty.

Bug: 5422268
Change-Id: Iabe8c6f6c348b4210695c3eeff98e79e60f83d08
ccountSetupNames.java
d75ac0d3579bf215d51d8333e9154e4c392dd2a9 03-Oct-2011 Ben Komalo <benkomalo@google.com> Don't touch views in the background.

Bug: 5404366
Change-Id: I8aca89c032db41aaf95d3a94dc8047fbacbd47a9
ccountSetupNames.java
b3a72b51dd500dbffb0cabc853970d0bf4807d66 27-Sep-2011 Ben Komalo <benkomalo@google.com> Prefill account names.

- default to e-mail address for account description
- try to use the phone's profile info for the user name

Bug: 5369190
Change-Id: I01cb567f31999bce79426eee58de8fbbc09e344d
ccountSetupNames.java
3432bdb757c4195fb4726c8b401f2261e78d75a7 27-Sep-2011 Ben Komalo <benkomalo@google.com> Fix focus behavior in setup screens.

- properly put actionNext on most fields
- make sure actionDone doesn't do funky things with focus so that a
non-editable field gets focus. we may want to consider not making this
focusable in the future.

Bug: 5367827
Change-Id: I4e7bb13801d96a4f1e6fd02a2d43713200738b18
ccountServerBaseFragment.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
92922ea4a4a6226aca0f464542a1b98cde144169 26-Sep-2011 Mindy Pereira <mindyp@google.com> Provide an empty constructor for orientation changes.

Fixes bug:5369868 Email crash while changing orientation when there is a security exception pop-up

Change-Id: I8fc530c994d5015cb76039d2f309d98ed2c3761f
ccountCheckSettingsFragment.java
a49da871916edf525edf366ec754b1db60ba4796 15-Sep-2011 Marc Blank <mblank@google.com> Handle internal push states when showing sync interval

* We turn them into "push", which is the external representation
of those states (ping and push/hold)

Bug: 5327559
Change-Id: I843f37e4619f1c33cdafbf8a3a6a39abb8e8834c
ailboxSettings.java
7683a431173d242e55afced34175e1178764e757 15-Sep-2011 Ben Komalo <benkomalo@google.com> Prevent NPE in check settings fragment.

Bug: 5324512
Change-Id: I9366eb33c5acfe079c023ee4bc8c2026cde46ae9
ccountCheckSettingsFragment.java
5602ba92a03f6c9f99cfb20685439d4a16707d62 15-Sep-2011 Marc Blank <mblank@google.com> Merge "Allow multiple wildcards in providers.xml; add hotmail domains"
1b65e834c3d3281de9e0eb74e04def6ded8baa14 15-Sep-2011 Marc Blank <mblank@google.com> Allow multiple wildcards in providers.xml; add hotmail domains

* Change handling of the providers.xml file to allow asterisk
as a placeholder for an individual domain name part
(the previous behavior was a very greedy wildcard)
* Add hotmail aliases using the new scheme
* Update unit tests

Bug: 5318329
Change-Id: I73a0dfcb956830b18c5460a1b3ddfc58459d08c9
ccountSettingsUtils.java
bfbf0dd853182bd5d644a88363414a4287616781 14-Sep-2011 Michael Chan <mchan@android.com> Add setting for ReplyAll

Also show/hide the right icon and item in overflow menu depending on setting

Bug: 5298445
Change-Id: I950025cab0aeb57d18769b137eeca418d581c5f9
eneralPreferences.java
715ee4ec4c5a7893b89c28b8569a7a109a5be970 13-Sep-2011 Ben Komalo <benkomalo@google.com> Wire a custom error code for cert errors

This addesses UX's #1 concern about the UX flow for servers that require
certs - users don't know what to do after an error, so they want to kick
them into the certificate selection flow.

Bug: 5280071
Change-Id: I566707b9e680b3ef0b4c0cc8a07a8ad2c825ecaa
ccountCheckSettingsFragment.java
ccountSetupExchangeFragment.java
b7d137bfb6b59b1a4da4b14eb6022ce0df7cf637 31-Aug-2011 Ben Komalo <benkomalo@google.com> Refresh account list in settings.

Since account deletion is async, the deleted account still shows up for
a split second. We can do something smarter about this later, but not
for ICS, and not worth it for such a rare event

Bug: 5116203
Change-Id: I82cced09b7a098e4a1a960f2d8ad75c1979b0649
ccountSettings.java
81a5ba47c67c75e92772bf8adb04a5361fc79b91 27-Aug-2011 Marc Blank <mblank@google.com> Be careful before setting account's delete policy

* We were using the getSelectedItem() from the deletion spinner to
set the account's deletion policy, even if that spinner was
invisible (which it would be for IMAP).
* The result of this is indeterminate; sigh
* The fix is to make sure the spinner is visible before using its
value

Bug: 5216422
Change-Id: I7e44b5e8127f5277693f7e962899e8642be55239
ccountSetupIncomingFragment.java
3ae361182a4bd7061ea4a31773cec11cd3b74d87 16-Aug-2011 Marc Blank <mblank@google.com> Fix SMTP validation with TLS/accept certs

* Typo in the code. Oopsie!

Bug: 5163119
Change-Id: Ic5aab21b79a0ae30d45a760f7c52cf65b150ccb9
ccountSetupOutgoingFragment.java
a9f1631fb83200a59e40e23ed366f810d08b6f52 11-Aug-2011 Marc Blank <mblank@google.com> Remove STOPSHIPs in Email/Emailcommon

Bug: 5142183
Change-Id: I1f6e31bfd2e7c32bdd7886e54b02fd4640a96e6f
ccountSetupOptions.java
3fdf92c977f50a90ba481c7a2a8a86f60ef9ccd2 09-Aug-2011 Ben Komalo <benkomalo@google.com> Merge "Move IntentUtils to emailcommon."
cf8a36531f4c41c8cf646623e8c63040718e17d6 04-Aug-2011 Jorge Lugo <jlugo@google.com> Remove done button from edit quick responses

Removes done button from edit quick resposnses fragment and
centers the "create new" button.

Bug: 5111173
Change-Id: Ia847725e5d3bdc67426f76dd386f2263befe4189
ccountSettingsEditQuickResponsesFragment.java
0e6a521747970d5427f10c25cdc070d2341dc93a 08-Aug-2011 Ben Komalo <benkomalo@google.com> Move IntentUtils to emailcommon.

This is needed so Exchange can fire up Email activities.
No change other than the move.

Bug: 5122497
Change-Id: I6ee3f61654745fafd444314ecf75eb8ae6bbd01d
ccountSettings.java
994343b14bfba216969a9d9e86b53312686f7832 05-Aug-2011 Ben Komalo <benkomalo@google.com> Fix SSL certificate selection for exchange.

- Since the Email and Exchange processes do not share UID, we need to
ensure the call to the KeyChain to request the certificate happens in
the Exchange process
- Misc UI fixes so it's not so ugly

Bug: 5117682
Change-Id: If80698850902e0178eb0998493b4cf4b89e2a15c
ccountSetupExchangeFragment.java
6be8cceaddb93f5f9467854c8d11fa518e95c52b 04-Aug-2011 Ben Komalo <benkomalo@google.com> Update sync settings UI to specs

- minor text changes
- use light holo theme
- slight order changes

Bug: 5110452
Change-Id: Icf558ee495860dc97048765d3b8d09d31161dd32
ailboxSettings.java
5125c06cef67447a0ef5881d8fbfd6b73e1dfd0a 01-Aug-2011 Ben Komalo <benkomalo@google.com> Save IMAP prefix.

Bug: 4517078
Change-Id: I4f4a1e490abc78088ec8ded4e4627e5da1ac3fd2
ccountSetupIncomingFragment.java
72a24f12a2a0a48528cf0f826397e2348fe8ace2 23-Jul-2011 Ben Komalo <benkomalo@google.com> Misc settings UX fixes.

Bug: 5068602
Change-Id: I02acf3690e98ce747ddb4d3a745ac2fa59948c70
ccountSettings.java
ccountSettingsFragment.java
4ca1ca862202100f89b7ce24509ab7e310bf7191 01-Jul-2011 Jorge Lugo <jlugo@google.com> Display message when no quick respones available

When editing quick responses, displays an appropriate
message letting users know that there are no quick responses.
Additionally, the MessageCompose activity will only show "insert quick
responses" when at least one exists.

Bug: 4948180
Change-Id: I1191bd54d6e64f990b6d6830f0837579d7a6918c
ccountSettingsEditQuickResponsesFragment.java
c6df1d605fb3e235df6d4a21ae00632c9d6e3cc2 19-Jul-2011 Marc Blank <mblank@google.com> Prevent NPE's in AccountSecurity

* This CL fixes the referenced bug, but it does NOT explain how
mAccount; best guess is that the process was killed and then
restarted when the result from DPM was available.
* Assuming this is the case, we remove the background task loading
mAccount, avoiding a possible race.
* Also, it's not clear why clearNotifications didn't use the
account id argument; what if there's more than one account that
uses security? Filing a bug about this.

Bug: 5048912
Change-Id: I734834337ab6e409d77624e7c7370350de76becb
ccountSecurity.java
5ce13dba1f85c515247078f36f8d250b22024c33 19-Jul-2011 Jorge Lugo <jlugo@google.com> Merge "Preference panel screen titles don't change on rotate"
ae594dc0ca4748a97ee8ae05c5f5c828121934e8 16-Jul-2011 Jorge Lugo <jlugo@google.com> Preference panel screen titles don't change on rotate

Incoming settings, outgoing settings, exchange settings, and
edit quick response preference panel titles no longer
change to "Account settings" when screen is rotate.

Bug: 5011355
Change-Id: Ibaf68bc836a61777de929623bff2bf2dd4ae0c3b
ccountServerBaseFragment.java
ccountSettingsEditQuickResponsesFragment.java
e2d28a06077ac0c394f1989b97a9f8d0019daa01 18-Jul-2011 Marc Blank <mblank@google.com> Clear "security needed" notification when releasing holds

* This fixes the issues with erroneous notifications remaining
active

Bug: 5039388
Change-Id: Ib1cd506e732e34f6368036a131d79270b22d4a4b
ccountSecurity.java
eb642812bf5a6baf42a0f8c022e44115d565ee84 16-Jul-2011 Marc Blank <mblank@google.com> Merge "Clear account incomplete flag properly; handle unusual flow"
8df9af0df3ea8d987b06364f388cd5de57c7bea9 15-Jul-2011 Marc Blank <mblank@google.com> Clear account incomplete flag properly; handle unusual flow

* We waited to clear the incomplete flag until security was agreed
to, but this can lead to accounts left incomplete; we now clear
the flag as soon as the AccountManager account is created (by
convention, this is when the EmailProvider account is complete)
* Also, allow onDone() to be called more than once with a saved
account, leaving cleanly, rather than throwing a runtime
exception

Bug: 5016792
Change-Id: Ib5fc44ac045a1dd9bd5d63f922c037ed637d5341
ccountSetupOptions.java
1086830bae3d16026136fc40e926eb26e47e449e 16-Jul-2011 Jorge Lugo <jlugo@google.com> Merge "Improve accessibility for stars and settings"
fad737803113c13a32aca0346b54da0790ce49d9 16-Jul-2011 Jorge Lugo <jlugo@google.com> Merge "Don't save empty quick responses; show keyboard on phone"
7920f5809cdd21744ce628c9520539bd6b1d91e9 14-Jul-2011 Jorge Lugo <jlugo@google.com> Don't save empty quick responses; show keyboard on phone

While creating or editing a quick response, disables the save
button when the edit text is empty. Also, now shows the keyboard
on the phone as soon as the dialog box pops up to edit/create
a quick response.

Bug: 5011277
Change-Id: I9926d07cae0e527a7c08a4cc556a9569a91d2f33
ditQuickResponseDialog.java
7667632eb24653ef208261651298996f5fdf6911 08-Jul-2011 Jorge Lugo <jlugo@google.com> Improve accessibility for stars and settings

Adding and removing a star triggers the appropriate accessibility
In incoming/outgoing settings, added EditText contentDescriptions.

Change-Id: Ibab461f1425b3ebf3579ebc1d0b36d1a9a5efdb2
ccountSetupIncomingFragment.java
cf194df05c31045ec734ace84ce2b739639bf12e 24-Jun-2011 Jorge Lugo <jlugo@google.com> Don't display warning message on edit incoming settings

On phones, opening "incoming settings" no longer immediately displays
the warning message associated with editing the username field. It now
only displays when the username is focused by the user.

Bug: 4282856
Change-Id: Ic0a74fa91a0f9cff66565372872e182a0eaec779
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
4e32489c5532d746aac591b96d2c0c8336f718d8 12-Jul-2011 Ben Komalo <benkomalo@google.com> Merge "Support SMTP servers not requiring auth"
e05f511a4ea9ae28841b385987531d8be1d2d87f 11-Jul-2011 Ben Komalo <benkomalo@google.com> Add entry in settings to clear trusted senders

Bug: 5011682
Change-Id: I09a557e4bb0ce3e17f796bcc5693e405f23e8c7e
eneralPreferences.java
025d29fd4b9dd8351fe2e0428a585cf327ddaca4 11-Jul-2011 Ben Komalo <benkomalo@google.com> Fix some missed account setup flags.

There were two places where account flags were being set on setup: one
was in manual setup when the user selected the account type
(pop/imap/eas), and another was when it was automatically determined
from XML. The two paths were inconsistent and one was setting bits like
SUPPORTS_SEARCH but the other wasn't.

This fixes being able to search in IMAP

Bug: 5011932
Change-Id: I50eada7485aaef4e2a85d25fa7eb9ac7ab03093a
ccountSetupAccountType.java
ccountSetupBasics.java
6f31573f00d85bb1d24536c917d72ed80156fd6c 11-Jul-2011 Ben Komalo <benkomalo@google.com> Support SMTP servers not requiring auth

We were unconditionally setting auth credentials even if the checkbox to
require credentials was unchecked. This prevented setup for certain
outgoing servers

Bug: 4291105
Change-Id: I27f94f02b85b097d2c6dbb896254367e8a15415b
ccountSetupOutgoingFragment.java
1ddc2ca4a7e59189099d273bd1d364838dd7ce35 02-Jul-2011 Makoto Onuki <omakoto@google.com> Per-mailbox settings

- Use PreferenceActivity, in the old style, meaning without PreferenceFragment.
- If setting Inbox, change the account settings instead of mailbox settings.
- Use the DialogWhenLarge theme, meaning it's a full-screen avitity on the
phone and a dialog on the tablet.
- Also fixed the bug that we the menu items that are made invisible by
UIControllerBase may be made re-visible by the 1-pane controller.

TODO The menu item shouldn't be shown for non-syncable mailboxes.

Change-Id: I02b2faf6f593e1e2eb370217c27801aa58ca7e6c
ailboxSettings.java
7107d8e821b73504c0610647a3ee4ae7a501ad28 01-Jul-2011 Makoto Onuki <omakoto@google.com> Merge "Use parallel executor"
bc2eaadde987044027b57d241e635de014bdb8ba 01-Jul-2011 Makoto Onuki <omakoto@google.com> Use parallel executor

We should eventually replace all with EmailAsyncTask, but it's the safest thing
we can do now to avoid regression.

Change-Id: I78bfc4fb2be1dcfadeb7f90092ec7adb35c1d393
ccountCheckSettingsFragment.java
ccountSecurity.java
ccountServerBaseFragment.java
ccountSettings.java
ccountSettingsFragment.java
ccountSetupBasics.java
ccountSetupNames.java
6fc2585327025d4e1ef7a488a7a075284c71773d 01-Jul-2011 Ben Komalo <benkomalo@google.com> Fix account settings crash.

The check settings fragment could potentially take a while to finish,
and may finish after the activity has shut down. Ensure that the
callbacks don't go through if that happens (usually means the user
backed out before it finished)
Bug: 4689161

Change-Id: Ie8e052f03a8f8f2884c0fe1e334a91c02444f96c
ccountServerBaseFragment.java
6fea021e3dbe71aaa93512aba699d1bfda3d520d 29-Jun-2011 Marc Blank <mblank@google.com> Remove redundant and unused constants

Change-Id: Ie8658f86737880e3127a0a2c3b7f0557dde98b29
ccountCheckSettingsFragment.java
ccountSetupBasics.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ea8034affadcf645202d03eac3965d4a86fced58 29-Jun-2011 Marc Blank <mblank@google.com> Merge "Clean up Store implementation"
35b0e95ca795e17b6dc8dd98c7ab847d65d9aa0c 29-Jun-2011 Marc Blank <mblank@google.com> Clean up Store implementation

* Remove unused argument from newInstance/constructor
* Create ServiceStore class, the superclass of ExchangeStore (and,
eventually, all Stores, until they can go away completely)

Change-Id: Ic5237236c5349ecf006538c58b63c1efe8e4ea61
ccountCheckSettingsFragment.java
ccountSettings.java
50d934360d51392ac2aa6f11de4d6e1446cf78c9 29-Jun-2011 Makoto Onuki <omakoto@google.com> Fix the "onPostExecute executed even when cancelled" issue

Renamed onPostExecute to onSuccess and made sure it won't called
if a task is cancelled in time.

Also removed isCancelled(). To implement it right we should make sure
that onPostExecute() isn't finished when setting mCancelled, but it's a bit
of a pain to implement right, and we don't really have to use it.

Change-Id: I3a0baf504506ffc4952a5553f7098a8415842fa3
ccountSettingsEditQuickResponsesFragment.java
66a47b8dac5e97e37c30b928bc5a227d74baada9 27-Jun-2011 Marc Blank <mblank@google.com> Clean up/simplify ExchangeUtils/ExchangeStore

* Rename ExchangeUtils to EmailServiceUtils
* Create calls for Exchange to use (eventually remove these)
* Get rid of lots of nonsense in ExchangeStore

Change-Id: Ic538cfe1de57eca24088ee1f590264283d12f511
ccountSetupAccountType.java
ccountSetupExchangeFragment.java
ccountSetupOptions.java
ebugFragment.java
d6efb08c4d6e2ba0e169ea02a170116ca7939498 23-Jun-2011 Jorge Lugo <jlugo@google.com> Merge "Quick response clean-up"
deb345acebce19996726262f7825c39a784b9fa8 23-Jun-2011 Marc Blank <mblank@google.com> Support FLAG_SUPPORTS_SEARCH for IMAP accounts

* Update existing database to add this flag for IMAP accounts
* Set flag when creating IMAP accounts
* Change temporary UI to use the flag exclusively

Change-Id: Idefccd3a74d2222fe8a0ba47116dee981a0ae1f5
ccountSetupAccountType.java
bc42ab77068947ec5cf7caa9043ade70bc03dd34 23-Jun-2011 Jorge Lugo <jlugo@google.com> Quick response clean-up

Highlighting now appears when selecting a quick response. On "insert
quick response" dialog has exactly two lines of quick response shown.
Done also works properly now on the phone.

Known bug: text is not ellipsized. However, this is dependent
on bug 3389545 being fixed by frameworks team.

Change-Id: I7490e139267963d1508fa0573144a10c9190e11c
ccountSettings.java
ccountSettingsEditQuickResponsesFragment.java
ce4cce05b2ee5ea2d9629c189a79f7f30778f534 21-Jun-2011 Makoto Onuki <omakoto@google.com> Fix failing tests

Fixed activity tests and and activity.setup tests.

Bug 4762098
Bug 4766087
Bug 4590590

Change-Id: Ifbd49f38c59854c65b6c48a1b03ca8153bfa558b
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
5a3888f35b669ffb3cc785d7dfe4862879a3896c 01-Jun-2011 Jorge Lugo <jlugo@google.com> Added quick responses.

Added "Insert quick response" button to MessageCompose's action bar. Clicking
it opens dialog with available quick responses. Selecting one of the responses
will insert it into message body at the current cursor location. Also added
menu in account preferences to create, edit, and delete quick responses.

Change-Id: I85f3f6b36801cf112ec9d7c31135a917456173d7
ccountSettings.java
ccountSettingsEditQuickResponsesFragment.java
ccountSettingsFragment.java
ditQuickResponseDialog.java
cb24e515b7983133133ca38bd3e3e6354daaab76 16-Jun-2011 Ben Komalo <benkomalo@google.com> Add one more error state to certificate process

When the KeyStore fails to give us back a certificate for any reason (it
was removed from the keystore perhaps), propagate the error back up.

Change-Id: I4f0ef783c1665589cc8ccb43d95da43a297a3e9a
ccountCheckSettingsFragment.java
f4dbbf10996e6bca926a5825bbc69e1e172c20c0 16-Jun-2011 Ben Komalo <benkomalo@google.com> Indicate to the user when a cert error happens.

This introduces an exception which needs to be thrown from a KeyManager
when it tries to establish a connection with a server requesting a
certificate.

Change-Id: I06dfad7789ed5d320b630e7e4380e15da42a48df
ccountCheckSettingsFragment.java
d09cff08882e553afce919865a2cc60b657d4659 06-May-2011 Ben Komalo <benkomalo@google.com> Make "don't allow camera" a supported policy.

This sends the bit to the DPM. Separate changes have been/will be made
to change the provision parser and support it in the DPM.

Bug: 4185316
Change-Id: I44872ceb095a28539b047a0641cc499c7186a9b3
ccountSecurity.java
b40bdb17dfd9cf2972d42aab8b2d20c9c1291acb 15-Jun-2011 Ben Komalo <benkomalo@google.com> Merge "Introduce a cert selector in exchange settings UI."
82e0e1c4c5c3d526823cf3d8d69bf12c1d44a06a 15-Jun-2011 Ben Komalo <benkomalo@google.com> Show sync window prefs for EAS only.

Bug: 4651025
Change-Id: I1633a2a94e28466686e90df4ff0cdebaaa1a81df
ccountSettingsFragment.java
7014f7d3299203bd83fa893ab2d850b129ec6dc7 14-Jun-2011 Ben Komalo <benkomalo@google.com> Introduce a cert selector in exchange settings UI.

This simply allows the user to select a certificate from the KeyChain to
use for credentials.

Text and UI not finalized.

Change-Id: Ib86abc3c2e899640218122caa12308dc9646dab6
ccountSetupExchangeFragment.java
f5418f1f93b02e7fab9f15eb201800b65510998e 14-Jun-2011 Marc Blank <mblank@google.com> Move Account into its own top-level class

Change-Id: Ide7c991b7d4d418dbe17164421425bf898ba64ee
ccountCheckSettingsFragment.java
ccountSecurity.java
ccountServerBaseFragment.java
ccountSettings.java
ccountSettingsFragment.java
ccountSettingsUtils.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupExchangeFragment.java
ccountSetupIncoming.java
ccountSetupIncomingFragment.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
ccountSetupOutgoingFragment.java
etupData.java
69111b1e19456c4e861b031da3b3b7f26893d664 12-Jun-2011 Marc Blank <mblank@google.com> Fix broken account creation

* What the heck is mCacheLoginCredential for??

Bug: 4597765
Change-Id: Idcb6d323ba0e90f3fe6828f59fe36ec54e4cf40c
ccountSetupIncomingFragment.java
85e4c101b014857fe40f87c3837b82564cfc5b6c 08-Jun-2011 Marc Blank <mblank@google.com> Remove storeUri's except during auto-setup

* Remove per-store limitations
* Use constants for VISIBLE_WINDOW, rather than having the
potential for differences between Stores

Change-Id: Idd5e0874bba6e3390e4f093bcb03f4b1bb399c11
ccountServerBaseFragment.java
ccountSettingsFragment.java
ccountSetupAccountType.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupOptions.java
ccountSetupOutgoingFragment.java
313586c8eb4e23ceec068b82f3dc0be1c8a7045f 07-Jun-2011 Ben Komalo <benkomalo@google.com> Introduce client cert alias for HostAuth.

Some email servers require client certificates to be presented to
establish an SSL connection. While this certificate will be maintained
by the system key store, we need to store the "alias" of the certificate
stored in that system store.

Wiring up to use the actual alias will be done in future CL's. It is
currently unused.

Change-Id: I8d1290151342daea9ceb0df8a4088405b44faa81
ccountSetupBasics.java
ee97468feb73f0ed040485292687b764027d7d31 20-May-2011 Ben Komalo <benkomalo@google.com> Fix typo in settings.

This was causing a crash in settings when opening an incoming settings
fragment after initial setup.

Change-Id: Icedd24a3f5e8f378d6725a09c97525450ef74af7
ccountSettings.java
12b82d9374947c9268217f45befe8a74bd9b60d7 20-May-2011 Ben Komalo <benkomalo@google.com> Move HostAuth to top level class.

No other changes made.

Change-Id: I1c6497c98abc0f99443ea42d8aed6295b263c123
ccountCheckSettingsFragment.java
ccountSecurity.java
ccountServerBaseFragment.java
ccountSettingsFragment.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
373c3e1a5616932bf454e1670f37dfbac3ee3ba5 13-May-2011 Ben Komalo <benkomalo@google.com> Merge "Put account email as title on phone settings."
bfac9f2e8a13f6c719608a6948203bbef921c99f 13-May-2011 Makoto Onuki <omakoto@google.com> Move some of the log constants from Email to Logging

Change-Id: If9f4e4e3adcdef897a0d6a4e153bb446a8b24fdd
ccountSettingsFragment.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
ebugFragment.java
3955f6794f23c1380749d4470b5f2264d2109adc 13-May-2011 Ben Komalo <benkomalo@google.com> Put account email as title on phone settings.

This is kind of a convoluted issue; the framework automatically sets the
breadcrumbs on multi pane settings. However, on single pane, it doesn't
pass any of that breadcrumb info on, and just uses an Intent to start
another instance of the activity with a different Fragment.
Unfortunately, nothing in the default codepath sets the title to
correspond with the breadcrumbs (as it would have been in multipane)

Change-Id: I428642771538bdec3bdaba644f7816a1250ae929
ccountServerBaseFragment.java
ccountSettings.java
ccountSettingsFragment.java
2866284a6d4ee4b368fcaf412c540b21d457e065 13-May-2011 Ben Komalo <benkomalo@google.com> Rename AccountSettingsXL -> AccountSettings

This activity already supports phone and tablet mode.
Only renames in this change - no other change.

Change-Id: Ieca17137af45e3860812091f69cd4d9b55ddf3ec
ccountServerBaseFragment.java
ccountSettings.java
ccountSettingsFragment.java
ccountSettingsXL.java
ccountSetupBasics.java
e7fb4ac9e3b098ece98d004403a89652f88bbe7a 12-May-2011 Todd Kennedy <toddke@google.com> Add account observer to NotificationController

The notification controller now observes changes to the account database and
adds or removes message observers as appropriate.

Change-Id: I1670fcfd6ce744030199b86708a6ada55b239a84
ccountSettingsXL.java
d31d64d330e1276ffdcd0fe9978b3303a38d4e95 11-May-2011 Todd Kennedy <toddke@google.com> Merge "Use observers to manage new message notifications"
83693a6acaffd219f65e04054bc04530e9cc132f 10-May-2011 Todd Kennedy <toddke@google.com> Use observers to manage new message notifications

We were sort of using observers to maintain the new message notifications.
However, other parts of the code would poke into the notification controller
to set things such as a list of newly added message IDs. Now, we rely
exclusively on db observers to manage notifications.

As a side effect of this, we now set the notification text correctly to be
the most recently _added_ message. This may be different than the most recently
sent message [since there may be a non-negligable delta between when the
message was sent and when it was received].

NOTE this still suffers from an outstanding bug where we continue to get
notifications when the Eamil UX is visible. That and monitoring changes to the
account table will be addressed in future CLs.

Change-Id: I4c68273716cc685574a1ca71e5d634f53fe0d882
ccountSettingsXL.java
0993190cafebc107bd27a26996b5d63d4a4ede10 06-May-2011 Marc Blank <mblank@google.com> Complete rewrite of account backup/restore code

* Use EmailProvider to backup/restore into a backup database
* Remove all of the old AccountBackupRestore code
* Get rid of the legacy Account class and all of the Preferences
crap that referenced it
* Remove corresponding tests

Change-Id: I2de75aafdacc87246174303961e58547303f641e
ccountSettingsUtils.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupNames.java
ccountSetupOutgoingFragment.java
335a724ee68a0a36acec75299503b2eaf4ac97d5 04-May-2011 Marc Blank <mblank@google.com> Implement "automatic" sync lookback (Email side)

* Update sync window options to include "Automatic" and "All"
* Make the default (for new accounts) "Automatic"

Change-Id: Icbc696f55abcfad79e66079ebb414ca50778dcaa
ccountSetupOptions.java
aeee10e57ef4d931e7708fde218d590453a82aea 28-Apr-2011 Marc Blank <mblank@google.com> Rework of security policy storage

* Replace crazy (and soon to be "full") bit fields stored in an account's
securityFlags with a row in a newly created Policy table (thus, fully
expandable)
* Update code from database version 17 to 18; adds Policy table, a
policyKey row in Account, and a revised trigger that deletes Policy
information for deleted Accounts
* Update old PolicySet unit tests to work against the new Policy class
* Add test for the conversion of securityFlags to Policy
* Tested in a variety of scenarios; appears to be functionally equivalent

Change-Id: I1505ee75230d6a0d3c2b62a46326f39c2c7f9eb5
ccountCheckSettingsFragment.java
ccountSecurity.java
ccountSettingsUtils.java
ccountSetupOptions.java
etupData.java
265530723b8c008f6bc23b1723f4de706a3e9556 26-Apr-2011 Marc Blank <mblank@google.com> Expose unsupported policies in the UI (account setup)

Change-Id: I75b650af92c87bd990009e54072ac4b58ed0895b
ccountCheckSettingsFragment.java
d2fd1252d504fa61db9eb8362442cf20f1198e0f 22-Apr-2011 Marc Blank <mblank@google.com> Add status code(s) for disabled sync (needed for EAS 14.0)

Change-Id: Ie65141c4d83412274dbbc39dffed7c3be394bb84
ccountCheckSettingsFragment.java
daf869cf60de75bc91ed3aef6ac0bff1fe371733 20-Apr-2011 Todd Kennedy <toddke@google.com> Use an Account object to create a mail sender

Instead of boiling the account down to an unusable URI, just pass along
the Account object.

Change-Id: Ida408912de29734c8f4ed9cdf09a4d633dd03002
ccountCheckSettingsFragment.java
ccountSettingsFragment.java
ccountSettingsXL.java
a50fc99b0c433f0cde31ba1c7ab87fb9ea86345d 19-Apr-2011 Todd Kennedy <toddke@google.com> Use Account instead of URI to create transports

There's no need to create a URI just to rip in appart again. Additionally, to
support additional changes (i.e. to use Mailbox instead of Folder in the
MessageController), we need to store the actual Account.

NOTE -- This change only affects IMAP and POP3. SMTP will come in a follow-on CL

Change-Id: I400036a17271c99272fd9c603547dcd713b50b9d
ccountCheckSettingsFragment.java
ccountSettingsXL.java
5a2d7da136f2f0519dabacfe9b5a5e224f8be5e8 14-Apr-2011 Ben Komalo <benkomalo@google.com> Minor fix to error dialog formatting.

Bug: 3515558
Change-Id: Id4d88379dc68c114338fdd2d4d437a2defb94ba4
ccountCheckSettingsFragment.java
5e4f1c38724927d7d41713e9e9ff073041d92d73 29-Mar-2011 Todd Kennedy <toddke@google.com> Allow globals in the providers.xml

There are two ways globals can be specified. There can be only one global
character ['*'] and/or multiple wildcard characters ['?']. The global
will match zero or more characters. The wildcard will match any character.

bug 4090086

Change-Id: I07e3edebd1fe989094c68cf047ce5bc9fb91aba0
ccountSettingsUtils.java
44f45f4221f5cd681ac3e9596cedb4f0536a1751 31-Mar-2011 Makoto Onuki <omakoto@google.com> Merge "Don't use findViewById (part 1 -- account setup)"
aaec6a9a2b3f0a1b1de11ad28f9fc8f45e558784 30-Mar-2011 Todd Kennedy <toddke@google.com> Merge "Disallow editing username after account creation"
2fbb3db5d86210d03175ce77ff08c989a96c5864 28-Mar-2011 Makoto Onuki <omakoto@google.com> Don't use findViewById (part 1 -- account setup)

Added two new functions:
- UiUtilities.getView()
is a fail-fast version of findViewById(). Crashes when there's no view
- setVisibilitySafe()
same as View.setVisibility, but doesn't crash even if a view doesn't exist

Let's try to avoid the use of findViewById(), and instead use getView(), *right
after* the layout is inflated, so that we'll always fail-fast if a layout
doesn't have a required view. (Rather than getting a NPE only when the view
is really accessed, which can be in a code path which is rarely executed--e.g.
only when there's a protocol error.)

Let's only use findViewById() only when we're sure no all the variants of a
layout have the view in question and leave a comment to make it clear it's on
purpose.

(UiUtilities has been moved from com.android.email to
com.android.email.activity)

Change-Id: I36e0bab65a989f5d34cf636f13e1eaee084547af
ccountServerBaseFragment.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupExchangeFragment.java
ccountSetupIncoming.java
ccountSetupIncomingFragment.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
ccountSetupOutgoingFragment.java
ebugFragment.java
206109cf44e27e90e4a5208daa289704aa451198 30-Mar-2011 Todd Kennedy <toddke@google.com> Disallow editing username after account creation

After the account is created, don't allow editing the user name. We want to
prevent this as the user name is core to the account and changing the user
name is tantamount to creating a new account.

bug 3502279

Change-Id: I1d89710fd48aca67ba13abea5bdbdc1d87941618
ccountServerBaseFragment.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
08534762bdded437a7fa0e5e422d311c414e0621 29-Mar-2011 Todd Kennedy <toddke@google.com> Allow globals in the providers.xml

We now allow a single global character ['*'] to be specified somewhere in
the domain attribute. Additionally, we will replace the string "$domain"
with the matched domain in all attributes -- user name, password and URIs.

bug 4090086

Change-Id: I46a637ed364c1a079e1230fa22393a1bac059b1f
ccountSettingsUtils.java
ccountSetupBasics.java
308ce9284793b597797994dfb1fb25155cbe0b20 22-Mar-2011 Makoto Onuki <omakoto@google.com> Better fix for the PendingIntent issue.

Refactor the changes introduced in Ib02842bb.

- Now Welcome and AccountSettingsXL accept intents with URLs of the following
style, and get IDs from query params, rather than extras.

Welcome:
content://ui.email.android.com/view/mailbox?ACCOUNT_ID=1&MAILBOX_ID=2&MESSAGE_ID=3

AccountSettingsXL:
content://ui.email.android.com/settings?ACCOUNT_ID=1

- Now the "new message" and "login failed" notifications use these new style
intents, so the system wouldn't merge PendingIntents for different accounts.

Also:
- Moved all notification creation logic to NotificationController.
(Except the one in CalendarSyncEnabler; which is used only to support
upgrading from pre-froyo and I don't think it's worth refactoring.)

- Note the "password expired/expiring" and "security needed" notifications
aren't changed; they still use extras to store account IDs. This is okay
because these notifications are not per-account.

Bug 4065269

Change-Id: I70737438d2e7c45fd7488a5b0a7105c8568e02f7
ccountSettingsXL.java
9134916c3921b514cf905fd2fddb26e686d0fee4 22-Mar-2011 Todd Kennedy <toddke@google.com> Make method forceLoadSettings() private

Change-Id: Idc36fa205046d19f9a6a9c92c10a9a6f637f1663
ccountSetupExchangeFragment.java
5a5044287494db2f26e680b36187714838bc82bf 16-Mar-2011 Todd Kennedy <toddke@google.com> Reload server settings after auto discover

There is an optimization to prevent re-loading server settings if they've
arlready been loaded once. However, in certain circumstances (e.g., server
setting auto discover), we want to be able to reload the server settings.

bug 4091290

Change-Id: I03c47a7fe3b45d1c581401ac891895a00315d45b
ccountSetupExchangeFragment.java
a685d3b0191f472de9902b3d5590fc3e8408400c 15-Mar-2011 Andy Stadler <stadler@google.com> Reduce chance of crash when dismissing dialogs asynchronously

* Caught & diagnosed by crash while checking settings
* Also possible in MoveMessageToDialog

Bug: 3412875
Change-Id: Ie78c61cf5ca10ce1eedc25ba2eb97ed0ac5bc615
ccountCheckSettingsFragment.java
5f830f8608eaea6a512a97983b124fd13836a59f 10-Mar-2011 Andy Stadler <stadler@google.com> Fix race condition NPE caught by monkey

Bug: 4080321
Change-Id: Ia6ef0a47f87ffdc96269a95cc3bc5564d2e98440
ccountCheckSettingsFragment.java
19b2a7ebc9cc770baace1605ff5b44b3fcb46320 02-Mar-2011 Makoto Onuki <omakoto@google.com> New debug setting to enable strict mode logging.

For now it only enables it for the main process. I've added a flag
to EmailServiceProxy for EAS, but it's not used in the exchange side.

Bug 3500292

Change-Id: I5b27c69fe7cc995a430e9def54b2463076032c78
ebugFragment.java
2d6a98aedf10a8f836ae2e02ddbdec597cf53899 02-Mar-2011 Andy Stadler <stadler@google.com> Prevent NPE when account sender name is null

Bug: 3500373
Change-Id: Id07270f34d9cc0523c46104b3167711b71798623
ccountSettingsFragment.java
fe68c0e7c2672e09076038b36ad24f095633d313 17-Feb-2011 Todd Kennedy <toddke@google.com> Use HostAuth to determine settings changes

There were two TODO's from a prior CL where deprecated HostAuth methods
were removed.

1. Do not use a generated URI to determine if account settings have changed.
Instead, use the HostAuth structure for this purpose.
2. The account key in the HostAuth structure has been deprecated. Remove as
much of it as possible (until the schema of the host auth database changes,
we must still refer to it when adding rows).

In the process, HostAuth tests were broken out into a separate unit test
file.

Change-Id: I4075da09af168f734db7b20a9ef63d4178ac2064
ccountServerBaseFragment.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
5920989bdec326ff3e9d70d6a530d8b99a98f5c7 24-Feb-2011 Todd Kennedy <toddke@google.com> Fix NPE when restoring setup activity

If the setup activity ever needs to restore itself after being killed, we were
restoring the Activity object's state (i.e. rebuilding the UI) before we
restored the state of our class. Since the Activity necessarily depends upon
our object's state, Bad Things can [and will] happen.

The solution is simple -- save our object's state last, but, restore our state
first.

bug 3476039

Change-Id: I623f1938c2e0f50d660708a7a7ac3eeb4a8f9090
ccountSetupActivity.java
64c7a437ac94bc0a1025804507b59d453caecd2b 24-Feb-2011 Todd Kennedy <toddke@google.com> Properly clear "next" button de-bounce flags

In some cases, the de-bounce flags were not being properly cleared. Namely, on
the outgoing settings screen. We now consistently clear the flags to ensure the
"next" button is always actionalble when it should be.

bug 3425395

Change-Id: Ib8085fb96522158198d9f33a12effef8f65c0d19
ccountServerBaseFragment.java
8c89674b64f6669fa94bf593abad0f1e2255a812 22-Feb-2011 Todd Kennedy <toddke@google.com> Always set a delete policy for legacy accounts

The delete policy can only be set for POP3 accounts. However, the delete policy
is used for all legacy accounts (that includes IMAP). As such, we need to make
sure IMAP accounts also have their policy set; even though the setting is not
configurable by the user.

The delete policy does not mean anything for Exchange accounts, so, we do not
need to modify the account setup code for them.

bug 3074164

Change-Id: Iab10d2997404b3b0c10a60a64fb652540c0d2d1a
ccountSetupIncomingFragment.java
d096f70ab308dcc789f21e82e13857f89021be6d 20-Feb-2011 Andy Stadler <stadler@google.com> Merge "Add contextual dialogs after notifications"
f4894131427ec7562fcb05388b9f3aa094e388bc 19-Feb-2011 Andy Stadler <stadler@google.com> Add contextual dialogs after notifications

* When security settings notification is clicked, inform user that
they need to change settings (before dumping them in security
settings.)
* On an authentication failure, present a dialog to the user explaining
that the username or password may be incorrect.
* When the device pin/password is expiring or expired, present a dialog
to the user explaining that it needs to be updated.

Bug: 3238657
Change-Id: I8fca446fa3c1bf87a95938553dbdc362c3df220e
ccountSecurity.java
ccountSettingsXL.java
ccountSetupNames.java
ccountSetupOptions.java
34704851e96dcc139d6833adb3bd139f57fa497c 19-Feb-2011 Todd Kennedy <toddke@google.com> Update account list if account description changes

Editing the account description occurs in a different fragment. As such, we
need to notify the fragment in charge of the account list whenever the
description is updated.

We already have a callback mechanism, so, expand that to send notifications
of any property change.

bug 3388586

Change-Id: I02475233f7f333db57c49ceaf908dbfa69c86ca6
ccountSettingsFragment.java
ccountSettingsXL.java
a8197834919735349062c65ad9ea04676fb24800 17-Feb-2011 Todd Kennedy <toddke@google.com> Fix NPE when creating an account from template

if you create an account using one of the pre-defined templates (such as
Yahoo!), the user name and password were not being set in the HostAuth
structure. This was causing an NPE when we tried to generate an IMAP ID.

Change-Id: I9619cddc0ab758c187cf4b9c7c84485ac1f4bfdd
ccountSetupBasics.java
040ddf60cfef4aaecf4bfe1f897fce3248d777a4 04-Feb-2011 Todd Kennedy <toddke@google.com> Resolve build warnings; part 5

Remove dependence upon URIs for creating the host auth structure

Change-Id: I92dee36fa329a8976b76bbd4991ed3469c6475f2
ccountCheckSettingsFragment.java
ccountServerBaseFragment.java
ccountSettingsUtils.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
3a5c1fb274a9ce72d708d88509bf2607cb018ddd 13-Feb-2011 Marc Blank <mblank@google.com> Email split, part neuf: Setup, logging, attachment glue

* Make "Exchange" option in account setup depend upon availability of the
Exchange EmailService
* Make presence of Exchange logging depend upon availability of the
Exchange EmailService
* Make AttachmentDownloadService use service rather than ExchangeService
class
* Move SSLUtils to emailcommon/utility
* Move account manager type defs to emailcommon/AccountManagerTypes
* Update proguard.flags
* This is the penultimate CL for the Email package itself; the next CL
creates a clean, SDK-compatible Email application

Bug: 3442973
Change-Id: I9162cf5fa6b5a043ded0fdd1e25fd3ce5948ad8f
ccountSettingsFragment.java
ccountSetupAccountType.java
ccountSetupExchangeFragment.java
ebugFragment.java
31d9acbf0623872f9d4a2b3210b5970854b654c7 12-Feb-2011 Marc Blank <mblank@google.com> Email split, part huit: Refactor constants, clean emailcommon

* There are three pieces to this CL (sorry):
1) Move and/or rename some constants into emailcommon
2) Move Utility to emailcommon, moving the few UI
related utilities back into Email (FolderProperties
and UiUtilities)
3) Remove all references to resources from emailcommon
* The three pieces relate in that, between them, they allow
the emailcommon static library to compile cleanly

Bug: 3442973

Change-Id: Ic5e3abaa2a1b36999e0b6653c6c2134ea1bd544f
ccountCheckSettingsFragment.java
ccountSecurity.java
ccountServerBaseFragment.java
ccountSettingsFragment.java
ccountSettingsUtils.java
ccountSettingsXL.java
ccountSetupBasics.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoingFragment.java
ebugFragment.java
a7bc0319a75184ad706bb35c049af107ac3688e6 10-Feb-2011 Marc Blank <mblank@google.com> Email split, part six: EmailContent

* Moved EmailContent to emailcommon

Change-Id: Ib3db1bfcfe74554c0e5afd3cfce6d72f26e9aeb9
ccountCheckSettingsFragment.java
ccountSecurity.java
ccountServerBaseFragment.java
ccountSettingsFragment.java
ccountSettingsUtils.java
ccountSettingsXL.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupExchangeFragment.java
ccountSetupIncoming.java
ccountSetupIncomingFragment.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
ccountSetupOutgoingFragment.java
etupData.java
2193962ca2b3157e79f731736afa2a0c972e778a 10-Feb-2011 Marc Blank <mblank@google.com> Email split, part quatre: Move along, nothing to see here

* No code was harmed, er, changed in the making of this CL
* All that's happened is that code that is needed by both Email and
Exchange have been moved into emailcommon
* This required import changes to many files, which explains the
length of the CL

Change-Id: I4e12455ba057a4a8054fdbd0b578c73afa411c8a
ccountCheckSettingsFragment.java
ccountSettingsFragment.java
8a574694606f0e5d781334d0d426fc379c51f3ed 09-Feb-2011 Marc Blank <mblank@google.com> Email split, part trois: AccountService

* Create AccountService.aidl and AccountServiceProxy in emailcommon
* Implement AccountService in email
* Use AccountServiceProxy in Exchange for account reconciliation,
notifications, etc.
* Move sync window constants into emailcommon
* Split attachment provider utilities and constants into emailcommon

Bug: 3442973
Change-Id: I89dce28b799b193243c07774dab65d830ae62775
ccountSetupOptions.java
9ba506c4dd498150555f6c59aa758f7467bf9236 09-Feb-2011 Marc Blank <mblank@google.com> Email split, part deux: PolicyService

* Split PolicySet from SecurityPolicy and move to emailcommon
* Define PolicyService that sync adapter services can use to
interact with the Email DPM administrator
* Implement PolicyServiceProxy for exchange
* Implement PolicyService in email
* Modify imports, references, etc. as required

Bug: 3442973

Change-Id: I92015e21f780a68754b318da89fbb33570f334a2
ccountCheckSettingsFragment.java
ccountSetupOptions.java
etupData.java
0d4fc55861ed4393aa82f124f2865695ef564641 09-Feb-2011 Marc Blank <mblank@google.com> Email split, part one: EmailService

* Create emailcommon package
* Move EmailService classes to emailcommon package
* Change references to aidl's to emailcommon package
* Add getApiLevel() command to EmailService

Bug: 3442973

Change-Id: Ic7d2115363cdff6ebb86c46650b0a5b2109b1c72
ccountCheckSettingsFragment.java
5c7ffc91a5d10cc7a7c62c1e7f7c08b896ac4884 31-Jan-2011 Paul Eastham <eastham@google.com> am c34e4eec: am 04d3f014: Merge "Remove STOPSHIP" into honeycomb

* commit 'c34e4eecf1450b20e804297741507d1edc044d0f':
Remove STOPSHIP
5f10938fd4749313e2029c7deede30bae2c2dccf 31-Jan-2011 Andy Stadler <stadler@google.com> Remove STOPSHIP

Bug: 3396875
Change-Id: I0d57922def86dc48abb2a8a47c9358115dddb9fd
ccountSettingsUtils.java
943e02c97d267e684d44e705d966fee700ff3643 28-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Add debug setting for one-minute refresh"
5907d39d2b34b1b4ab3c1ef32b5b42ead97ec3ef 27-Jan-2011 Makoto Onuki <omakoto@google.com> Add debug setting for one-minute refresh

Bug 3377054

Change-Id: I7843fe82d66ab7896b8293b2fa16ca73f6711595
ebugFragment.java
04c4ae864fb0df88b9bc41e85a72062c12540d81 28-Jan-2011 Andy Stadler <stadler@google.com> Prevent NPE in account deletion race condition

Bug: 3399372
Change-Id: Ic41fb1292f8cc2e5ceb120e7233229dc4e47f1eb
ccountSettingsXL.java
09aae75f4e37c3197c6f8d3f046b15c71534d1f0 27-Jan-2011 Andy Stadler <stadler@google.com> Fix account list after deleting accounts

* After deleting an account, we need to actually update
the list of known accounts - it's not sufficient to simply
rebuild the headers with one account marked deleted.
* Also remove a couple of obsolete TODO's

Bug: 3382965
Change-Id: I1aa6d88f869f0192b564b538817381efdc5fffe0
ccountSettingsXL.java
f020910461908681978a9e0f8f98b748853b0e39 26-Jan-2011 Andy Stadler <stadler@google.com> Fix Account Manager integration

* Rework the interaction with the Account Manager
* Remove unneeded call to response.onRequestContinued()
* Store response in SetupData so it can survive the entire account
setup flow.
* Explicitly report exit status to acct mgr at known exit points:
* AccountSetupBasics.finish() (fail/cancel)
* AccountSetupOptions.finish() (fail/cancel)
* AccountSetupOptions.optionsComplete() (success)

Bug: 3335128
Change-Id: Ia55724eb1e938f2633c5ff7afb719a879be16a1b
ccountSetupBasics.java
ccountSetupOptions.java
etupData.java
a97faa25ac3265209b50d4534b4c2b41cd211e5c 26-Jan-2011 Andy Stadler <stadler@google.com> Discard result of Dupe Account check if paused

Fixes a potential race condition with a slow DB lookup and a
fast user (or monkey).

Bug: 3384992
Change-Id: I0602820e1d9f49eb01b09c9d78db3d0fc47ccfb1
ccountSetupBasics.java
4fd1ebdcc3b8b1389c65e485d73cd5a98616cf17 24-Jan-2011 Andy Stadler <stadler@google.com> Fix multiline mode in signature

* Add multiline flag to preference xml
* Also, remove display of actual signature in summary, as it
does not properly handle long or multiline signatures.

Bug: 3379235
Change-Id: I84894dbdccee2cd8a8ece05d0b8f7fdcf7b92406
ccountSettingsFragment.java
45bfac00e58059eed71fd22e2767c8e0437b6251 24-Jan-2011 Andy Stadler <stadler@google.com> Rework account security bootstrap procedure

* Bug to fix was that it was looping if the user canceled
password or encryption setup (instead of simply re-notifying.)
* Solution was to refactor all code into a single sequence of checks,
rerun the sequence each time, and set markers to prevent looping.
* Rework needed after the changes in I54f39bc9 which added
encryption support but introduced the looping behavior.
* Removed a UI-thread DB access

Bug: 3346641
Change-Id: I0791d7a16287efecc7121b5ffa0db26ca2b05151
ccountSecurity.java
373ccb10377fdebdac7c3fbc96c6e592a1c1d8fb 20-Jan-2011 Andy Stadler <stadler@google.com> Cleanup account name, user name, and summary

* In AccountSetupNames:
* Add "Field required" error tag to Names display
* In AccountSettings:
* Improve IME behavior in text fields - auto-capitalization
* Prevent empty username
* Reset empty nickname back to default (email address)
* Fix broken hint for signature
* Proper trimming in all fields

Bug: 3338435
Change-Id: I2720c4524303ada6dd228866756fc9c3aac173f3
ccountSettingsFragment.java
ccountSetupNames.java
858c2822777f74947e81476125590ad06bfe4803 20-Jan-2011 Andy Stadler <stadler@google.com> Handle leading/trailing space in passwords

* Allow, but provide warnings via EditText.setError()
* Remove one last instance of password trim()

Bug: 2981433
Change-Id: I406a4f8b8f27cc5ce90424a8cafe88a677e72f45
Signed-off-by: Andy Stadler <stadler@google.com>
ccountSettingsUtils.java
ccountSetupBasics.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
f72f812f5bb5d14940b2b161eec417a9aa6950f8 18-Jan-2011 Makoto Onuki <omakoto@google.com> Merge "Use proper alert icons on dialogs" into honeycomb
946239e8a0e01c628fae61894d3d48248b74cefc 18-Jan-2011 Andy Stadler <stadler@google.com> Add per-account preference for bkgnd attachments

* Add flag to Account record
* Add checkbox to Account Settings (IMAP & EAS)
* Add checkbox to Account Setup (IMAP & EAS)
* Add flag to backup/restore logic
* Update Account & AccountSetupOptions unit tests

Bug: 3360873
Change-Id: I0c407776ede4110f33716644f6f027938f21130a
ccountSettingsFragment.java
ccountSetupOptions.java
eneralPreferences.java
49518bb3605d6c8e3cc4801c452e4f8f63220f44 18-Jan-2011 Makoto Onuki <omakoto@google.com> Use proper alert icons on dialogs

Bug 3364447
Bug 3241281

Change-Id: Ie791d8d5eae26a848de08658a14d6a09d06d0846
ccountCheckSettingsFragment.java
ccountSettingsFragment.java
ccountSettingsXL.java
ccountSetupBasics.java
ccountSetupOptions.java
uplicateAccountDialogFragment.java
31e25767918193217c884db72aaa98e50a4957d3 17-Jan-2011 Dianne Hackborn <hackbod@google.com> Follow API changes.

Change-Id: I1ca0fe365b953fa98a462912309a1c9647277ba7
ccountCheckSettingsFragment.java
ccountSettingsFragment.java
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupOutgoing.java
c890a4e4a2cbb489aea4847cf25368a723586530 13-Jan-2011 Todd Kennedy <toddke@google.com> Display dialog if unsaved settings would be lost

When navigating away from a preferences screen and unsaved settings would be
lost, display a confirmation dialog. The user can either accept or cancel the
action. If canceling, the user is returned to the settings screen they were
currently on. Otherwise, they are taken to a new fragment (the exact
destination depends upon whether the user navigated "back" or selected another
header)

There is one additional change that needs to be made. In the case of navigating
to another header, we are notified _after_ the new header is selected. In this
scenario, the action is not cancelable and the user will lose any changes. We
must display an appropriate message when this happens. [note: this is the same
behaviour as when the user selects a breadcrumb]

bug 3327737

Change-Id: I4bd3b393a6323f3e63510e3ed08e4e1e745b04c4
ccountServerBaseFragment.java
ccountSettingsXL.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
469f2987dc11d153434e50eb04dd6b83b924d09d 13-Jan-2011 Andy Stadler <stadler@google.com> Add encryption to SecurityPolicy

* Add encrypted-storage to uses-policies
* Add new field to PolicySet
* Add "false" to all constructor callers
* Add unit tests (including fixing some existing unit tests)
* Add new logic to AccountSecurity activity t0 dispatch both password
and encryption requests.

Bug: 3346641
Change-Id: I54f39bc9b6fbe21c033a05b36b83081e5c78a296
ccountSecurity.java
983e1ad53b3ca3105655bf6d961713c61060a7f8 13-Jan-2011 Andy Stadler <stadler@google.com> Make breadcrumbs work in server settings fragments

* Switch to newer startPreferenceActivity API
* Newer API lets us pass a string for the breadcrumb
* Get rid of newInstance() calls in all three server settings fragments

Bug: 3188951
Change-Id: I86ae91d63ff7bd32fa0eab96ac18686bb5e3e313
ccountServerBaseFragment.java
ccountSettingsXL.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
38089f6c4222ab56582899f1f228966c5ebf75e8 12-Jan-2011 Makoto Onuki <omakoto@google.com> Show the UP arrow on account settings

Show the UP arrow on the action bar. Tapping it works as a back press for now.

Bug 3341634

Change-Id: I9fade234fd9878f701a601f4d016778fa032383b
ccountSettingsXL.java
ea4c5642612803753fd221f33bbdf47fd40bc7dd 09-Jan-2011 Brett Chabot <brettchabot@android.com> Use new public API to protect force account creation.

Check value of ActivityManager.isRunningInTestHarness() before allowing force
account creation, instead of ActivityManager.isUserAMonkey().

Bug 3329873

Change-Id: I5028eef9caced2cacc9c187dfd746865939fdedd
ccountSetupBasics.java
6e71978ec38add2edf3ac5f3dd1f9abeea9c1ab6 07-Jan-2011 Andy Stadler <stadler@google.com> Move account edit save settings off UI thread

* Caught by StrictMode
* The fix prevents ANR
* Removed vestigial cruft from the saveSettingsAfterEdit() implementations

Bug: 3133633
Change-Id: Id41fb74269a2b72cc17121e33684b459d3eec869
ccountServerBaseFragment.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
8b5cd2beff18ff525c429f10acfdd78bc1e011bb 04-Jan-2011 Andy Stadler <stadler@android.com> Remove UI thread access in AccountSetupBasics

* Move getOwnerName to a FutureTask
* Use AsyncTask for call to Utility.findExistingAccount()

Change-Id: I85e35a12cc28b1dda8a0ccd930869316032a3b12
ccountSetupBasics.java
926e7369d114f5747a81710987500ff407fba964 26-Dec-2010 Andy Stadler <stadler@android.com> Remove UI thread disk access from AccountSetupNames

* Remove unneeded DB read in onCreate (add runtime checks for problems)
* Move more exit/commit work to existing AsyncTask
* Add lockout of next & back keys while processing

Bug: 2792509 (probably others)
Change-Id: I0db030a1f1df94ba721510b5112519f260f5c0f9
ccountSetupNames.java
ec9398e7c6dc7a016b68ea3009fd950f898763a0 24-Dec-2010 Andy Stadler <stadler@google.com> Fix ANR's in AccountSetupOptions

* Move all db ops off UI thread
* Reorder methods in typical progression (they were random)

Bug: 3134660
Bug: 3134677
Change-Id: Idd4f411e937336bbd09bcc03d9ad036d22dc5e19
ccountSetupOptions.java
2959a7e073c87e2fa5fab42ec543b352a91cf187 23-Dec-2010 Andy Stadler <stadler@google.com> Fix ANRs from Email.setServicesEnabled()

* Create sync & async versions
* Rename all callsites so sync is very apparent
* Fix callsites appropriately
* Clean up interaction between reconciler and setServicesEnabled

Bug: 3133770
Bug: 3134677
Change-Id: Iefbc7814d9aa390baea6345e450e2a4768bf0a9a
ccountSettingsFragment.java
ccountSetupOptions.java
6aec257fe7d3a4119a0aa81ddec0f9d167199e1d 23-Dec-2010 Andy Stadler <stadler@google.com> Merge "Fix NPE when changing server settings w/security dialog"
d8f1d8f2ff75502b86c8ce7b8a738eddc731a607 23-Dec-2010 Andy Stadler <stadler@google.com> Fix NPE when changing server settings w/security dialog

Bug: 3302453
Change-Id: I8adb5166598b72f9eb4a26bbe47afc756e764159
ccountCheckSettingsFragment.java
8d22e85e459df3d94968389852859dacaf2baafe 23-Dec-2010 Andy Stadler <stadler@google.com> Reduce/eliminate DB access in server settings

* Create shared async worker to check for duplicate accounts
* Use it in AccountSetupIncomingFragment
* Use it in AccountSetupExchangeFragment
* Debounce proceed/next button because work is now async
* Also, upgrade leftover old-style code in AccountSetupOutgoingFragment

Bug: 3134666
Change-Id: I5c24a6546d1ab66aedc5c4ac826ddf4f1ff53446
ccountServerBaseFragment.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
9f7e3982ada78ab64e82a797186633684d02dec5 22-Dec-2010 Andy Stadler <stadler@google.com> Reduce UI thread disk access in account settings

This change is in top-level settings for a given account:
* Call saveSettings async on UI changes, instead of synch at onDestroy()
* In loadSettings, get default account id async

Also sprinkled in some TODOs for future whack-a-mole fixes.

Bug: 3133639

Change-Id: I5216c78d28b35fe47e43b48ad0db3a3e57b25004
ccountSettingsFragment.java
ccountSettingsUtils.java
ccountSettingsXL.java
ccountSetupIncomingFragment.java
8ec0dcfe0d241cdac946a8c131472913c7349492 14-Dec-2010 Andy Stadler <stadler@google.com> Fix NPE on rotation

* onAttach is called fairly early when rotating, so it needs to do
very little.
* or in this case, defer some work until onResume

Bug: 3170922
Change-Id: Ie760125c5f32b293f8ba1753f2993de0d7439b56
ccountSettingsXL.java
f946ff001914abce9ea06b1ceecd29cdb7e10ef3 13-Dec-2010 Andy Stadler <stadler@google.com> Fixed issues that cause rotation to NPE

* Add the checker fragment (instead of replacing)
* Don't refresh progress/error dialogs until onResume (a bit later)
* Don't recreate terminal error dialogs that were automatically
regenerated by the fragment manager.

Bug: 3020074
Change-Id: Ia2947965b758f6846c62ac394ce51da2432523ee
ccountCheckSettingsFragment.java
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupOutgoing.java
3dedc8b19172066e45a146f1e5065d7cdc00236a 09-Dec-2010 Andy Stadler <stadler@google.com> Defragment AccountSetupBasics

* This was an early attempt at fragmentation
* But it turned out that no fragment was needed here - it is
not shared or reused in any way.
* Precursor to doing final layouts for the activity.
* Tested working:
Automatic provider lookup
Manual
POP/IMAP and EAS flow modes (from accounts & sync)
Force account creation intent
Provider note
Duplicate account detection

Change-Id: I434edd4b152391d36e70440873932db3ec1a1c99
ccountSetupBasics.java
ccountSetupBasicsFragment.java
68831e7c3470ef1ba76eee5367975c2d5d6f72b3 09-Dec-2010 Andy Stadler <stadler@google.com> Merge "Allow non-monkey creation of test accounts"
6175300474f01460523ccb3efc9f93722cadf2e0 09-Dec-2010 Andy Stadler <stadler@google.com> Allow non-monkey creation of test accounts

* Set the debugging flag to allow it
* Add STOPSHIP (it cannot go out like this)

Bug: 2735784
Change-Id: Id5d162f7f1879b76004a24d5d81e769b06ef8d29
ccountSetupBasics.java
6a78be96231ff0731f4a5bb08a65bdf589801246 08-Dec-2010 Andy Stadler <stadler@android.com> Merge "Add preference for background downloading"
f983c75b447485fc64c073ab57239c5d15834b66 08-Dec-2010 Andy Stadler <stadler@android.com> Add preference for background downloading

* Defaults to false
* Placeholder text

Change-Id: I7c729eddb7b4d368a0ac47552c911d2ef11b3ee1
eneralPreferences.java
3a4b9e140e6649062117f32d850951bd928f0fd7 08-Dec-2010 Andy Stadler <stadler@android.com> Fix failing tests in AccountSetupExchange

A recent change was short-circuiting the logic that loads
the UI from the account. This fix simply resets the flag
so the test can reload the UI multiple times as it tests things.

Change-Id: I7cc53e2766b78172e5a7b05088e94fdec99ae0d6
ccountSetupExchangeFragment.java
d685b469c73c3479c09301da2e65cd7c11fd4ace 05-Dec-2010 Andy Stadler <stadler@android.com> Add magic intent to force account creation

* Add entry point via com.android.email.CREATE_ACCOUNT
* Enable when in monkey mode only
* Walks through setup screens as if auto-populated and as if
connection checking always succeeds.
* Refactored some common code in AccountSetupBasicsFragment
* Removed obsolete commentary about auto-population of EAS accts
* Also fix minor typo in FLOW_MODE_ACCOUNT_MANAGER_POP_IMAP

Bug: 2735784
Change-Id: Ie7363836cd267673e963e60ae8bc32cab422576e
ccountSetupBasics.java
ccountSetupBasicsFragment.java
ccountSetupNames.java
ccountSetupOptions.java
etupData.java
112ed496f817ebeab6b1ee1d5117259ef80342b2 03-Dec-2010 Andy Stadler <stadler@android.com> Update server settings to current look

* For each of incoming, outgoing, exchange fragment, create a "settings
mode" which slightly alters the layout for use in AccountSettingsXL.
* Build a settings mode wrapper layout around the basic fragment
* Add new constructor to set "settings mode" and select layout
* Add wiring for cancel/next buttons in the fragment
* AccountSettingsXL configures each fragment in its settings mode
* Remove old actionbar "Next" options (no longer needed)

TODO: Pixel perfect adjustments, colors, fonts, etc.

Bug: 3188951
Change-Id: Iba26281b214333db301dd40d6c016b6c5a932c2d
ccountServerBaseFragment.java
ccountSettingsXL.java
ccountSetupExchange.java
ccountSetupExchangeFragment.java
ccountSetupIncoming.java
ccountSetupIncomingFragment.java
ccountSetupOutgoing.java
ccountSetupOutgoingFragment.java
97874770fc7cbe6a89a6ea706658fb42dff77a95 30-Nov-2010 Andy Stadler <stadler@google.com> Move "Add Account" to ActionBar

Not currently enabling/disabling properly, filing a framework bug.

Bug: 3188951
Change-Id: I9c8900187048f548411a23c2a1b0208c79fc0a24
ccountSettingsXL.java
1f3e117951e5ffe97a30bdd61c1cf99759f15406 23-Nov-2010 Andy Stadler <stadler@google.com> Fix rotation problems in setup/settings

* Fix incomplete tracking of mLoaded flag
* Defer validation on automatic reload of fields (on rotation)
until reconstruction completes and we're ready to do validation.
* (For Incoming only) Split loadSettings into configure and reload phases;
We need to configure the UI every time we restart, but we don't want
to reload & overwrite user-entered values on rotation.
* (For Exchange only) Properly show/hide trust certificates options on
rotation, and show/hide divider too.

Bug: 3170922
Change-Id: If3de30ee2d4d5668b29698af73f545510692777e
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
e6c6587b04a589eeb04006f75759c09ea10811e0 17-Nov-2010 Andy Stadler <stadler@google.com> Create XL layouts for incoming, outgoing, exchange

* Create XL fragments (will be shared w/settings)
* Create XL landscape activities
* Create XL portrait activities
* Placeholders left for integration with settings - remove in settings CL
* Quick fixes (non shipping) for phone UX
* Update existing portait next/prev buttons per new wireframes

Bug: 3188940
Change-Id: Ied6e7fd1e968fd6db57607a68dabf7e00ba78ee6
ccountServerBaseFragment.java
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupOutgoing.java
ccountSetupOutgoingFragment.java
7fd78d8d6184384cd2393849a554cce58e71180a 16-Nov-2010 Andy Stadler <stadler@google.com> Create XL layouts for AccountSetupOptions

* Landscape and portrait layouts
* Quick fixes to phone UX (not shippable)
* Added some CHAR_LIMIT values

Bug: 3188940
Change-Id: I093d5a6dcde2da96c173b5878900114802aead3e
ccountSetupOptions.java
17adb23fb41350370d7d138a9bc53abd3f203230 15-Nov-2010 Andy Stadler <stadler@android.com> Preliminary XL version of Account Names screen

* Add new account names layouts for XL devices
* Placeholder UX for phones

Bug: 3188940
Change-Id: I8c9d0793b004af5f5b66070fd18ecb46fc6f1612
ccountSetupNames.java
27c70e332231aea5cbe7813d8256e9f873d13b39 15-Nov-2010 Andy Stadler <stadler@android.com> Preliminary XL version of Account Type screen

* Add new account type layout for XL devices

Bug: 3188940
Change-Id: I12ebe60075971fa14c7c55be65dccc0b7602f566
ccountSetupAccountType.java
7988164ddfdf2837314fa1763614422bcc90867b 15-Nov-2010 Andy Stadler <stadler@android.com> First pass of XL account setup

* AccountSetupBasics now has an XL version
* This is from prelim wireframes
* Final colors, text size, and positioning all TBD
* Fixed a StrictMode violation (counting #accounts in onCreate)
* Lightweight (non-shippable) fixes for functional phone UX

Bug: 3188940
Change-Id: Idf6cb514208eba07eaa20b20abfd5fcc3dae1751
ccountSetupBasics.java
ccountSetupBasicsFragment.java
992b7e7ed34334a622d8ccb1d2f692a83a15360e 05-Nov-2010 Andy Stadler <stadler@android.com> Handle clicks outside of the "checking..." dialog

* Clicking outside of the dialog actually "cancels" it
* Need to shut down the checker so it doesn't keep trying to
update it or close it when done.

Bug: 3120019
Change-Id: I5faa3c78b64d2aafc472b03b8086695edaf0b3fd
ccountCheckSettingsFragment.java
9ce244b2e3382f20e762154e23cb623bc0151fc9 05-Nov-2010 Andy Stadler <stadler@android.com> Hide vibrate notification option on no-vibrate devices

* Check for existence of vibrator, hide option if appropriate
* Notifications with vibration are still OK, they are just ignored
* Minor cleanups & renaming

Bug: 2988758
Change-Id: Ia1fd259f57d33a75a54cf1016f66a1c072aba579
ccountSettingsFragment.java
ba4e72a9474bcbe33a8001a1964a02cb41ea08bb 03-Nov-2010 Andy Stadler <stadler@android.com> Cleanup various IMAP/POP manual account setup defaults

These defaults affect manual setup only. There should be no changes
observed in automatic setup, and no changes observed in EAS setup.

* user $email instead of $user as default login
* guess "imap." or "pop3." for server name
* propagate the incoming server name to the outgoing server name, and
replace "imap.", "pop3." or "pop." with "smtp."

Also, fixed a couple of leftover places where we were trimming
passwords (and should not be, since some people insist on having
spaces in their passwords.)

Bug: 2978634
Change-Id: I9b0e345aa9550b5e1cc29aaa22109f03da61af20
ccountSettingsUtils.java
ccountSetupAccountType.java
ccountSetupBasicsFragment.java
ccountSetupIncomingFragment.java
ba0b1bbc8d7cd546d548cea1e4f097462e1fb324 02-Nov-2010 Andrew Stadler <stadler@android.com> Implement text zoom for Message View

* Add preference for default text size
* Move saveSettings logic into onPreferenceChange handler
* Per user tests, default setting is large (not "normal") for XL devices.
* Use setting in MessageView's WebView

TODO: Investigate zooming header (to/from/subject/etc) as well.

Bug: 2282390
Change-Id: If32ed3626244b046941a461f974b3dbdb535f592
eneralPreferences.java
278cb8e3d5f4427ccd0e6d6f8f6996e10bede87c 02-Nov-2010 Marc Blank <mblank@google.com> Merge "Support EAS in providers.xml files"
cd09545b87979fa6b4337f17b5a001f0ef7b5269 02-Nov-2010 Andrew Stadler <stadler@android.com> Provide runtime switch for GL acceleration

* new checkbox in debug fragment
* saved value in prefs so it's sticky
* each Activity calls a helper to enable/disable per that flag

Change-Id: I1af1ae9f401bc746cc97da00dfb0e06407b79d46
ccountSecurity.java
ccountSettingsXL.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
ebugFragment.java
bbe25adfc87bf72cd031969bb736833780c1dd1d 01-Nov-2010 Makoto Onuki <omakoto@google.com> Fix crashes related to readParcelable

We need to pass the actual class loader. Passing null makes it use
the boot class loader, which can't find our classes.

Bug 3073304

Change-Id: I1c72c1d352cfc0a730aba1d83eb048a8cfa95b67
etupData.java
bd29c3090305ce415fb29ba7af339a1359c746d3 01-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> SharedPreferences commit -> apply

Change-Id: Icdca00268a8b5ea274c91366867172ee7e3841d4
ccountSettingsFragment.java
4afdd19e20e99e60ef98f5239c91c0d1f848c324 29-Oct-2010 Marc Blank <mblank@google.com> Support EAS in providers.xml files

Bug: 2962123

Change-Id: I661c52afcf36e337e29bb10fd878196a3b0147ae
ccountSetupBasicsFragment.java
4a66884b74dab846c76cb284d10be1d7ac85971d 27-Oct-2010 Marc Blank <mblank@google.com> Merge "Use notifications for login failures"
d3e4f3ca7e43fb7ebaa140f93a44a1fb96a0577e 18-Oct-2010 Marc Blank <mblank@google.com> Use notifications for login failures

* For now, clicking on the notification takes the user to the
Welcome activity, as we don't have final flows for the new
account setup UI
* Need comment on strings; the problem is that notification
text must be rather short if we're to use the standard
notification display. It looks like newer UI will allow
3 lines instead of 2, however.
* Tested w/ IMAP, POP3, EAS, and SMTP

Bug: 2322253
Change-Id: I7ed6fa5599179870cbcdb14af062e956eff37ec5
ccountSettingsXL.java
ffd258d8736a1371f4d832c06a1aa0da5c05fc59 26-Oct-2010 Makoto Onuki <omakoto@google.com> Fix the class name in the log.

Change-Id: Ie672f2e65b28dc742cce561d13aa3016d8bbb1f1
ccountSettingsFragment.java
43f2321d10a9ec3efd649cd257aee8d88ea87e08 11-Oct-2010 Daisuke Miyakawa <dmiyakawa@google.com> Modify code style.

Change-Id: I40eeb738ca2dcc7f21ddbc603b03debde5ac27d3
ccountSetupBasics.java
9dac94975f31013d4b31ffb15eba27f352b2e758 07-Oct-2010 Daisuke Miyakawa <dmiyakawa@google.com> Use AccountAuthenticatorResponse properly.

Current implementation ignores callbacks coming from
AccountManager, which should be called everytime
when this Activity finishes its job.

Bug: 3069222
Change-Id: Iea03cf94bdfe8da184e415bf7e759ddeb46ecdd9
ccountSetupBasics.java
cae8626fb93f4ac3ada998a7f8de22ecc3d9a052 08-Oct-2010 Marc Blank <mblank@google.com> Handle "Sync Email" properly from AccountSettingsFragment

Bug: 3055326
Change-Id: I7ecc7eda975f0ec03d3d81ed042842eab2c94d4e
ccountSettingsFragment.java
1a0b0092e0deba07b7dcb543a837fbc116584389 01-Oct-2010 Makoto Onuki <omakoto@google.com> Add "Clear WebView cache" button to debug preference

Change-Id: I317b57cb06b071f9574077b58998aafcb5e0dff8
ebugFragment.java
14a5d8d947972f8a05bed80549bde2b99cfb2a8b 30-Sep-2010 Marc Blank <mblank@google.com> Provide better information w/ 500 error in EAS validation

* HTTP error 500 occurs with Exchange 2003 when the user tries to
authenticate with wrong credentials; we report this as "Cannot
connect to server", which is wrong
* Error 500 is supposed to mean "internal server error", but since
we know that an authentication error can cause this, we now put
up a better error message

Bug: 2933381
Change-Id: I9319a5ed6fbf4c92739f305b42b6b1cad7036a4b
ccountCheckSettingsFragment.java
899c5b866192a4c4a12413446d10e5d98dbf94fa 27-Sep-2010 Makoto Onuki <omakoto@google.com> Switch to tablet style notification

- Now we show separate notification for each account
- New notification has sender photo, sender name, and subject
of the latest email
- Added the NotificationController class, which is intended to manage
all notifications besides "new message" eventually.

The framework doesn't seem to be 100% ready, and it's not clear how to
add the 3rd line in the expanded notification at this point. Need to
revisit it later to verify UI details.

Change-Id: I40193ee372cb6b2b7245c1588890f238b2469699
ccountSettingsXL.java
d22651ccd14939dc287cb32bf5403f5bb51aaeac 29-Sep-2010 Andy Stadler <stadler@android.com> am 060b1df0: am a9bc41f5: Show server name instead of account name

Merge commit '060b1df06954be1d72a659b0f00e30b8057484e0'

* commit '060b1df06954be1d72a659b0f00e30b8057484e0':
Show server name instead of account name
a9bc41f5ecea991d06b88ce861a412288303e9dd 29-Sep-2010 Andy Stadler <stadler@android.com> Show server name instead of account name

The format string "The server %s requires that you allow it to remotely
control some security features of your phone." was being displayed with
the account name instead of the server name.

Bug: 3011124
Change-Id: I1aadb5790297777831dd69f04ea89641240b7b87
ccountSecurity.java
02a0edb60d0a0dfeffd2bf09ed2ba51f34926ded 27-Sep-2010 Andy Stadler <stadler@android.com> Allow spaces in passwords DO NOT MERGE

* Separate/identical fixes for incoming, outgoing, exchange
* Unit tests
* Some protocols will fail anyway (e.g. POP3)

Bug: 2981433
Backport from: I82984e5912fc7fcb88e747815d0fe33cb36605e7

Change-Id: I49d5c13137e4f78b6fa0f9ce288c1a78ff028f88
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupOutgoing.java
fb4333b3a5051b08d3a255000bb1b8331e2a1d43 25-Sep-2010 Andrew Stadler <stadler@android.com> Allow spaces in passwords

* Separate/identical fixes for incoming, outgoing, exchange
* Unit tests
* Some protocols will fail anyway (e.g. POP3)

TODO: Some sort of warning (master only - won't backport that)
Bug: 2981433

Change-Id: I82984e5912fc7fcb88e747815d0fe33cb36605e7
ccountSetupExchangeFragment.java
ccountSetupIncoming.java
ccountSetupIncomingFragment.java
ccountSetupOutgoing.java
ccountSetupOutgoingFragment.java
d46952e7b0d47a4150d140502caf34e3a5276dd8 22-Sep-2010 Marc Blank <mblank@google.com> DO NOT MERGE: Test validity of port numbers in account setup

Bug: 1712475
Change-Id: Iced4875379a804b5072e4df0af25db7bf9473131
ccountSetupIncoming.java
ccountSetupOutgoing.java
550aa6163fdb9681d6adee018a313d5f82629b34 10-May-2010 Makoto Onuki <omakoto@google.com> DO NOT MERGE: Clean up member variables.

- Fix misnomered fields. (e.g. static mMember -> static sMember)
- Reduce visibility. (e.g. mark as private)
- Mark final / static if possible.

Note it's on master.

There's a lot more cleanup oppotunities in the activities, but they're going
to go through a major overhaul, so I didn't bother.

Backport of b3f7dd0169a35221184b9327c8ce337b09dc6d1f

Change-Id: Ic33f9518f23805716e2aec0ab42edb92107e066c
ccountSetupCheckSettings.java
ccountSetupIncoming.java
ccountSetupOutgoing.java
pinnerOption.java
e36b6ff4fa808afa84dc09fa82587dae106c8d3d 15-Sep-2010 Andrew Stadler <stadler@android.com> Fix debug logging controls

* Assign "enable exchange parser logging" from Eas.PARSER_LOG instead
of from EAS.USER_LOG.
* Reorder setup to assign listeners last; This avoids unnecessary calls
to Email.updateLoggingFlags() during setup.

Note: The bug exists as far back as eclair, but the fix will need to be
made in a different file in earlier versions (pre DebugFragment)

Bug: 3003813
Change-Id: I5d8f66747a86139dd593ac16ea421ab1e33b8795
ebugFragment.java
a2cc46c810eb802c172a4af8ecc67fca53dd584f 13-Sep-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2967969: Crash rotating screen on "delete account" dialog

Update settings to use to PreferenceActivity APIs to retain its
current state across instances. Removes
inheritance of Header (to work well with new framework impl that
retains these across instances), avoid resetting the current header
after a state change (we want to keep showing whatever the user
last viewed), put the dialog on the back stack (so it will get
removed if the back stack is cleared).

Change-Id: Ie35b1c0eb9b06277165f2b9cadb0e2999bb8af47
ccountSettingsFragment.java
ccountSettingsXL.java
5b2424bf6f32fdfd65b02a9a311e7226dc48f1c1 13-Sep-2010 Andrew Stadler <stadler@android.com> Cleanup of Account setup flows

* Remove AccountSetupCheckSettings and related resources
* Remove all handling of EDIT flow in setup activities

Change-Id: I7b87d87978533b52b9c974d006920749389418d8
ccountSetupCheckSettings.java
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupOutgoing.java
2731aef45c6f2f9792ae698ebf7d65ca6338a02c 13-Sep-2010 Andrew Stadler <stadler@android.com> Convert exchange setup to use checker fragment

* AccountCheckSettingsFragment now supports AutoDiscover
* Clean up callbacks for account check & autodiscover errors
* AccountSetupExchange now supports rotation
* Remove dead code in SetupData & AccountSetupBasics

TODO next CL: Remove all edit flows from setup activities
TODO next CL: Remove old CheckSettings activity

Change-Id: I3c9884856ca6e70226374fdb28400bfb3588387e
ccountCheckSettingsFragment.java
ccountServerBaseFragment.java
ccountSettingsXL.java
ccountSetupBasics.java
ccountSetupBasicsFragment.java
ccountSetupExchange.java
ccountSetupExchangeFragment.java
ccountSetupIncoming.java
ccountSetupOutgoing.java
etupData.java
fd14496c494a0d38c35c3788c9cc55f1984592e4 11-Sep-2010 Andrew Stadler <stadler@android.com> Convert setup to use checker fragment

* Activities modified to use new check-settings fragment:
* AccountSetupBasics (auto-setup for imap/pop)
* AccountSetupIncoming
* AccountSetupOutgoing

Next CL: Same work for exchange, and terminate old CheckSettings activity.

Change-Id: If5c5bfe331161b2429f7d7a4bd13290932f03c47
ccountCheckSettingsFragment.java
ccountServerBaseFragment.java
ccountSettingsXL.java
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupExchangeFragment.java
ccountSetupIncoming.java
ccountSetupIncomingFragment.java
ccountSetupOutgoing.java
ccountSetupOutgoingFragment.java
6d51b7eb630d3b2632b44699e14730eb7b995f78 06-Sep-2010 Marc Blank <mblank@google.com> Properly report EAS protocol version failures

Bug: 2528554
Change-Id: I9ac2520528ebe23dc0d465aee65ab470f8f429a7
ccountCheckSettingsFragment.java
ccountSetupCheckSettings.java
0f52e546ef662e126b7360ad69c8c8f838789ef3 10-Sep-2010 Makoto Onuki <omakoto@google.com> Implement General Preferences

- Removed the place holder setting
- Added "auto-advance" setting, which has "newer",
"older" (original behavior, default) and "message list"
- Strings were copied from Gmail

This CL has preference change only (i.e. the setting isn't used yet).
The actual implementation will come later.

Change-Id: I9f90a723c67e066fdc536a73490101817a127933
ccountSettingsXL.java
eneralPreferences.java
c164444784d0cecfc823934bf0bcf22286671202 10-Sep-2010 Andrew Stadler <stadler@android.com> Cosmetic cleanup of exchange setup

* Remove nonfunctioning Next button
* Enable Next button on name screen

Bug: 2988925
Change-Id: I9de7d8dc5b6f48b6c11676b7eef478495afcc889
ccountSetupNames.java
4c3a8ede019f8683a7d15defd995790c4b5ebdac 09-Sep-2010 Andrew Stadler <stadler@android.com> Quick fixes for account setup unit tests

Some of these broke in 8bcb572ccfdac6974c111fe6dfc753a5e0d4e7ca
which changed the [Next] button to an ActionBar menu item.

However, the entirety of AccountSettingsXLTests needed to be disabled
because the PreferenceActivity is very different on phone or XL sized
devices, and the tests infrastructure will need to be refactored to deal
with that (on another day.)

Change-Id: I9adbfc9b8da6179e4c4e82d29bb872ee05619a41
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupOutgoing.java
8bcb572ccfdac6974c111fe6dfc753a5e0d4e7ca 09-Sep-2010 Andrew Stadler <stadler@android.com> Convert setup to actionbars, and holo theme

* All setup activities given UI makeover:
* Remove legacy themes from manifest - exposes default holo theme
* Remove bottom row button(s)
* Replace with action bar button(s)
* No change to workflow or activity/fragment organization

Change-Id: I07ce11a0a2b4b767b5ac111d466e68400fe0f30b
ccountServerBaseFragment.java
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
55110ca1ad8ce48a5429f9f351d013691c10b806 08-Sep-2010 Andrew Stadler <stadler@android.com> CheckSettings as a true fragment

* Create new retained fragment + asynctask as the worker
* Stateless dialog fragments for everything else (progress & errors)
* Used for account settings, incoming & outgoing, only so far

TODO: Support for account setup workflow
TODO: Support for autodiscover workflow
TODO: Remove old checker activity when complete

Change-Id: I1fdafa1a51c53b934e59ea4af7d3e0ac24a3da17
ccountCheckSettingsFragment.java
ccountServerBaseFragment.java
ccountSettingsFragment.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
ccountSetupOutgoingFragment.java
1a5e1e159352f6e21bde878eebca3e3a1896045c 03-Sep-2010 Andrew Stadler <stadler@android.com> Use real fragments for incoming/outgoing/exchange settings

* From account settings, switch to incoming/outgoing/eas fragments
* Show "Next" button in actionbar (may be dup'd in single-pane view)
* Common base class for in/out/eas fragments
* Depends on PreferenceActivity.startPreferenceFragment(), new API
* If the user clicks an account header while editing server settings,
present a dialog before discarding the changes that haven't been
checked yet.
* Confirm working (if a bit ungainly in appearance) on phone screen

Change-Id: I03591b9a8ffd11fe26fc6f58a5698740e61d0090
ccountServerBaseFragment.java
ccountSettingsFragment.java
ccountSettingsXL.java
ccountSetupExchange.java
ccountSetupExchangeFragment.java
ccountSetupIncoming.java
ccountSetupIncomingFragment.java
ccountSetupOutgoing.java
ccountSetupOutgoingFragment.java
9c65c146f3d8e60f35f46c815d4121749ad13abd 02-Sep-2010 Andrew Stadler <stadler@android.com> Direct access to edit specific account settings

* Finish implementation of AccountSettingsXL.actionSettings()
* Point account manager entry point at it now
* Remove old AccountSettings activity
* Move AccountSettingsTests over to AccountSettingsXLTests and minor
cleanups so it works in fragmentized activity.

Change-Id: I5f979a3a9a29dcbbe5a63833b184e6c0313652d5
ccountSettings.java
ccountSettingsXL.java
b387560384d38e3280090176a0f3b2cf8b1f9ab5 01-Sep-2010 Andrew Stadler <stadler@android.com> Move Add Account button to new Footer position

Change-Id: I662f6cbfd8db80f4b383e6204afcf460764f4d4c
ccountSettingsXL.java
57f125a01b5fbb5860b144b3057153a50d07ddd1 26-Aug-2010 Andrew Stadler <stadler@android.com> Move debug settings from own activity to setting fragment

* Add DebugFragment and incorporate it into AccountSettingsXL
* Tap "Email preferences" 10 times in a row to enable debug settings.
(Or type D E B U G works as well.)
* Point broadcast receiver (*#*#EMAIL#*#*) to AccountSettingsXL
* Remove old debug launchers in AccountFolderList
* Remove old Debug activity

Change-Id: Ib289c42878a07c23f815654ce4570c1399aa49de
ccountSettingsXL.java
ccountSetupBasics.java
ebugFragment.java
64b64cca01c1a827c1b3824f099fd638cfb15826 27-Aug-2010 Marc Blank <mblank@google.com> Rename SyncManager to ExchangeService

* Updated comments and checked for 100-columns

Change-Id: I4ab5aaa9425714f8e035e1952db3fec63d498ae1
ccountSetupExchangeFragment.java
ccountSetupOptions.java
bd3e7777c58d4ffef41922b1e7e0d3ccbbb78ca3 26-Aug-2010 Makoto Onuki <omakoto@google.com> Fix broken breakage introduced in I2a7fec0d

This file was left unchanged somehow...

Change-Id: I1b441731c71b63401c8b756e8e591c3018c07e35
ccountSettingsXL.java
464d1f95b725fb22d701bd7b55d6d682ad4d3cbf 26-Aug-2010 Andrew Stadler <stadler@android.com> Finish delete account functionality

* Wire in delete account functionality
* Minor cleanups
* Update TODO list

Change-Id: Id9852eb833b0b4e4e8233620412e475815e537ef
ccountSettingsXL.java
a14a24a5bc2ffa426f7ef8e5e6938cffe3f35829 20-Aug-2010 Andrew Stadler <stadler@android.com> Add Add & Remove Account options to AccountSettingsXL

* Add account is a large (+) in the action bar
* Remove account is a new item at the bottom of the settings fragment
Note: Add account works, remove account just toasts for now.

Change-Id: I5b3b8ab8c7d328cb78d103c47b9eca866466f9df
ccountSettings.java
ccountSettingsFragment.java
ccountSettingsXL.java
51224176259b1b3126087c69814ccf652cb398b9 19-Aug-2010 Andrew Stadler <stadler@android.com> Make AccountSettingsXL the main settings UI

* Connect to it from all call sites
* Remove 1-pane and 2-pane icons
* Leave a few more breadcrumbs for launching into specific account
* Update the long TODO list in AccountSettingsXL

Change-Id: I502eda9a622518e8d4a23d46989340ad400cdd34
ccountSettings.java
ccountSettingsXL.java
2ae2a12d6b049a4347c0781bd4daa17229bf1340 18-Aug-2010 Andrew Stadler <stadler@android.com> Initial implementation of SettingsXL (checkpoint)

* Create AccountSettingsXL
* Build headers dynamically based on accounts
* Launch account settings per-account
* Temporary launch point from menu in AccountFolderList

TODO: Fragment flip to incoming/outgoing/checksettings not implemented yet
TODO: Use more recent updates to PreferenceActivity
TODO: Finish plumbing into account settings fragment
TODO: Something more real for app settings

Change-Id: I6f4c5bb8cf691f25517c25950ef2049084335ce3
ccountSettings.java
ccountSettingsFragment.java
ccountSettingsXL.java
7b5c5cf2a993d68bb8fe1a65bde3184e8d59c10f 16-Aug-2010 Andrew Stadler <stadler@android.com> Use new fragment API features for dialog fragments

* Use fragment arguments for dialog parameters
* Use target fragments to report ok/cancel

Change-Id: Id2a4cc91b1f589273b1000dca30e8c2feff6d32e
ccountSetupBasicsFragment.java
ccountSetupExchangeFragment.java
ccountSetupIncomingFragment.java
uplicateAccountDialogFragment.java
641ae4535828028a19bf7989c75d71caf75ec2dd 12-Aug-2010 Andrew Stadler <stadler@android.com> Fragmentize Exchange setup

Change-Id: Ib331d9a7f7be7acbfe355d6a03d9ae07af0cc627
ccountSetupExchange.java
ccountSetupExchangeFragment.java
faaa115e1a52eda9e675f9da5982c7a52b382336 11-Aug-2010 Andrew Stadler <stadler@android.com> Fragmentize outgoing settings (SMTP)

Also fix a small NPE in AccountSetupIncoming

Change-Id: I5728a10889a3f0f35d31962f4a13ccae4ec0393b
ccountSetupIncoming.java
ccountSetupIncomingFragment.java
ccountSetupOutgoing.java
ccountSetupOutgoingFragment.java
1b156352f3fc160da5ba050c2437bcd1c995b326 10-Aug-2010 Andrew Stadler <stadler@android.com> Fragmentize Incoming settings (IMAP/POP server)

Also, extract DuplicateAccountDialogFragment for reuse.

Change-Id: I042a158e264d949024347d477d6e9ec999c244d3
ccountSetupBasics.java
ccountSetupBasicsFragment.java
ccountSetupIncoming.java
ccountSetupIncomingFragment.java
uplicateAccountDialogFragment.java
b98f219cf088fef9288045813c963be070dde9d0 10-Aug-2010 Makoto Onuki <omakoto@google.com> Open 2 pane after adding an account.

- After adding an account, and when a shortcut to an account is clicked,
launch Welcome instead of MessageList.
- Then welcome launches the appropriate activity.
(MessageList or MessageListXL)

- Welcome no longer launches AccountFolderList, which will be gone
according to the current plan.

Always going through Welcome makes sure that the account backup/restore
and the reconciler will always get kicked.

Change-Id: Ia57027eba16e98c5d8854e8d3c1d8773bcfbf1e5
ccountSetupBasics.java
a75bab550423e0cd0b2d58379d8210ce6c7c7aa9 10-Aug-2010 Andrew Stadler <stadler@android.com> Fragmentize AccountSetupBasics

Change-Id: I99eb4cd4f8aa80d25a01d720244ccee599cba1d8
ccountSetupBasics.java
ccountSetupBasicsFragment.java
71cc035c55079bf89283d0acd4ff2712f75a82e1 09-Aug-2010 Andrew Stadler <stadler@android.com> Fragmentize AccountSettings

This is phase 1, which simply replaces the phone UX with a fragment-based
equivalent. A subsequent CL will convert it to a large-format multi-pane
version.

Also fix a latent bug in the signatures of the Incoming & Outgoing
settings, both in the reflection code and in the proguard flags.

Change-Id: I86e857af8b9573c0d6070bb21053ce65bb7fe8a0
ccountSettings.java
ccountSettingsFragment.java
bcf32320e2600e96c8a9e997a8903bfc3893b35e 27-Jul-2010 Makoto Onuki <omakoto@google.com> Move isSecurityHold/clearAccountHoldFlags to Account

- Added unit tests
- I see the "open a cursor, move to the first row, read a column" pattern over
and over. Added a utility method for this. (Let's try not to bloat the
binary by copying code around!)
- Added helper classes for database related tests
- Removed code dup

Change-Id: I380959215cc1661b252158f0f6e35369b499cdf8
ccountSecurity.java
ccountSetupNames.java
e6cc662abc0b5fffe223cda5e980b4f05a4e91dd 08-Jul-2010 Marc Blank <mblank@google.com> Use AccountManager for POP/IMAP; refactor setup classes

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
ccountSettings.java
ccountSetupAccountType.java
ccountSetupActivity.java
ccountSetupBasics.java
ccountSetupCheckSettings.java
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
etupData.java
42e3f10a9575e277ba6f121e6cac56ddb02fda12 01-Jul-2010 Makoto Onuki <omakoto@google.com> Use "*#*#36245#*#*" to activate the debug screen.

Dial *#*#36245#*#* on the dialer to activate the debug screen.
"36245" = "email"

It's useful when
- There's no keyboard.
- There's no account set up yet.
(You can do it by entering the special username/password on new account
screen, but that's a bit of a pain.)

It's also easier to tell to people.

Also, removed "sensitive logging", which should never be used.

Change-Id: Id692f8b216f2d85abe1880c452d2067f170dac83
ccountSetupBasics.java
d6d874f8c6ce2580ef9ec2406fe411af45b2d92d 02-Jun-2010 Marc Blank <mblank@google.com> Streamline security setup flow

* The setup flow is changed such that the user is asked to activate
device administration before leaving the setup flow, rather than
having to wait for the notification to appear, etc.
* Accounts requiring security are created in a security hold state
to prevent initial sync until device administration is active

Change-Id: I7e33cf98466370ae27414b99018f7aee71e9e237
ccountSettingsUtils.java
ccountSetupCheckSettings.java
ccountSetupExchange.java
ccountSetupOptions.java
ccountSetupOutgoing.java
9d387ff0bb88ad952b53c956b468dcbcec248752 20-May-2010 Marc Blank <mblank@google.com> Fix validation use of FolderSync

* To avoid having to use a mock deviceId with FolderSync in validation, we now
simply use the real deviceId with the correct SyncKey ("0" for a new account,
or the actual sync key if the account already exists)
* Rework utility code that finds existing accounts
* Write unit test for findExistingAccount

Bug: 2589243
Change-Id: Ia532b2e209aec3aa01ca06617b4da78c3d986b32
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupIncoming.java
b3f7dd0169a35221184b9327c8ce337b09dc6d1f 10-May-2010 Makoto Onuki <omakoto@google.com> Clean up member variables.

- Fix misnomered fields. (e.g. static mMember -> static sMember)
- Reduce visibility. (e.g. mark as private)
- Mark final / static if possible.

Note it's on master.

There's a lot more cleanup oppotunities in the activities, but they're going
to go through a major overhaul, so I didn't bother.

Change-Id: I3fde73ba5f1f9ff675fff07c510e1e49521dde42
ccountSetupCheckSettings.java
ccountSetupIncoming.java
ccountSetupOutgoing.java
pinnerOption.java
1f2caa80957e92519258e212b5fd45fb6c168a73 07-May-2010 Makoto Onuki <omakoto@google.com> Fix 3 problems that FindBugs found.

Bug 2666278 [findbugs] broken double-lock pettern in Utility.FolderProperties.getInstance()
Bug 2666207 [findbugs] potential NPE in MessagingController.processPendingDeletesSynchronous()
Bug 2666195 [findbugs] Potential NPE in AccountSetupNames.onCreate()

Change-Id: I2ee5bd5b7c80f8bdd32b3c45abb655a3d3fb8c9e
ccountSetupNames.java
79ef52cfb33e9fb2a2e71d31e0b3810ed1babea5 15-Apr-2010 Andrew Stadler <stadler@android.com> Improve handling of UI reset cases

* When account disappears (e.g. delete from Accounts & Sync) the Welcome
activity should launch with FLAG_ACTIVITY_CLEAR_TOP to remove any
stacked activities as well.
* When account disappears entering AccountSetupNames, don't fall out
of Eas Flow Mode.
* Followup to 5e354cd1db1baabad061032af5a0632cd0f58d1a

Bug: 2563998
Change-Id: Ifbe086e26205bb28c2514f84cb28e839888b1eb0
ccountSetupNames.java
fa669234be7d74d1733c73a2f51aa91acaae639e 15-Apr-2010 Andrew Stadler <stadler@android.com> Safer error handling in AccountNames

The error handling for (mAccount == null) would crash. Use a simpler
path here and just abandon the setup process.

The root cause of this (the account being null) is probably solved
by 3ae84b247d1a416b91c6dc9585898108389e4e6c, but still a good idea to
clean this up.

Bug: 2558344
Change-Id: I3167234f99e9d39844f2b56a4d94f25465c7c269
ccountSetupNames.java
5e354cd1db1baabad061032af5a0632cd0f58d1a 14-Apr-2010 Andrew Stadler <stadler@android.com> Exit most activities when accounts are deleted

This resolves cases like this: You are in the inbox of an Exchange
account. You click home, settings, accounts & sync, and you delete
the account. Now re-enter the Email app. You'll be left in a strangely
empty inbox, for an account that no longer exists.

* Set a flag any time the reconciler deletes an account
* Check that flag in onResume of any activity that depends on the account
list and could be left in an "empty" state if account(s) are deleted.
* The Activities in which we check it are:
* AccountFolderList
* AccountSettings
* MailboxList
* MessageCompose
* MessageList
* MessageView
* Clear the flag any time we come in through Welcome, which will dispatch
to other activities properly based on the number of accounts found.

Bug: 2563998
Change-Id: I00fc542581c2bed92d744a4c2e48a88f83737f11
ccountSettings.java
12b4bc9e80ba3509abdcd94b61457cf54d57b726 13-Apr-2010 Makoto Onuki <omakoto@google.com> Show device id on the exchange setting screen.

I've attached a screenshot on the referenced bug.

Also fixed a bug in SyncManager.getDeviceId() where sDeviceId cache wasn't
working.

Bug 2591124

Change-Id: I4b58517c095a96d47fb57179d70091b2c7af5249
ccountSetupExchange.java
a87f8d8bbc0b704974c4230f518cf23b7215fc55 13-Apr-2010 Andrew Stadler <stadler@android.com> Changes to improve security policy setup

* SecurityPolicy: Fix bug that prevents any notifications after the
user hits "cancel all" from the notification pane.
* AccountSecurity: If the user cancels the device admin acceptance
activity, repost the notification.
* MesageList: Catch security hold condition when entering a mailbox, and
launch security setup activity.

Bug: 2585159
Change-Id: I60d5d8c693cc5f00fe98a9cc69265802f5bee813
ccountSecurity.java
63ab9de1b881bf1496228285511cab213501f404 06-Apr-2010 Andrew Stadler <stadler@android.com> Partial solution to make EAS setup respect "manual"

* Track whether the user clicked "manual" vs. clicking next (and falling
into "manual" because the account is not found in the providers list.
Convert this into an "allowAutoDiscover" parameter.
* Pass "allowAutoDiscover" down into AccountSetupAccountType and through
into AccountSetupExchange. (Note, it's unused/ignored for POP & IMAP
accounts and should not affect them.)
* In AccountSetupExchange, use the existing EXTRA_DISABLE_AUTO_DISCOVER
(previously only for testing) to suppress autodiscover in manual mode.

Bug: 2570919
Change-Id: I2583e00d1e6cc26bbd4b85134eddae8cc3a1f91e
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupExchange.java
9e2ddca59d048fc9ac55278b193ee36b330a7981 17-Mar-2010 Jim Shuma <jshuma@google.com> Add "vibrate when silent" mode to notifications

* Add "vibrate when silent" choice in UI
* Add storage for it in Email's provider. Existing accounts default to
their current settings (always vibrate / never vibrate).
* Respect new mode when notifications are posted
* Updated existing unit tests

Bug: 2457183
Change-Id: I5c933ac39dbef8b2028255f330e0b084a445421a
ccountSettings.java
b7fe21676ec46ce98e88bc181fc82a18e882236a 13-Mar-2010 Marc Blank <mblank@google.com> Prevent multiple calls to onDone() in AccountSetupOptions

* When "Done" is pressed in AccountSetupOptions and the Account is
EAS, the finish() isn't called until an async method's callback
is invoked (system account creation)
* This allowed the user to execute onDone() multiple times, each
one of which would attempt to create an account
* The net effect was the referenced bug, which can manifest in a
number of ugly ways
* The fix is to prevent multiple calls to onDone()

Bug: 2501574
Change-Id: I61057bbb8c1f85da07e83ed6c56474bfe4e23f6c
ccountSetupOptions.java
9f73249031303856670651305adff255a00918b7 04-Mar-2010 Andrew Stadler <stadler@android.com> Continuing work on account migration

* Prune all folders, messages & attachments that won't migrate
* Clean up SSL/TLS values for better connection results & security
* Move account setup lookup code to AccountSettingsUtils to share it
* Cleanup config/auto-rotation settings to prevent relaunch of
auto-discover or account check (from exchange).
* A couple of other very small fixes

Bug: 2065528
ccountSettingsUtils.java
ccountSetupBasics.java
ccountSetupCheckSettings.java
ccountSetupExchange.java
6d0016229adc13fefe68820fe4d6e46f530952ba 27-Feb-2010 Dianne Hackborn <hackbod@google.com> Move DeviceAdmin APIs to android.app.admin.
ccountSecurity.java
ec88f04deec5065ee521ee56684a6b804ee8edbd 23-Feb-2010 Makoto Onuki <omakoto@google.com> Merge "Patch for issue 2363606: Make EAS sync window default 3 days."
6854a4f24a0e93547fc7785553b7f53878a76e08 23-Feb-2010 Makoto Onuki <omakoto@google.com> Patch for issue 2363606: Make EAS sync window default 3 days.
ccountSetupOptions.java
5b46171b83d6a92d6cc84db24fb8815d4f8aa50c 20-Feb-2010 Marc Blank <mblank@google.com> Fix #2443881 (Don't display User name field for EAS account)

* Make the field and label GONE for EAS accounts
* Enable the "Done" button at all times for EAS accounts
* Add test case for this, and clean up bad formatting in tests

Bug: 2443881
Change-Id: Ic80b001e443fa37b7cfeb810b1f31edf22b065b9
ccountSetupNames.java
d71d0b223a5cd02e2a8f1ec5c3f8cebab170d65f 10-Feb-2010 Andrew Stadler <stadler@android.com> Force security activation after new account create

On new accounts, we can accelerate the process of setting up security
by explicitly checking (at the end of the security process). The user
is not required to "answer" the asynchronous notification.

This is an imperfect solution, as a slow initial sync could leave the
user in a non-synced Inbox (with a notification waiting for them), but
we can come back to this after we evaluate real-world performance.

Bug: 2387961
ccountSecurity.java
ccountSetupNames.java
2a5eeea9213005060256054ec773e72406415ce4 09-Feb-2010 Andrew Stadler <stadler@android.com> Adding security hold flag to accounts

* Add hold flag to Account flags
* Add code to set it (when EAS reports policy failure)
* Add code to clear it when we see changes from the device admin side
* unit tests

This should be sufficient to restart sync of an account which is on hold
due to security policy requirements. Note, this is considered a "retry",
and if the account still does not meet requirements for some reason, it
is expected that EAS sync will call policiesRequired() again.
ccountSecurity.java
3d2b3b3b3554be2ac23d9a49fee00faa9693e857 05-Feb-2010 Andrew Stadler <stadler@android.com> Logic to move phone into security-admin mode

* Create notification to display when syncs fail due to security
* Create psuedo-activity (no UI) to manage device admin state transitions
* Clean up and flesh out SecurityPolicy APIs'
* Add placeholders in EasSyncService showing how to react when policies
are not met and sync cannot continue.

Note: There are some STOPSHIP todo's at the top of SecurityPolicy.java.
These should explain any code that you might think is "missing".
ccountSecurity.java
a1550678af6a22a18ac0c9066105e1f101a545a5 05-Feb-2010 Andrew Stadler <stadler@android.com> Integrate policies into account setup process

* Rename SECURITY_POLICIES_REQUIRED to SECURITY_POLICIES_UNSUPPORTED
* Create new pathway for SECURITY_POLICIES_REQUIRED, making it advisory
* Cleaned up strings for account setup error dialogs
* Refactored AccountSetupExchange.onActivityResult() to split up the
three primary use cases, making them more readable.
* Always finish() in AcccountSetupAccountScreen, because it's usually
cleaner to return to the previous screen (enter username & password).
ccountSetupAccountType.java
ccountSetupCheckSettings.java
ccountSetupExchange.java
a1c997a2b6de19a4d397d9e14c0c3d91669d6b47 04-Feb-2010 Marc Blank <mblank@google.com> Add calendar sync checkbox to account settings screen

Bug: 2414157
Change-Id: I60ead139552f3e7c86b113f8b8b10ef3cf57abbf
ccountSettings.java
d9080ed32eba3092b21633f269ec4b71faf93a34 02-Feb-2010 satok <satok@google.com> Add UI for Signature in Email Application

Bug: 1323618

- changed summary of signature to show hint if signature is not set
ccountSettings.java
ccountSettingsUtils.java
91237e9dcb0a948f17488b464edabcea0f259d31 03-Feb-2010 Makoto Onuki <omakoto@google.com> Adding script for building Email app without exchange.

remove-exchange-support.sh makes it possible to build the email app without
exchange support.

This script:
- removes all packages under com.android.exchange.
- removes all lines surrounded by EXCHANGE-REMOVE-SECTION-START and
EXCHANGE-REMOVE-SECTION-END

And the resulting source should still build and run fine.

Bug: 2369784
ccountSettings.java
ccountSetupAccountType.java
8bb0ee3b924f6b0e948733dacac3228f88bd50dc 03-Feb-2010 Andrew Stadler <stadler@android.com> Fix auto-discover / account verification logic

New behavior:
* There are two primary paths through this activity:
* Edit existing:
* Load existing values from account into fields
* When user clicks 'next':
* Confirm not a duplicate account
* Try new values (check settings)
* If new values are OK:
* Write new values (save to provider)
* finish() (pop to previous)
*
* Creating New:
* Try Auto-discover to get details from server
* If Auto-discover reports an authentication failure:
* finish() (pop to previous, to re-enter username & password)
* If Auto-discover succeeds:
* write server's account details into account
* Load values from account into fields
* Confirm not a duplicate account
* Try new values (check settings)
* If new values are OK:
* Write new values (save to provider)
* Proceed to options screen
* finish() (removes self from back stack)
* Added unit test for new loadFields method

Bug: 2412300
ccountSetupExchange.java
9fe51f632965f5d085ae45a1089c7c97dcec8881 02-Feb-2010 Makoto Onuki <omakoto@google.com> Gather common exchange related methods into one place

So that it'll be easier to remove exchange dependency.
ccountSetupExchange.java
ccountSetupOptions.java
049509d10edc97eb2439ecae24445c526ba4cfef 02-Feb-2010 Makoto Onuki <omakoto@google.com> Merge "Move Eas.ACCOUNT_MANAGER_TYPE out of the package."
ecb1af804144689d4ead96a247b565f9b4eb8160 02-Feb-2010 Andrew Stadler <stadler@android.com> Finish up IMAP ID implementation

* scrub all external strings to keep them compliant for IMAP protocol
* move Build.MODEL to x-android-device-model
* send x-android-mobile-net-operator
* send AGUID
* unit tests for above
* retrieve providers from VendorPolicyLoader

Bug: 2332183
ccountSetupBasics.java
faed6178b1858f0e6df388a409d14fb3f94afefa 02-Feb-2010 Makoto Onuki <omakoto@google.com> Move Eas.ACCOUNT_MANAGER_TYPE out of the package.

Moved Eas.ACCOUNT_MANAGER_TYPE to Email.EXCHANGE_ACCOUNT_MANAGER_TYPE.

This constant is not related to the exchange protocol, and referred in
a lot of different places. Moving it out of the package will make it a lot
simpler when removing exchange dependency.
ccountSettings.java
e5c3c98e9a85198e0b023fd25529512baeb88cdb 01-Feb-2010 Makoto Onuki <omakoto@google.com> Fix confusing setup screen title.

Change the title of the screen for adding an exchange account from "Set up email" to "Add an Exchange account".

Bug: 2159019
ccountSetupBasics.java
f3fcb8929e3690bc092aec0d4d643b346f079acd 29-Oct-2009 Marc Blank <mblank@google.com> Implement Exchange calendar sync support

What should be working:
* Events sync down from server and appear in calendar
* Recurrences and exceptions appear in calendar
* Changed events on server should be reflected in calendar
* Deletions on server should be reflected in calendar
* Push of new/changed/deleted events should work
* Changes on device are NOT synced back to server
* New, single events on device are synced back to server
(no time zone, attendee, or recurrence support)
* Checkbox for syncing calendar added to setup flow
* System sync glue in manifest, etc.
* Bugs are to be expected
* A few unit tests; needs more

Change-Id: I7ca262eaba562ccb9d1af5b0cd948c6bac30e5dd
ccountSetupOptions.java
f613489663cdc5df71b029dfcec5fd3c5173a549 27-Jan-2010 Makoto Onuki <omakoto@google.com> Add "vendor policy" loader, and alternate exchange descriptive text.

- Dynamically switch to the alternate exchange strings to substitute overlays.
- Added the mechanism to load the "vendor policy", which tells you when the
alternate strings should be used.

Bug: 2382710
ccountSetupAccountType.java
ccountSetupBasics.java
46199c65a357de63ae2899b90d5e0b70a1b7421f 27-Jan-2010 Marc Blank <mblank@google.com> Fix #2382368 (NPE in AccountSetupExchangeTests)

* AccountSetupExchange defaultly tries using EAS AutoDiscover, which isn't
appropriate in the unit test setting
* Add an Intent extra to disable AutoDiscover and use it in unit tests

Bug: 2382368
Change-Id: I3d4e8d7194b02da44ad583da0cf2fe60ffb19311
ccountSetupExchange.java
d612717340b2670776a75a1d2e9e3df81fd4c052 21-Jan-2010 Andrew Stadler <stadler@android.com> Backup/Restore accounts - bugfix

* Followup to 5e91cccd
* Workaround for (HTC bug: 2275383) & (Moto bug: 2226582)
* Restores mSyncKey as null instead of empty string, which is how
a new account is initialized. Bug: 2385980
* Cleanup synchronized logic in backup & restore
* Minor cleanups & improved comments
ccountSetupOutgoing.java
5e91cccd4b530eb2aeace5c5bf4f3328a5b5d69d 20-Jan-2010 Andrew Stadler <stadler@android.com> Quick backup/restore of accounts

* Workaround for (HTC bug 2275383) & (Moto bug 2226582)
* Adds checkpoints for backing up and restoring accounts
* Uses legacy Account / prefs to back up accounts - this is because
some of this code will be reused for legacy account migration
* Unit tests of Account & LegacyConversions
* Unit tests of backup & restore
* Not done: testing of EAS/Account Manager interface (this will require
deeper dependency injection, to avoid the embedded calls to the Account
Manager and other system services.)
ccountSettingsUtils.java
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupNames.java
ccountSetupOutgoing.java
0b8b68cbebdba372c7302a207e2321cd80b384ae 17-Jan-2010 Marc Blank <mblank@google.com> Fix account creation race condition

* Due to the order in which account creation occurs in the Provider
and in AccountManager, and the fact that there are data observers
on each that initiate account reconciliation, a race condition exists
that can cause either of these accounts to appear to be orphaned,
and thereby get deleted
* We add an "incomplete" flag to the Account in EmailProvider and
set/clear it during account creation. The various reconciliation
methods will ignore accounts marked as incomplete.

Bug: 2353755
Change-Id: I13fb144dd857f839eb3471b01f271f3a0d4d8159
ccountSetupOptions.java
74724af62c10eeb685a67057c36d3cac8cfb691f 15-Jan-2010 Marc Blank <mblank@google.com> Fix autodiscover when attempted with Exchange 2003 server

* Make sure 403 error in autodiscover isn't treated as an auth error
(401 is used for that)
* Make non-auth errors in autodiscover fail silently (and move user
to manual setup)

Bug: 2374302
Change-Id: I4699bff70cf5ec4a513e6443e4817543c2ab2cef
ccountSetupCheckSettings.java
17da1767e396b873723d53b2aef93da8aca2c00e 18-Dec-2009 Marc Blank <mblank@google.com> Implement Autodiscover for Exchange servers

* Autodiscover allows complete configuration using only email address
and password
* Code handles the two standard autodiscover addresses and redirect
* Autodiscover process starts when the user chooses "Exchange" as the
account type. If the account is created via the AccountManager,
autodiscover begins upon tapping "Next" for the first time
* If autodiscover fails due to anything other than auth failure for
autodiscover-capable servers, the user is placed into the standard manual
configuration screen

Bug: 2366019
Change-Id: I936712b924833d9a133e8da04e11c3ba45d92f92
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupCheckSettings.java
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupOutgoing.java
f1efd65a5ebac0a2f1e218c0ae6bb8ceb1a19af6 18-Dec-2009 Marc Blank <mblank@google.com> Fix "back key" flow for Email account setup

* The existing flow is badly broken; every "back" causes the user
to leave the setup flow and therefore have to start from scratch.
This is a very bad user experience, as previously entered data is
lost and must be re-entered.
* The fix corrects these problems, allowing the user to back up
through screens UNTIL the account is successfully created.
* After account creation, the user is returned to the proper screen,
depending on whether we're in "eas flow mode" or not

Bug: 2337511
Change-Id: Ie25ac73dfcd8a1dca36e1b31c75ffb22359840d1
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupNames.java
29935abb1cbb64ffa232daefeaae7ecc4541722b 10-Nov-2009 Marc Blank <mblank@google.com> Fix #2251837; better response when provisioning is required.

* Currently, we validate EAS accounts using a command that will
succeed even if we do not support required security policies.
* This causes a confusing "invalid username or password" error
when trying to sync with a validated account in the case that
there are, in fact, required policies
* The fix is to send a sync command after validating the user name
and password; a 403 error indicates the requirement for
security policies.
* When we see the 403 error, we put up a message that is appropriate
to the situation.

Change-Id: Ic40820253dca1f357297b2355ad987bc39d0775f
ccountSetupCheckSettings.java
f16a3f2f6a952640b07acfe669ac626c45cbd8cb 01-Oct-2009 Andrew Stadler <stadler@android.com> Cleanup delete handling issues in POP3

* Removed obsolete "delete after 7 days" option from pop-up prefs
* Mark deleted message sentinels as "read" so they don't contribute
to unread counts.

Bug # 2157487 and Bug # 2159278

Change-Id: Ic3cbc51d6f5ede2eb923e2d0e5c0dfee377764f5
ccountSetupIncoming.java
e4a7cc440f081ef9c4375a2bd2f82680cc11b152 30-Sep-2009 Andrew Stadler <stadler@android.com> Re-enable modernized version of "optional" SSL/TLS

* Add "Accept all certificates" modes to incoming/outgoing secure choices
* Change URI scheme slightly to make "trust" a flag, not part of the
protocol.
* Change Stores to know about new URI scheme
* Slightly rework Transport API to make "trust" an independent flag
* Adapt HostAuth to handle new Uri scheme
* Remove the old ambiguous "optional" code, which was allowing
some unsigned certificates, but was *also* allowing TLS to
optionally start (though not SSL, despite the UI strings.)
* Add a few unit tests to EmailContent
* Add logging and a bunch of comments to TrustManagerFactory, and a bit
of simple cleanup to make it more readable.
* Add missing conversion of SSLException->CertificateValidationException
in TLS so we get the correct certificate errors from TLS too.
* Re-enable TLS for mac.com accounts (which had a certificate problem)

Fixes bug http://b/2119755, http://b/1374780, and probably a raft of
earlier and/or external bugs about certificate problems.

Change-Id: Iaf99a8da3eaadaa4cdeec224737838b5d6813e55
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupOutgoing.java
832e4a02a670b565a377938b3138e73421d59388 27-Sep-2009 Marc Blank <mblank@google.com> Add hostChanged service call; use it from UI (fixes #2148572)

* After a HostAuth has been changed for an EAS account, the SyncManager needs
to be alerted so that it can take appropriate action
* Added hostChanged service call
* Send service call from AccountSetupExchange after a HostAuth is edited
* Stop running syncs and clear error states in hostChanged

Change-Id: I2311e2d00be81ea7829f5f4e38b2377f18c63f30
ccountSetupExchange.java
e1145d173971ebe741e42e9caa209ef2f7bbefa4 24-Sep-2009 Marc Blank <mblank@google.com> In EAS flow mode, don't try to use auto-setup (fixes #2143583)

Change-Id: I53a287d909fdde3c6ab75087a4a049c3afe9852c
ccountSetupBasics.java
b19bc4c0b6b96516870665cf0d4e5b45638c16f4 24-Sep-2009 Marc Blank <mblank@google.com> Save HostAuth's when returning from editing Incoming/Outgoing settings

* in onActivityResult, we not only need to update the Account, but also
the relevant HostAuth (both if coming from AccountSetupExchange)

Change-Id: I0657ff257fe949e46e100eb3e6cfec6162514aa9
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupOutgoing.java
4cf3252fb07623fe4985aaf3bf63360099320a41 22-Sep-2009 Marc Blank <mblank@google.com> Workaround system peculiarity to fix #2134509

* Our AccountManager listener was getting unregistered due to the way
ApplicationContext caches AccountManager in a static member
* The result was that AccountManager registers its listeners against the
FIRST context it is instantiated with! Future calls will all obtain
this pre-initialized AccountManager.
* In this case, AccountSetupOptions was the first caller (to create the
AccountManager Account for Exchange)
* The subsequent call to register a listener therefore had its registration
tied to the context of AccountSetupOptions, and was therefore leaked
when AccountSetupOptions finished!
* This caused a chain of problems - the leaked receiver, an Exception in
AccountManager when trying to ping the listener in an expired context,
and eventually the bug referenced above, which became a P1 issue

Change-Id: I478e28d21ca77419afa8011e4ed8101cdf67ab79
ccountSetupOptions.java
7b79163aac1542577304d60fa76de6feb6be48c7 21-Sep-2009 Marc Blank <mblank@google.com> Show "sync contacts" setting properly in the settings page

Change-Id: I9c198e7795a8f2ea348361092eae22c8ff22a1a0
ccountSettings.java
8067b54294356f375521ba3d1e7db3df117b65a4 21-Sep-2009 Andrew Stadler <stadler@android.com> UI cleanups for new account creation

* Improve appearance of basics screen and use simplified text
* Provide alternate text when in EAS account setup flow (from acct mgr)
* Change "Exchange/ActiveSync" button to "Exchange account"
* Add some spacing to the three buttons, to improve appearance

Bugs addressed:
2128055 Change string in account picker activity to Exchange
2132713 Welcome message for Email app is inappropriate when coming from
Settings -> Accounts & sync -> New account
ccountSetupBasics.java
7041dc5d1b4e231c7ee51a76b0dd02f5525ac51d 20-Sep-2009 Marc Blank <mblank@google.com> Reconnect Settings -> Accounts to Email account settings screen

* This was broken during the AccountManager naming reversion

Change-Id: Ib2ccc9ca187ffdaf4a978c3c8111808be50d1583
ccountSettings.java
a4482e865dd3b219be672898df13dbbf1f4ae48d 19-Sep-2009 Marc Blank <mblank@google.com> Fix service behavior w/r/t onStartCommand, onCreate, onDestroy

* Make sure to null out vars in onDestroy
* Use START_STICKY as return value for onStartCommand
* Start SyncManager from EasAuthenticator callback, rather from the
authenticator itself (otherwise, the Account might not have been
created when we start SyncManager)

Change-Id: I54ff8d5586e96f016b365587717710dee3202da8
ccountSetupOptions.java
cd1e2072008da7467c852d6043fb9f69ff5bc42b 19-Sep-2009 Andrew Stadler <stadler@android.com> Fix NPE when entering account settings.
ccountSettings.java
91f12b8d520fbdcd26e6cf80fed26ce73d9ad782 18-Sep-2009 Marc Blank <mblank@google.com> Fix problem with account settings not being saved (#2131153)

Change-Id: I6845604c6f3326e136060cace55fc53fcca867c9
ccountSettings.java
eadb55b04eae126fdef442bae6d72c804df735d0 18-Sep-2009 Marc Blank <mblank@google.com> Implement hooks from Settings->Accounts to Exchange account setu

* Fixes #2106718
* Fixes #2106733
* Remove "Add another account" from the preference screen

Change-Id: I8db1400d2bdb6ed7d3aeb2049cc1a399c47c38c5
ccountSettings.java
8b91975fa5237652ba93a6deb721d2115e2e1262 18-Sep-2009 Andrew Stadler <stadler@android.com> Clean up transport encryption & port options

* Remove SSL-Optional and TLS-Optional choices from UI
* Remove SSL-Optional and TLS-Optional choices from providers.xml
* Switch over most SMTP connections from 25 to 587
* Clean up the providers list which has a lot of "optional" cases
that were probably falling back to unencrypted.

Fixes bugs:
2110243 Settings UI shouldn't offer SSL/TLS (if available) options
2089070 Update list of providers

Change-Id: I57be57b349eed33a5284121d904528279a36a91c
ccountSetupIncoming.java
ccountSetupOutgoing.java
01f61ef912879c12665d2073917626cb3ee7df0a 18-Sep-2009 Andrew Stadler <stadler@android.com> Fix acct settings -> inbox checks -> notifications

This cleans up a number of bugs that could be generically described as
"MailService and Notifications not being updated when accounts or account
settings are changed."

This also fixes a number of race conditions, one of which was causing
accounts to be refreshed in a nearly-endless loop, and another which
could cause an endless loop of alarms to be posted & fired..

Specific changes:
* Update/reschedule any time an account is edited (this was accidentally
broken and being handled on EAS only.)
* Make sure we reschedule if an account becomes unavailable
* Clear notifications whenever refreshing accounts
* Reload local copy of account settings whenever refreshing accounts
* When restoring prev sync times (this happens when process is killed),
be sure to also recalculate next sync times.
* Set flags on the pending intents to make sure old pending intents are
not being reused.
* Set a watchdog each time we check the mail, so if we are killed during
the mail check, we will be woken up again to retry.
* Fix a 2nd race condition in which a just-created account fails to sync,
due to not (yet) having an inbox.
* Clean up handling of Controller callback:
* Fix a minor bug in which refresh of non-inbox mailboxes would delay
the next timed sync of the inbox for that account.
* If the checkmail ended in an error (result != null) the service was
never rescheduled.

Bugs Fixed:
bug 2078149 - Update service and notifications when account settings
change or accounts are added/deleted.
bug 2084412 - Fix race condition caused by first intent being refired
bug 2071484 - Make sure we wake up later if killed during mail check

Change-Id: I3ee0d1b389c652351de5eb798c32a2daea244067
ccountSettings.java
acfd155c1202ebde4f9d8f19d5308a4da08d108f 17-Sep-2009 Marc Blank <mblank@google.com> Don't add backslash if there already is one; fixes #2124974

Change-Id: If5fa8369ee4c52449047d5134f3bf28feb88de1a
ccountSetupExchange.java
e428f941610ced75a9a104104c98cb35358d6fae 16-Sep-2009 Marc Blank <mblank@google.com> Add "Sync Contacts" to Account preferences screen (part of #2106733)

* Also added some checks for null Accounts and HostAuth

Change-Id: Ia4ae68d0e8a62abdaf002519766b6685b6947e9e
ccountSettings.java
ac37c5c15a3fd4f91f264800966da8e28f338c87 16-Sep-2009 Marc Blank <mblank@google.com> Change Exchange username validation to exclude bare backslash

* Fixes #2121422

Change-Id: Id55dfa365b83d725926e3e7dcd7b646256863aa1
ccountSetupExchange.java
da8836a76cd8a6eaa7e3693eeacc6393870b2066 15-Sep-2009 Andrew Stadler <stadler@android.com> Give warnings if dupe account created:

* Check for existing accounts with matching servername + username
* Show a dialog and block account creation
* Triggers in three cases:
* After input of an auto-setup account (e.g. Gmail or AOL)
* After input of manual setup (incoming) parameters
* After changing incoming parameters of *any* existing account
* Made some notes in EmailContent regarding fields in HostAuth that we
are not actually using.
* Added HostAuth unit tests

Primarily fixes bug # 1964449
Bonus fix for bug # 1594408

Change-Id: I49310faf6654280582e0ab3d3e40f2701bfcd21d
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupIncoming.java
60c7502b6777be550aaace9e9d780a9f84c8b03f 12-Sep-2009 Marc Blank <mblank@google.com> Change exchange setup screen per #2025029

Change-Id: Ib94713857902e336984b847f70c96e04826b9b74
ccountSetupExchange.java
6c21942ec45f561d711b3d74ecca8e62afb735c4 10-Sep-2009 Andrew Stadler <stadler@android.com> Implement move-to-trash for IMAP and POP3.

* Define new message-loaded state "FLAG_LOADED_DELETED" (used only for
POP3, which needs to write sentinel messages that are not displayed.)
* Also renamed the other flags to make the naming more consistent.
* Tweak MessageList query generation to inhibit display of deleted
message sentinels, and MessagingController won't try to resync them.
* Clean up implementation of Controller.deleteMessage()
* Add support for move to trash to MessagingController. This operates
in three primary modes:
* POP3 local delete (no server-side interaction)
* POP3 server delete
* IMAP server delete (and copy to IMAP trash mailbox)
* Add missing implementation in provider to delete all of the attachments
for a given message
* Fix progress reporting in activities (the test for error vs. progress
was inverted, which caused progress indicators to keep spinning
after errors.)
* Fix broken account settings UI (POP3 delete policy was not persisting)

Addresses bug 2097409

TODO delete from trash / empty trash

Change-Id: I00188e6dc2093823106e009f35b68c760227c9e6
ccountSettings.java
805562e26f50bd57c3b9bd357644285d3f1941a4 10-Sep-2009 Marc Blank <mblank@google.com> Fix logic for use of "Sync Contacts" button value

Change-Id: I9abed1830a61795542bdf15ee62395a63abc9222
ccountSetupOptions.java
cef2344e70b4ab90cbbb01aac00f248976d273df 06-Sep-2009 Marc Blank <mblank@google.com> Rework EAS account creation & ssl operation

* Fixes 2048663, 2025029, and 2100131
* Add "Trust Certificates" checkbox in EAS account creation
* Use custom ClientConnectionManager for HttpClient with registry
for plain, ssl, and tssl (trusted ssl) connection
* Use a ConnectionPool for HttpClient connections
* Remove "Domain" checkbox in EAS account creation
* Remove tests related to the "Domain" field
* TODO Write a test for valid usernames (requires a bit of research)
<name>, <email address>, <domain>/<name, and <domain>\<name> are all
valid, but there might be others

Change-Id: I4a0338df5960bfd3d679a88aaf22d1c49f49992b
ccountSetupExchange.java
a3c6c6ed294d5a1fb0662fdacc1388944487fdf2 26-Aug-2009 Marc Blank <mblank@google.com> Handle errors in account creation by AccountManager

* Don't create our EmailProvider Account until we get a confirmation from
AccountManager that the system Account is created
* Put up an erorr dialog if AccountManager fails for some reason (this is
what we saw in bug #2072668)
ccountSetupOptions.java
d382107bdc95d4472050d0879dff7e30193ef1c2 20-Aug-2009 Jeff Hamilton <jham@android.com> Don't try to load the owner info for now, it's not available.
ccountSetupBasics.java
bcff14acf25d3a999b7448e317604e694c204f47 21-Aug-2009 Andrew Stadler <stadler@android.com> Create setup flow for use by Accounts manager.

* Create a new entry point for the exchange setup flow and switch
EASAuthenticatorService to call it
* Pass "eas flow mode" down through the setup screens
* Slightly modify their behavior as we go (e.g. we skip the
(account type" screen since we know it's EAS.)
* Add a checkbox to "sync contacts from this account" and pass that
value into ExchangeStore when we set up the account.
* Change the flow exit to pop back to the account manager instead of
taking the user to the new inbox.

This CL satisfies cases 1 & 2 of bug # 1974752.
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
fb67ec958c44fcd46b524cc85d5f8ad3aeb4d2fd 19-Aug-2009 Jeff Hamilton <jham@android.com> Handle null cursors when looking up owner info.
ccountSetupBasics.java
c640cbbaf385566e1b6de361b2b23156e10f695d 13-Aug-2009 Andrew Stadler <stadler@android.com> Update SMTP to send from provider messages, and attachments

* Change Sender definition (remove old Message from API) and update
any existing calls through that API
* Rewrite SMTPSender to use provider messages
* Add attachments to RFC822Output
* Minor bugfixes in RFC822Output
* Unit tests
ccountSettings.java
ccountSetupCheckSettings.java
cc402e42ab70699fb43d23e69a724639b9507738 09-Aug-2009 Marc Blank <mblank@google.com> Clear error states on network reconnect; add temporary notifications; see details

* When we get a network connect broadcast, clear error states so sync can
restart for any boxes in an error state
* Add temporary notification code for the testers
* Add file-based debug logger
* Add Exchange logging to debug screen (adds additional exchange debugging)
* Add Exchange sd card logging to debug screen (logs to sd card)
* Change setLogging service API to send an int rather than a boolean
* Make sure push mailboxes are set up again when account changes to push
* Make sure push mailboxes are set up again when account mailbox starts
* (Fixed contacts sync bug found during debugging these changes)
ccountSetupBasics.java
a5af05f1a94ba9d0a91bd6507492cf6946f88a4d 04-Aug-2009 Mihai Preda <preda@google.com> MessageCompose: load body.
- load body for edit-draft, replay, forward.
- fix debug secret code for no-keyboard devices.
- fix CR-LF BUG 1911254.
- fix menu invoke compose from folder with mailboxId < 0.
ccountSetupBasics.java
948c36f47ac5bb3c47c85cd6269b188a82f458c3 27-Jul-2009 Marc Blank <mblank@google.com> Reimplement EAS contacts sync to work w/ new system facilities

* Modify to work with ContactsProvider2
* Modify to work with system AccountManager
* Modify to work with system SyncManager (for triggering user-change syncs)
* Sync server->client for adds/deletes implemented (CP2 doesn't handle delete yet)
* Sync server->client changes handled efficiently (only write changes)
* Some fields still not handled
* Rewrote most of the CPO code to handle server->client changes
* Sync client->server works for supported fields
ccountSetupOptions.java
180d69e08546c6498e0e710c5db6c4fe6296001a 27-Jul-2009 Mihai Preda <preda@google.com> Fix UnsupportedOperationException in AccountSetupBasic caused by Account.update() when !isSaved().

Bug 2001896.
Introduced by CL 8158.
ccountSetupBasics.java
9e2c6bd5f21f2d19eef7ebfe30e6fdf94ede0857 23-Jul-2009 Andrew Stadler <stadler@android.com> Remove saveOrUpdate from EmailContent to prevent stale writes

* Numerous classes modified to deal with this change
* Fixes bugs 1993292 and 1994671
* Renamed various setter and getter methods to reflect the underlying
field names
* Renamed syncFrequency to syncInterval in Account and Mailbox
* Convenience method added to AccountSettings to save only user settings
* Calls to content.update(context, content.toContentValues()), which save
all fields, should be double-checked for correctness, making sure that
content has current data and will not conflict with other threads that
might modify that data
* Ran all unit tests to confirm proper function

NOTE: The logic to enforce single default account no longer works,
because that logic is in Account.save() and does not run via
Account.update(). I have patched out a small section of the relevant unit
test and will file a bug to come back for this fix.
ccountSettings.java
ccountSettingsUtils.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
54c1f2bf9a6574240b7c9af253f83a2b566442ab 22-Jul-2009 Andrew Stadler <stadler@android.com> Improvements to default account handling

* Remove all references to Account.mIsDefault, which was not the right
way to find the default account (it is lazy initialized)
* Change Account.getDefaultAccount to getDefaultAccountId, which is more
efficient and suitable in most uses.
* Wrote unit tests for provider default account handling

This should resolve bug 1983390 as well as a few other issues with default
account management.
ccountSettings.java
ccountSetupBasics.java
ccountSetupOptions.java
4e4abc645ce05d6ea009bb19df834911c821fafb 21-Jul-2009 Andrew Stadler <stadler@android.com> Clean up launch-time & account setup behaviors.

* Moved welcome message into account setup basics (name/pass)
* Reworked Welcome to go to AccountSetupBasics on count=0
* In AccountFolderList, removed old welcome message code, and add
code to launch AccountSetupBasics when last account is deleted
* Fixed shortcut picker so launcher shortcuts work again
* Reimplemented shortcut receiver (in MessageList now)
* Default EAS accounts to SSL

Addresses bug 1916583 & 1987440
ccountSetupAccountType.java
ded3c915d88a5ee2d143b75cbf5718dae92a2f1c 11-Jul-2009 Andrew Stadler <stadler@android.com> Add folders to AccountFolderList

* Scan folders and write into child cursors
* Clicking a folder takes you to MessageList
* Remove most links to FolderMessageList (nearly dead!)
* Repair 1-account startup behavior (takes you directly to inbox)
* Cleanup a few basic things like context menus & refresh

TODO: Magic mailbox section at the top
TODO: As always, better linkage to sync engine(s)
TODO: Menus, context menus, etc.
TODO: Proper handling of expandable list - accounts should stay open?
ccountSetupNames.java
a290f503f14432163f74548a5e5d1dc5003ad049 15-Jun-2009 Marc Blank <mblank@google.com> Refactored EmailStore, EmailContent, EmailProvider

EmailStore goes away, replaced by EmailContent
All database activity is moved to EmailProvider
ccountSettings.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupCheckSettings.java
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
68a9ccfcde85505f06ddba28c22481c80419ddd4 10-Jun-2009 Andrew Stadler <stadler@android.com> final cleanups to get basic message operations working properly.

* Generate compatibility UUID early enough to stick, so our localstore
db's are created correctly and not recreated over and over again.
* Compose menu items working
* Fix single-account mode (go straight to inbox)
* Lightweight Account projections where possible
* Properly show/hide default account checkbox (during new acct screens)

What works:
* All unit tests
* Editing existing accounts
* Create new accounts
* Checking account settings against server
* Mail sync using accounts
* Viewing mailboxes
* Viewing messages
* Composing messages

What breaks (in approx order of planned fixes)
* Some details of account editing
* Import of existing accounts
ccountSetupBasics.java
c0033f24a26a08c47aa38d957f42cf63cfa3c345 09-Jun-2009 Andrew Stadler <stadler@android.com> Convert remainder of app to use provider-based accounts
What works:
* Unit tests, except for com.android.email.activity.setup.*
* Editing existing accounts
* Create new accounts
* Checking account settings against server
* Mail sync using accounts
* Viewing mailboxes

What breaks (in approx order of planned fixes)
* Unit tests in com.android.email.activity.setup.*
* Viewing messages
* Composing messages
* Some details of account editing
* Import of existing accounts
ccountSettings.java
294a4fd0c6b15c1f8f41ca03be66ed95e16e5a6d 06-Jun-2009 Andrew Stadler <stadler@android.com> Enable creation of new accounts using provider-based accounts.

What works:
* Editing existing accounts
* Create new accounts
* Checking account settings against server

What breaks (in approx order of planned fixes)
* Some details of account editing
* Viewing mailboxes & messages
* Mail sync using accounts
* Import of existing accounts
ccountSettings.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupCheckSettings.java
ccountSetupExchange.java
ccountSetupIncoming.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
9019315b2642d58691cf09d32c07c0cf902f0a41 04-Jun-2009 Andrew Stadler <stadler@android.com> Conversion to provider-based Account. What works:
* Editing existing accounts
* Two placeholder accounts are written

What breaks (in approx order of planned fixes)
* Some details of account editing
* New account creation,
* Viewing mailboxes & messages
* Mail sync using accounts
* Import of existing accounts
ccountSettings.java
ccountSetupCheckSettings.java
ccountSetupIncoming.java
ccountSetupOptions.java
ccountSetupOutgoing.java
93116fe28ed366a4cc2285fba2019c0b4a316a31 07-May-2009 Andy Stadler <nobody@android.com> AI 148457: Allow exchange accounts to be set up without an empty domain
specification. This relaxes a rule that was incorrectly applied.
BUG=1740626

Automated import of CL 148457
ccountSetupExchange.java
63a22008c7b71675ab6d4c0526556a81a2c60632 07-May-2009 Andy Stadler <nobody@android.com> AI 148376: Two policy changes for lookback window: (1) Change default
for new accounts to "1 day". (2) Remove "all" from the list
of available lookback window sizes, to prevent runaway
during our simplistic sync model.
BUG=1789913

Automated import of CL 148376
ccountSetupAccountType.java
1e2ca965e7b7eed83bf96417b1160689b32f6830 04-May-2009 Andy Stadler <nobody@android.com> AI 148255: Don't show "Outgoing Settings" preference when sender does not
provide a class for launching the settings editor.
BUG=1812798

Automated import of CL 148255
ccountSettings.java
9197f428946d5c77613b64a50c93a46e2acf62dc 02-May-2009 Andy Stadler <nobody@android.com> AI 148216: Provide UI for fixed sync window sizes, as required by EAS.
When in fixed sync window size mode, change "load more
messages" to "refresh".
BUG=1789913

Automated import of CL 148216
ccountSettings.java
ccountSetupAccountType.java
ccountSetupOptions.java
c5c2b9673907d44fa03ac277a9028704b6277c7b 01-May-2009 Andy Stadler <nobody@android.com> AI 148145: Remove the account-based storage of store persistent data, and instead
combine it with the same code that handles folder persistent data (in
the database). The schema is really simple; Rows with a folder id of
-1 are store data. This also adds the ability to use keys to store
multiple values, instead of a single string per account. Added/updated
unit tests.
3rd party stores will need slight code changes because the persistent
callbacks now accept keys.
BUG=1807499

Automated import of CL 148145
ccountSettings.java
ccountSetupCheckSettings.java
067d0a87fa88436aa9fbbaf9767102c102d2a6ce 30-Apr-2009 Andy Stadler <nobody@android.com> AI 148097: Fix bug in exchange account setup (actually it only affects
editing existing accounts). Added simple functional tests for
Activity UI.
BUG=1812798

Automated import of CL 148097
ccountSetupExchange.java
c05afb24bbb47be9b9c5224cfe9aa6a3a84b6870 30-Apr-2009 Andy Stadler <nobody@android.com> AI 148019: Add "accountInstanceLimit" to stores.xml so a given type of connection
(e.g. EAS) can limit itself to n (usually 1) accounts per device.
The UI for this is really simple - don't show the EAS button when the
limit is reached. More work would be required in
AccountSetupAccountType.java in order to do a more sophisticated UI
(e.g. show the button but pop a toast if the limit is reached.)
BUG=1740626

Automated import of CL 148019
ccountSetupAccountType.java
cd7e5664f9de81dbe3ba8e57941ca6aa6c1dc3d7 14-Apr-2009 Andy Stadler <> AI 146061: Add persistent storage that Store classes can access.
The current design for Store classes (e.g. IMAP) did not provide for
any persistent storage. This is the beginning of a mechanism to
provide that. It's quite simplisitic - each Store can read/write one
persistent string - but that's enough for the first simple use case
(saving some sync data for EAS).
The core changes here - suggest reviewing first - are in Account.java,
Store.java, and AccountUnitTests.java. Everything else is just
following the API change that was necessary.
Note that, by definition, this only applies to remote stores (e.g.
IMAP, POP3). You'll see everywhere that LocalStore is passed null, and
this is correct - LocalStore *is* persistent storage and does not need
access (so far, at least).
BUG=1786939

Automated import of CL 146061
ccountSettings.java
ccountSetupAccountType.java
ccountSetupCheckSettings.java
ea6fea9bb22368c10083d5dce52adae86e51a243 08-Apr-2009 Andy Stadler <> AI 144953: Provide UI for push mode accounts.
1. Generalize the code for the various spinners that control
account check frequency.
2. Provide an API for looking up store attributes (and refactor
existing instatiateStore logic to use it).
3. Cleanup the old code that was used to setup frequency spinners.
4. Hardwire Exchange accounts to default into push mode.
Notes to tester:
1. For each account type (POP, IMAP, EAS) we need to check that
auto & manual creation "do the right thing" for frequencies.
POP & IMAP should offer "none" or time intervals, while EAS
should offer "push", "none", or time intervals.
2. EAS accounts should default to "push", all others to "15 min"
3. Make sure that you can edit existing account settings and see
the right choices (only EAS should be offered push).
4. I couldn't write an automated test for the mail checker service,
please confirm that POP & IMAP accounts are checked at the right
intervals (or never, if set for "none".)
BUG=1776149

Automated import of CL 144953
ccountSettings.java
ccountSetupAccountType.java
ccountSetupOptions.java
87c43cada618a783197533934301230e608ab940 04-Apr-2009 Andy Stadler <> AI 144525: Add structural support for Exchange transport. The idea is that
the shipping client will include the necessary generic pieces for
configuring an Exchange client (e.g. account setup) but will not
include actual Exchange client code (e.g. transport / protocol).
Also added a "sample code" implementation of Exchange for use
as a starting point for implementors. (Note, this will not ship
in Donut, it's a placeholder for working on the "framework"
aspects.)
BUG=1740621,1740626

Automated import of CL 144525
ccountSetupAccountType.java
ccountSetupExchange.java
2b0c619f1edd9fd89dc06bf35d99ece91f415f1e 04-Apr-2009 Andy Stadler <> AI 144520: General cleanup after the integrations in CL 143018. Some spelling
errors, inconsistencies in passing Application/Activity/Context, and
some error handling cleanups. These are all changes that would have
probably been made before the original submits, but I didn't want
to fix them in the integration step.
BUG=1740621

Automated import of CL 144520
ccountSettings.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupCheckSettings.java
ccountSetupIncoming.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
ae8ca3fbd1545c3a94011d7d70bcadac99e7779f 27-Mar-2009 Andy Stadler <> Automated import from //branches/donutburger/...@143018,143018
ccountSettings.java
ccountSetupBasics.java
ccountSetupCheckSettings.java
96c5af40d639d629267794f4f0338a267ff94ce5 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ccountSettings.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupCheckSettings.java
ccountSetupIncoming.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
pinnerOption.java
8c2158a5ebb88e226c23b66ff95910158a2727df 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ccountSettings.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupCheckSettings.java
ccountSetupIncoming.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
pinnerOption.java
f7ae27b973c7a93cd5fb8432940179f6b76a9548 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
ccountSetupBasics.java
ccountSetupCheckSettings.java
be72b1d08af5851ba79651671df8c8b750e35f73 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
ccountSetupBasics.java
687f9962d7095e18ef994cd0e64337f02ed1a5bd 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
ccountSettings.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupCheckSettings.java
ccountSetupIncoming.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
pinnerOption.java
8978aac1977408b05e386ae846c30920c7faa0a6 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
ccountSettings.java
ccountSetupAccountType.java
ccountSetupBasics.java
ccountSetupCheckSettings.java
ccountSetupIncoming.java
ccountSetupNames.java
ccountSetupOptions.java
ccountSetupOutgoing.java
pinnerOption.java