Commit Graph

2372 Commits

Author SHA1 Message Date
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
Marc Blank
f7d9f65961 Merge "MessageView: on answering invitation move in only one direction." into froyo 2010-04-05 15:34:06 -07:00
Marc Blank
9991e71413 Fix remote wipe (which probably never worked)
Bug: 2567641
Change-Id: Iceeebbc5f5bb93d72ab349cc1c0a71c1bd5f5387
2010-04-05 12:36:12 -07:00
Marc Blank
0a3b5b0741 Add timeout/watchdog to autodiscover network calls
* Split out network operations w/ timeout and watchdog from send HttpClientPost
* Use this in autodiscover calls
* Add logging to help debug this issue, in case there are additional problems

Bug: 2568077
Change-Id: I2a2e1abca2c4dab02c8e04c304f67db2a7b4cb22
2010-04-04 12:18:25 -07:00
Andrew Stadler
605371e793 Show a less-generic error message for security errors
* In Controller, map EmailServiceStatus.SECURITY_FAILURE
    to MessagingException.SECURITY_POLICIES_REQUIRED
* In MessageList, map MessagingException.SECURITY_POLICIES_REQUIRED
    to string account_setup_failed_security

Bug report will be forwarded to next release to get a more specific
string with proper translation.

Bug: 2563988
Change-Id: Ia1e6e947e3c0c7e6bd37301de2ea8ef4d641ef14
2010-04-03 23:55:38 -07:00
Andrew Stadler
a843d40ba1 Improve handling of unsupported security policies
* If the server asks for more than we can support, don't throw
  and error from PolicySet creation.  Let isSupported() do that.
* Overlong password lengths cannot be supported and isSupported is false.
* Overlong timeouts & max wipes can be reduced to supported
  amount (this actually increases security) and isSupported is true.
* Clean up an obsolete comment
* Unit tests

Bug: 2567804
Change-Id: I2d664a7f2a315b9f9bdcb867fe2cd98f74de6f66
2010-04-02 22:05:12 -07:00
satok
abed4c04c9 Close Cursor onDestroy
Bug:2557401
- set Cursor of ListAdapter null

Change-Id: I7d762c4ccdf6165d748136f5cf0e15b4a36b24a7
2010-04-02 20:08:17 +09:00
Marc Blank
802459f4d8 Don't show "Where: " in invite text if there's no location
Bug: 2563275
Change-Id: I2e978bc46b2ef292d749138500b53d61aefc4672
2010-04-01 19:14:02 -07:00
Marc Blank
66a9b199a0 Merge "Fix NPE in resetVisibleLimits" into froyo 2010-04-01 17:08:30 -07:00
Marc Blank
79976209d7 Synchronize getSyncKey/setSyncKey in Calendar and Contacts sync
* When the sync state of Calendar/Contacts is changed, a number of observer calls
  are triggered.  In addition, we might have a running sync.
* The syncKey operations need to be synchronized, because we may otherwise
  inadvertently use stale data when syncing, which would cause symptoms
  as seen in the referenced bug

Bug: 2561864
Change-Id: I03db58fe01c45778d271fad34d8d4940edefe8fe
2010-04-01 17:07:02 -07:00
Marc Blank
f5c3db12de Fix NPE in resetVisibleLimits
* resetVisibleLimits can be called via BootReceiver, which isn't in the
  Email app process, so it can (and apparently did) get a RemoteException
* This causes the query to return null; we have to check for it or we
  get this NPE

Bug: 2564904
Change-Id: I4b75e3c74ac7d1276f609f2fc957afdaa8da2f64
2010-04-01 17:02:17 -07:00
Marc Blank
78021cbbf8 Don't add "Invitation: " to meeting invitations
* Turns out that most other clients omit this.
* This has the pleasing effect of fixing the referenced bug
* Update unit tests

Bug: 2561821
Change-Id: I39f7db7e05be590373cd5f3d9b23c7ee21bde4f7
2010-04-01 14:42:10 -07:00
Marc Blank
82701d7725 Only send meeting emails after upsync is confirmed finished
* We were queueing up emails during our upsync, but before the upsync
  was complete.  If there were connection issues, we could pile up
  multiple copies of the same message, each of which would eventually
  get sent out
* Fix is to simply queue up the outgoing mail and send it all after
  the sync operation is complete.

Bug: 2515975
Change-Id: Ide3eb2deb6e959d0637d28efabd613efb3c6e209
2010-04-01 12:24:24 -07:00
Marc Blank
cf274512ed Fix conversion of UNTIL date in RRULEs to EAS calendar dates
* Because we were sending these in the wrong format, upsynced changes
  were failing, with the result that both the original event and
  the "new" event (from the UNTIL date forward) remained in the calendar
* Fix is to send the proper format; unit test updated to reflect the
  change
* Also, we only send the date of an UNTIL, rather than the to-the-minute
  time; it turns out that EAS expects to see only a day for UNTIL.

Bug: 2561818
Change-Id: Ic4eacbe96c713d58c637386ceab2cf22ebe3c2d4
2010-04-01 10:13:00 -07:00
Marc Blank
1c48450c02 Fix the VCALENDAR we send with all day events
* We need to send date only (without time) in the VCALENDAR file for
  all-day events
* Add unit test for this case

Bug: 2561789
Change-Id: I33a43c7a248059c97482ca147a23af083744118a
2010-04-01 10:10:41 -07:00
Marc Blank
1b3166e84a Merge "Allow upsync of photo/note deletion for Exchange contacts" into froyo 2010-04-01 10:06:27 -07:00
Marc Blank
53031a59a6 Allow upsync of photo/note deletion for Exchange contacts
* Always send up something when upsyncing photo and note
  fields
* This allows the client to delete the data, as these fields
  are NOT deleted if skipped in an upsync (unlike other
  fields)

Bug: 2558998
Change-Id: I9c874432108eedd84a351918f818c32e6e579dd7
2010-04-01 10:05:01 -07:00
Marc Blank
700b373007 Send CANCEL method with meeting cancellations
* We should be sending CANCEL as the method with cancellations
* Fix this and update unit test

Bug: 2527606
Change-Id: I2b982e4bfd1dbc57660cf578702edf49584d2957
2010-03-31 17:44:23 -07:00