Don't do a full reconnection, but just a stopIdling/startIdling pair. In
order to be able to do that, make sure the IDLE connection is fully shut
down when stopIdling() returns, for which some refactoring was needed to
avoid a deadlock on mIdledFolders: the ImapIdleListener callbacks
acquire this lock, so stopIdling() now MUST NOT be called with
mIdledFolders lock held.
Change-Id: Ifa1677d7845722ccee2b1b9380c7b7e4014bcd97
It may happen (depending on server and/or timing) that only an EXISTS
response is sent to the IDLE connection when new mail arrives. Don't
discard that response, but evaluate it to determine whether there's new
mail by checking whether the message count increased.
Change-Id: Ia49714e6cd42dd71dfda8b7bbdf1fd622972edda
This crash happens when the server isn't able to resolve the MSN:
FATAL EXCEPTION: IdleReader 3:Inbox
Process: com.android.email, PID: 3200
java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
at com.android.email.mail.store.ImapFolder.extractImapChanges(ImapFolder.java:1641)
at com.android.email.mail.store.ImapFolder.access$700(ImapFolder.java:77)
at com.android.email.mail.store.ImapFolder$1.run(ImapFolder.java:294)
Change-Id: I8a8c7cf3f2949630ee9db3646e5832246d69132d
Fetching messages from an IMAP folder within a specific date range returns
messages marked as deleted, also. Unlike every other getMessages() method,
which filter out deleted messages.
This leaves server deleted messages untouched in the mail conversation
view, even when the folder is synced manually.
This patch adds "NOT DELETED" to the IMAP search command, when searching
for mails in a given date range.
Change-Id: I49e4adfcab9a1de1d1baa4700462a82df651f3cb
b/17443087
Now for certain folder types, when they are first created,
the uiSyncStatus is set to NEEDS_INITIAL_SYNC. This prevents
us from displaying the empty state until after the sync has
completed.
Change-Id: Ib04c915f6972ecb75092dd50e90dee8647ee2f64
This reduces the tombstone down by 100K
A follow-on cl will remove the unused resources from the tombstone build
Bug: 17414014
Change-Id: I5d38811b17a5273ec726e750ab123e10e36cee04