Go to file
Marc Blank e6cc662abc 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
2010-07-21 19:01:41 -07:00
assets auto import from //depot/cupcake/@135843 2009-03-03 19:32:22 -08:00
docs auto import from //depot/cupcake/@135843 2009-03-03 19:32:22 -08:00
images auto import from //depot/cupcake/@135843 2009-03-03 19:32:22 -08:00
res Use AccountManager for POP/IMAP; refactor setup classes 2010-07-21 19:01:41 -07:00
src Use AccountManager for POP/IMAP; refactor setup classes 2010-07-21 19:01:41 -07:00
tests Use AccountManager for POP/IMAP; refactor setup classes 2010-07-21 19:01:41 -07:00
.classpath Initial Contribution 2008-10-21 07:00:00 -07:00
.project Initial Contribution 2008-10-21 07:00:00 -07:00
Android.mk add filter for emma code coverage 2010-06-17 11:25:07 -07:00
AndroidManifest.xml Use AccountManager for POP/IMAP; refactor setup classes 2010-07-21 19:01:41 -07:00
CleanSpec.mk Add an empty CleanSpec.mk 2010-03-08 18:05:00 -08:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2009-03-03 19:32:22 -08:00
NOTICE auto import from //depot/cupcake/@135843 2009-03-03 19:32:22 -08:00
proguard.flags Tests for IMAP FETCH 2010-05-18 10:48:11 -07:00
remove-exchange-support.sh Remove exchange readme and update script 2010-02-04 13:09:34 -08:00