tree 1bea4bc73b2b4c68bf164b88df902e0ce8fe3471
parent 7c51eeffea3b46dc2abe2e492b8c1ca8c914c99a
author Andrew Stadler <stadler@android.com> 1248300810 -0700
committer Andrew Stadler <stadler@android.com> 1248300810 -0700

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.
