Commit Graph

772 Commits

Author SHA1 Message Date
Andrew Stadler
01f61ef912 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
2009-09-17 18:35:43 -07:00
Marc Blank
7e89834cfd Fix problem w/ SmartReply & SmartForward in Exchange 2003
* It doesn't like URLEncoded commands; go figure!
* Fixes #2127892

Change-Id: Ibae8cad990ed45accb6699716fda56f45c850939
2009-09-17 15:50:52 -07:00
Android (Google) Code Review
f671401a3a Merge change 25610 into eclair
* changes:
  Add logging to EasOutboxService to help find sending issues
2009-09-17 18:22:49 -04:00
Marc Blank
0d1f7add7d Add logging to EasOutboxService to help find sending issues
Change-Id: I8188fd2977724ae4ee6a8703098b7068c14b92fd
2009-09-17 15:20:00 -07:00
Android (Google) Code Review
4abd6de5f8 Merge change 25578 into eclair
* changes:
  Import revised translations.  DO NOT MERGE
2009-09-17 18:02:16 -04:00
Eric Fischer
468c2dedfc Import revised translations. DO NOT MERGE 2009-09-17 14:31:25 -07:00
Marc Blank
b9213876f6 Fix issue with older messages not getting deleted properly from device
Change-Id: I3c3a7b6c7c6983cad47826543f9ac4291c6b2a69
2009-09-17 14:19:44 -07:00
Marc Blank
3f224e7efe Use StructuredName.DISPLAY_NAME for Email display name on new contacts
* Fixes #2115514

Change-Id: Ib9c437a1cbcbcf1069692e8d5d17d29e80369418
2009-09-17 10:14:12 -07:00
Android (Google) Code Review
492e8498e7 Merge change 25427 into eclair
* changes:
  Don't add backslash if there already is one; fixes #2124974
2009-09-17 13:07:59 -04:00
Marc Blank
e7e1ca432e Change AccountManager username for Exchange to the user's login credential
* This is not a backward-compatible change (sorry)
* Existing AccountManager EAS accounts and contacts are deleted
* Existing EmailProvider data is deleted
* Change works with new code (stadler) to avoid account duplication

Change-Id: Ife09c51fa714d91054d017b497bce603add5375a
2009-09-17 10:06:27 -07:00
Marc Blank
c022839861 Implement HOME/WORK phones as multiple typed rows
Change-Id: I7e1c885e7735022026df9599babd48f5dbf71af9
2009-09-16 19:57:19 -07:00
Marc Blank
acfd155c12 Don't add backslash if there already is one; fixes #2124974
Change-Id: If5fa8369ee4c52449047d5134f3bf28feb88de1a
2009-09-16 18:55:28 -07:00
Android (Google) Code Review
767ea86398 Merge change 25344 into eclair
* changes:
  Add "Sync Contacts" to Account preferences screen (part of #2106733)
2009-09-16 19:11:28 -04:00
Marc Blank
e428f94161 Add "Sync Contacts" to Account preferences screen (part of #2106733)
* Also added some checks for null Accounts and HostAuth

Change-Id: Ia4ae68d0e8a62abdaf002519766b6685b6947e9e
2009-09-16 16:07:27 -07:00
Android (Google) Code Review
b734bfc08b Merge change 25320 into eclair
* changes:
  Fix NumberFormatException in POP3 message sync
2009-09-16 17:54:03 -04:00
Android (Google) Code Review
ec11b9658b Merge change 25348 into eclair
* changes:
  Fix "reloadFolderList" service call in SyncManager
2009-09-16 17:28:31 -04:00
Marc Blank
5ebdc0efeb Fix "reloadFolderList" service call in SyncManager
* Fixes #2118439

Change-Id: Iee75c5902940fb7f38f19717306708809fa06dd5
2009-09-16 14:27:39 -07:00
Andrew Stadler
092d35c98d Fix NumberFormatException in POP3 message sync
* Write unit test to replicate failure(s) in POP3 use of parseInt.  All
    calls to parseInt must be guarded by try/catch NumberFormatException.
* Fix the failures

Bug # 2115586
2009-09-16 12:20:38 -07:00
Andrew Stadler
0c4dc85190 Harden against crashes caused by account deletes
The basic failure mode is to delete an account while it is being
synced or some other background activity.  The fixes in this CL will
harden against this, but it will not be a perfect solution; That
will require shutting down all sync, which is difficult in the current
too-many-threads implementation.

Primary bug# 2112564
2009-09-16 10:58:54 -07:00
Android (Google) Code Review
fc7dfddf19 Merge change 25130 into eclair
* changes:
  Support StructuredName.DISPLAY_NAME for Exchange contacts
2009-09-15 23:12:24 -04:00
Android (Google) Code Review
2aa3e92fe3 Merge change 25041 into eclair
* changes:
  show message list selection
2009-09-15 21:56:59 -04:00
satok
5569ec9c9d show message list selection
BUG: 2117057

* add styles for items in MessageListView
* reduce color diff of Read/Unread
2009-09-16 10:55:28 +09:00
Marc Blank
ac37c5c15a Change Exchange username validation to exclude bare backslash
* Fixes #2121422

Change-Id: Id55dfa365b83d725926e3e7dcd7b646256863aa1
2009-09-15 18:05:16 -07:00
Andrew Stadler
da8836a76c 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
2009-09-15 16:33:44 -07:00
Android (Google) Code Review
f2147b1834 Merge change 25159 into eclair
* changes:
  Fix EAS sending (#2122221)
2009-09-15 19:23:40 -04:00
Marc Blank
a84a0e9a0d Fix EAS sending (#2122221)
Change-Id: I92ea4b1a77d96bf7992ea34026a2c5d30f33c317
2009-09-15 16:20:34 -07:00
Android (Google) Code Review
c21d326ef0 Merge change 25145 into eclair
* changes:
  Disable testResolveInlineImage
2009-09-15 19:03:06 -04:00
Andrew Stadler
1761234fc6 Disable testResolveInlineImage
This test depends on LocalStore and is thus deprecated.

It very much needs to be be rewritten and reestablished.

Bug # 2121424
2009-09-15 15:55:23 -07:00
Marc Blank
2d5691cac1 Support bcc in Exchange (Fixes #2117849)
* Must send the bcc header for EAS

Change-Id: I38d119beed334c6bb23a09b87375804f8c03ea76
2009-09-15 15:18:46 -07:00
Marc Blank
71177c5375 Support StructuredName.DISPLAY_NAME for Exchange contacts
* Fixes #2115514

Change-Id: Iac348c4ecac3bf8f895c32fff7077bc36d385bc9
2009-09-15 14:34:03 -07:00
Marc Blank
ffc681a4da Handle the case of no body being present (happens in unit tests)
* Fixes #2121403
2009-09-15 13:08:55 -07:00
Android (Google) Code Review
3bef610196 Merge change 24991 into eclair
* changes:
  change to use the new CALLER_IS_SYNCADAPTER flag
2009-09-15 15:26:50 -04:00
satok
0cc0e70941 Rename adding/removing star strings
BUG: 2116258
2009-09-15 16:05:14 +09:00
satok
d2174733b1 Auto-sync of stale mailboxes
BUG: 2050116
- auto sync onResume
- add mNonPushMode
-- mNonPushMode is updated in SetFooterTask
2009-09-15 14:38:13 +09:00
Android (Google) Code Review
043dba5e1b Merge change 24672 into eclair
* changes:
  Enable long press Open on Accounts screen
2009-09-15 00:42:21 -04:00
Fred Quintana
977cd2f58a change to use the new CALLER_IS_SYNCADAPTER flag 2009-09-14 17:37:18 -07:00
Marc Blank
1d98989222 Implement SmartReply/SmartForward for EAS; fixes #2098779
* SmartForward and SmartReply are EAS commands that automatically
  include the original message and, if a forward, all original
  attachments, regardless of whether they've been downloaded to
  the device
* Both commands improve battery life by sending less data; greatly
  so for SmartForward if there are attachments

Change-Id: I12432cd5275a3b54e9a80d5cd59da437c4a086cc
2009-09-14 15:47:38 -07:00
Marc Blank
42c130dcf1 Fix bug in which EAS mail won't ever get sent (#2118279)
Change-Id: Iedd80269bafd39a3536527ebe8902b4999eff41e
2009-09-14 11:03:18 -07:00
Marc Blank
e59c8725c5 Make sure SyncManager keeps running in various edge cases
* Have Welcome start the service (in case the app has been reloaded)
* Have SyncManager.ping start the service if there's no instance of
  SyncManager

Change-Id: I8bed2843a3e065d2db29fad67dfb0bb3a5d0ff5e
2009-09-14 08:50:50 -07:00
Android (Google) Code Review
d609094182 Merge change 24849 into eclair
* changes:
  Improve the checkMailbox loop query to get only the appropriate boxes
2009-09-14 10:06:44 -04:00
Android (Google) Code Review
bba6d443f5 Merge change 24858 into eclair
* changes:
  Don't wait longer than 10s for ping boxes to be ready
2009-09-14 01:53:36 -04:00
Marc Blank
4f9d5cf8f8 Don't wait longer than 10s for ping boxes to be ready
* Do a short ping in this case, which at least will allow the device
  to sleep while waiting
* Addresses #2116749

Change-Id: I9e70feaeef1361e1d66652dc66b92f6ee14751bf
2009-09-13 22:52:36 -07:00
Android (Google) Code Review
403a45e736 Merge change 24844 into eclair
* changes:
  Reimplement reply/forward to use mTextReply/mHtmlReply
2009-09-14 01:32:10 -04:00
Marc Blank
f2dded3a2f Reimplement reply/forward to use mTextReply/mHtmlReply
* Move creation of final reply/forward text (i.e. new text plus
  the original) to Rfc822Output, where it belongs.
* Prepares the way for use of SmartForward/SmartReply in
  Exchange and replying w/ multipart/alternative in SMTP
* Moved test from MessageCompose to new Rfc822OutputTests, and note
  that new tests should be added (this is not a regression; there
  were never enough tests here)

Change-Id: Ibefb842f47cc9223714856d99b8d4f55b55f49e3
2009-09-13 22:28:38 -07:00
Marc Blank
60c7502b67 Change exchange setup screen per #2025029
Change-Id: Ib94713857902e336984b847f70c96e04826b9b74
2009-09-13 21:55:10 -07:00
Marc Blank
c7897acf56 Fix NPE when adding note rows to Contacts
Change-Id: I51574db9abc45b55f8a7c19d493fdc47bc24b11b
2009-09-13 12:04:59 -07:00
Marc Blank
fa1ad355a1 Improve the checkMailbox loop query to get only the appropriate boxes
* Boxes must 1) be from an EAS account and 2) have a syncInterval that
  is not "never"

Change-Id: I5efbdc527063b2ee3373bc763b625eadfed67c4a
2009-09-13 12:04:06 -07:00
Marc Blank
f50c6d1faf Don't sync "trash" folder in Exchange
Change-Id: I6a1dc2a8ae5936bb7428d82e48ddbf114500051a
2009-09-12 16:47:07 -07:00
Android (Google) Code Review
492228bdc4 Merge change 24815 into eclair
* changes:
  Don't sync if the "Sync Contacts" checkbox isn't set
2009-09-12 14:51:28 -04:00
Marc Blank
411334d4e5 Fix broken test cases
Change-Id: Ib2d019662d358a20b4d62992529bfdf398e4661b
2009-09-11 23:00:39 -07:00