Commit Graph

2389 Commits

Author SHA1 Message Date
Marc Blank
3093b61668 Try a longer timeout for initial sync
* We are still seeing an issue with at least one user on initial
  calendar sync.
* Increase the read timeout a great deal for initial sync, as it
  can a very long time for the server to respond

Bug: 2569162
Change-Id: I495c38dc58d9a80c5a21e40b6fc5d165d10a3c1a
2010-04-13 18:27:58 -07:00
Marc Blank
63186a5442 Send callback if reloadFolderList fails w/ uninit'ed account
Bug: 2585159
Change-Id: I12d9dd84090d10675e3d403124e28dbb6bede3d8
2010-04-13 10:44:00 -07:00
Andrew Stadler
a87f8d8bbc 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
2010-04-13 02:15:37 -07:00
Marc Blank
0cd062ebd0 Merge "Fix acknowledgment of Exchange remote wipe" into froyo 2010-04-12 17:59:40 -07:00
Marc Blank
2f194cefbb Fix acknowledgment of Exchange remote wipe
* The XML acknowledging the wipe was malformed

Bug: 2589695
Change-Id: I24428a21ce5b08f32c372dcbb50b24d6e6c42645
2010-04-12 17:48:17 -07:00
Marc Blank
de30222689 Always check serverId AND calendarId in queries
* With multiple accounts, serverId's are not guaranteed to be unique
  (indeed, they rarely are)
* There were two queries in CalendarSyncAdapter that checked only
  serverId and this has caused the referenced bug PLUS others that
  would have turned up later on
* This is a critical fix

Bug: 2589815
Change-Id: I49bc6cb5bb4708f4bf4ca60a891ff78f0b25e989
2010-04-12 16:37:50 -07:00
Marc Blank
b5253606ee Merge "Sync description with exceptions" into froyo 2010-04-12 15:53:50 -07:00
Marc Blank
1e3f86dfd4 Merge "Increase timeouts for Exchange sync; prevent early upload sync" into froyo 2010-04-12 14:42:44 -07:00
Marc Blank
e3df9f95ea Sync description with exceptions
* We weren't sending up the event description with exceptions, so
  changes to description were being lost on upload
* Move the code uploading description so that it happens with
  exceptions as well as top-level events

Bug: 2590020
Change-Id: Ifab556bed68671f3ee8cab02b657adbd8ba9c50c
2010-04-12 14:22:11 -07:00
Marc Blank
2e22263777 Increase timeouts for Exchange sync; prevent early upload sync
* It's reported that 50% of third party users have issues syncing
  Calendar in Exchange
* In testing, it was determined that the server takes > 30 seconds
  to respond to a sync request initially, which is beyond our timeout
  limit
* Also, I found that the system SyncManager was trying to trigger an
  upload sync at the same time (i.e. before the sync session was
  established with the server)
* There are four changes here:
  1) Prevent upload syncs while the sync key is null or "0" ("0"
     is the initial state)
  2) Increase timeout for connection; at worst, this will
     cause a short extra delay in syncs with a bad connection, but this
     will be unnoticable to users
  3) Increase the read timeout for initial sync to twice that of
     regular syncs (the initial sync always seems to take longer)
  3) Reduce the lookback for calendar to two weeks (from one month);
     this is a better default anyway, and it probably reduces the server
     and client load a great deal
* Empirically, this solves the bug for a known completely repeatable
  case.

Bug: 2569162
Change-Id: I36b1c3e1e0b65f50d42e05f1830fed912191651f
2010-04-12 13:59:04 -07:00
Makoto Onuki
1fe0aa19bf Merge "Set CLEAR_WHEN_TASK_RESET flag when launching Calendar" into froyo 2010-04-12 13:27:15 -07:00
Makoto Onuki
f793cd93b9 Set CLEAR_WHEN_TASK_RESET flag when launching Calendar
and Contacts, so that when you relaunch Email from Home, you always see
the Email app, not Calendar/Contacts.

Note as stated in the corresponding bug, this CL itself won't fix the issue,
because CLEAR_WHEN_TASK_RESET will be lost when Contacts/Calendar apps handle
the intent.
There's a feature request against the framework (bug 2586404) which should fix
this losing flag problem.

Bug 2584792

Change-Id: I34ac3707b99926fc07529ea2229f2a6b3c4f93e4
2010-04-12 13:09:56 -07:00
Andrew Stadler
9cc6f46b05 Merge "Try TOP even on POP servers that fail to report CAPA" into froyo 2010-04-12 11:27:25 -07:00
Andrew Stadler
645fc28301 Try TOP even on POP servers that fail to report CAPA
* Ignore the results of CAPA and always try TOP
* If TOP returns -ERR simply fall back to (bad old slow) RETR
* Unit tests for positive & failure cases

Bug: 2588432
Change-Id: Ife4b551217de1025e14efc46074f16ef4ae99c6f
2010-04-12 10:56:55 -07:00
Marc Blank
c3aa318200 Send email to organizer if attendee deletes event/exception
* There are two cases, event and exception and both are fixed in this CL

Bug: 2587775
Change-Id: Id325c4877a77074ca6edd4d7fbeb54971d4cf984
2010-04-12 10:12:46 -07:00
Marc Blank
536a36555b Merge "Always add changed exceptions to the upload list" into froyo 2010-04-12 09:57:57 -07:00
Marc Blank
c5c5bf7da7 Always add changed exceptions to the upload list
* We were adding deleted exceptions to the "deleted" list; this is bad,
  because the exception then gets deleted from the database after the
  sync.  The symptom is that the deleted exception reappears on the
  calendar.

Bug: 2587837
Change-Id: If497f82ba0b2b817d1cef6165ded23d19876528f
2010-04-11 15:33:39 -07:00
Marc Blank
3b19278a24 Only allow the account mailbox to attempt provisioning
* We were allowing all sync services to attempt provisioning, but this
  could potentially lead to a race condition in which two different
  policy keys are created on the server (this is speculative)
* Change to allow only the account mailbox to attempt provisioning
* Log policy keys when verbose exchange logging is enabled
* We'll see if this solves the referenced bug

Bug: 2569162
Change-Id: I36c60098a4866882a8f9f4c288da54ea378d9aee
2010-04-11 09:45:49 -07:00
Marc Blank
6a4eae5f41 Fix upload of multi-day all day events
* We were assuming a single day for all-day events
* Use the actual end date
* Make sure we send date/time back to server in local TZ
* Also fixes #2500863

Bug: 2578776
Change-Id: I58767a574248935b9840ce93e634a24e54abe62f
2010-04-10 18:03:39 -07:00
Andrew Stadler
80bd83fd85 Upsync appropriate organizer name/email
* We need to send name & email for Exchange 2007
* For Exchange 2003, only name & email if the event is new

Bug: 2586661
Change-Id: Ia35c2c7a645a3d20b7031e9a43b8b5044a40f005
2010-04-10 17:35:34 -07:00
Andrew Stadler
06699c0d91 Send meeting status with all upsynced changes
* Meeting status differentiates between appointments and meetings,
  which is important in Outlook and OWA
* Fix older, completely incorrect code for upsyncing categories

Bug: 2586071
Change-Id: I277252ef2c31e5b8ec7ceda69c229f5fd100ecdb
2010-04-10 17:24:23 -07:00
Andy Stadler
7d32ec27ec Merge "Check for active device admin before each ping loop" into froyo 2010-04-10 17:18:35 -07:00
Andy Stadler
69757c6670 Merge "Synchronize getAccountById on sAccountList" into froyo 2010-04-10 17:17:56 -07:00
Marc Blank
2769c06b3d Check for active device admin before each ping loop
* Accounts that require security need to check that the Email app
  is still an active device admin from time to time
* Add a check for this before each run of the ping loop

Bug: 2583282
Change-Id: I1491821b7d0c1a341b1fe7ef1002c8b21aed12c2
2010-04-10 16:59:15 -07:00
Marc Blank
3ab4a99679 Synchronize getAccountById on sAccountList
* This fixes a ConcurrentModificationException seen in monkey
  testing

Bug: 2586524
Change-Id: I3634678218827d5cffeef20c154b3826f9e5f36f
2010-04-10 10:30:41 -07:00
Marc Blank
0cd9cbf088 Add organizer to Attendees before handling exceptions
* Exceptions take a copy of Attendees when they are created, but
  we weren't adding the organizer to Attendees before exceptions
  were parsed
* Fix this by adding the organizer just before exception parsing
* If there aren't any exceptions, we add the organizer as before

Bug: 2585817
Change-Id: Ie894682977e38a55d975135c8fc2fd8f2d4b1365
2010-04-10 09:58:50 -07:00
Marc Blank
232b2dd9dc Merge "Handle exception deletion properly" into froyo 2010-04-09 16:08:22 -07:00
Marc Blank
1b2ed80da7 Handle exception deletion properly
* First, make sure we catch the cases of DELETED=1 and eventStatus=cancelled
* Second, only send email updates if the user is the organizer

Bug: 2583054
Change-Id: I886efa0f28931dc815bc31d4d6adb3d700f83c6b
2010-04-09 14:02:35 -07:00
Makoto Onuki
17a18d644a Merge "Fix NPE caused by I34451000" into froyo 2010-04-09 10:32:23 -07:00
Marc Blank
66bbd95a01 Merge "Fix GAL lookup for provisioned EAS accounts" into froyo 2010-04-08 17:29:00 -07:00
Marc Blank
f2b733de0f Merge "Fix auto-send of invites when attendee status changes" into froyo 2010-04-08 17:28:50 -07:00
Marc Blank
b6cbf52656 Fix auto-send of invites when attendee status changes
* Use AS_SYNC_ADAPTER flag when changing attendee information in
  downsyncs
* Allow DTSTAMP to come before new attendee information in the case
  in which only attendees are changing
* Add _SYNC_DATA of "0" for all newly synced events

Bug: 2582513
Change-Id: Iacde0ddf3f2a99d108e00ef1991edfc34613f5c7
2010-04-08 17:26:06 -07:00
Marc Blank
ea816ef206 Fix GAL lookup for provisioned EAS accounts
Bug: 2582551
Change-Id: I316a2f9105ae4c693c401ad5e79922f4de1881b6
2010-04-08 17:05:11 -07:00
Makoto Onuki
75e31dc17b Fix layout issue introduced with I5b680418
I shouldn't have changed the layout_height.
I changed it as a trial, and the final version of the fix didn't require this.

Bug 2581421

Change-Id: Ie06f813ed6d65a128381a99b9efeaa8d9275b5bf
2010-04-08 15:00:35 -07:00
Makoto Onuki
78e06eb894 Fix NPE caused by I34451000
It's unfortunate but some of the fields we cleared in I34451000 are accessed
in BG threads or after the activity is destroyed.  We could add != null checks
everywhere, but it'll be a mess.  I also think it's safer to simply remove
the "= null" lines.

On the other hand, clearing AsyncTasks are relatively safer because they are
kept only so that we can cancel them afterwards, so I kept them.  But let me
know if you want to revert the original CL.

Bug 2570603

Change-Id: I04a10dd7382bfcceb686c3e9af92f8949caf619e
2010-04-08 11:57:26 -07:00
Andrew Stadler
3839dc981f Merge "Improve MIME & SMTP compliance on outbound messages" into froyo 2010-04-08 09:57:01 -07:00
Andrew Stadler
6bcccf6284 Improve MIME & SMTP compliance on outbound messages
* Write MIME-Version: 1.0 in all outbound messages, not just those
  with multiparts.  This is required by RFC 2045.
* Unit tests

Bug: 1678296
Change-Id: Icf37d93b8b0150f490791792499865a60744adea
2010-04-07 21:46:15 -07:00
Marc Blank
60ee205963 Merge "Fix bug #2551196" into froyo 2010-04-07 16:57:25 -07:00
Makoto Onuki
28153d0443 Merge "Increase usability of invite components in MessageView" into froyo 2010-04-07 16:57:04 -07:00
Makoto Onuki
9623a4ce6f Increase usability of invite components in MessageView
* Make yes, no, maybe, etc. larger (easier to touch)
  (bug #2561772)
* Make the accept/decline/maybe buttons focusable
  Make the "View in Calender" a button
  (bug #2561767)

Change-Id: I5b68041835e9d85e5290a30fe7910837b577c003
2010-04-07 16:45:23 -07:00
Marc Blank
0cf741bb0a Fix bug #2551196
* Handle the case in which a Mailbox to be synced doesn't have
  a serverId (rare case which happened to a Zimbra user)
* Tweak logging to improve debugability of similar issues

Bug: 2551196
Change-Id: Id61cee5c4b33eb2f87455fbae0899fec8ff3748f
2010-04-07 15:57:00 -07:00
Makoto Onuki
59cf1d05c1 Clear references to inner classes in onDestroy().
Also
- Made inner classes private if possible.
- Made some members final.

Bug 2570603

Change-Id: I34451000f2540c67e1039ea9dc4839dbec5ffab7
2010-04-07 11:54:57 -07:00
Marc Blank
c94c077a66 Merge "Send busy_status = 2 on all upsync's" into froyo 2010-04-07 11:09:31 -07:00
Marc Blank
f1bbf05380 Send busy_status = 2 on all upsync's
* Right now, we only send this for 2.5 (where it's required)
* If we don't send this for 12.0 and later, the status will be
  set to "free", which is almost always going to be wrong
* So always send busy status = 2 (we can't know differently, as
  we don't track free/busy)

Bug: 2575611
Change-Id: I11d952b68ac0ef7a022b030037ce6408f72d4a90
2010-04-07 09:44:09 -07:00
Andrew Stadler
856e09d76a Properly reset security policy when device admin revoked
* Simplify the logic in the onDisabled() receiver.  Make sure
  security policy keys are *always* disabled.
* Eliminate unused variable and unused receiver.

Bug: 2576145
Change-Id: I3665a1d300edfb77e02737c08aee22bc977f4968
2010-04-06 22:56:26 -07:00
Andrew Stadler
be4287970b Merge "Show a less-generic error message for security errors" into froyo 2010-04-06 22:50:06 -07:00
Makoto Onuki
af6724527e Added a test for IMAP APPEND
It's a preliminary change for IMAP bug fixes.

Also,
- Fixed a potential bug in ImapFolder.setFlags where it'd throw
  StringIndexOutOfBoundsException if flags is empty.

- Added a generic flag to proguard.flags so that now all methods with
  the "ForTest" sufix are automatically preserved.
  Turned out it wasn't needed for this CL, but it should come in handy
  someday.

Bug 2538076
Change-Id: I49a08afc196c7b7f1f30477dfc38ac5381045d84
2010-04-06 14:33:43 -07:00
Andrew Stadler
dc0753373e DO NOT MERGE. Handle STARTTLS when last line in EHLO response.
When receiving the EHLO response from the SMTP server, the multiline
answer has "-" prefix in all lines except the last line, where the
prefix is a blank. This is according to RFC 2821 section 4.2.1. This has
also been reported as issue 2309 at code.google.com.

Bug: 1744768

Change-Id: I3feccabed30767d2fa5b06352cd7d1c803e8d59c
2010-04-06 10:50:11 -07:00
Andrew Stadler
624af658ff Merge "Partial solution to make EAS setup respect "manual"" into froyo 2010-04-06 09:38:32 -07:00
Andrew Stadler
63ab9de1b8 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
2010-04-05 19:08:05 -07:00