Create a new instance of the mailbox list fragment when navigating through
nested folders. (drill-in / going back to the root mailboxes.)
Also the fragment manager now has two public methdos for navigation that
are called by the activity. They will be the common interface for
the tablet UI manager (i.e. MessageListXLFragmentManager) and the
phone UI manager.
- openAccount(accountId)
Open the default view for the account. Used when switching accounts.
- open(long accountId, long mailboxId, long messageId)
Opne a particular view. Used when, for example, opening a message from the
widget.
Known issue:
- This breaks drag&drop through nested folder navigation.
This is because a new mailbox list fragment created during D&D doesn't
get the "drag started" event.
Change-Id: I69c14b71b4f681f8ab57f3ddd2cff9744a832076
The logic is simplified by creating database rows for new mailboxes down
in Imapstore. This means that the difference between local and remote folder
lists are mailboxes that need to be deleted.
Note -- this is still not the final CL. We probably update the database too
frequently and the column values aren't updated to support nested folders.
Change-Id: Ifbe4e0cf74ba81e5b6156b452ab72c56c35235ab
There's no need to create a URI just to rip in appart again. Additionally, to
support additional changes (i.e. to use Mailbox instead of Folder in the
MessageController), we need to store the actual Account.
NOTE -- This change only affects IMAP and POP3. SMTP will come in a follow-on CL
Change-Id: I400036a17271c99272fd9c603547dcd713b50b9d
This now uses an XML layout that gets inflated and computed after a
layout pass. The drawing simply uses the coordinates stored after the
layout.
This makes it a lot easier to maintain the different views and allows us
to simply provide different XML files for different modes/views, isntead
of trying to hand tweak Java layout code.
Some TODOs - clean up the "paints" and optimize the layout/drawing
computation
Change-Id: I784919f726bd4d80aba8744a8f047fcfe79ad93a
The phone code has gone stale and ignored auto advance policies - this
fixes it, though that code is likely to get merged anyways.
Makes it so that auto-advancing to the end of the list pops back out to
the message list
Bug: 4302999
Change-Id: I609747c0a19672b8aa56d2c0ab57533823899e47
We can now drill down into nested folders during drag-n-drop. Simply hover over
a collapsed folder for 750ms and it will auto-expand.
Change-Id: Ia9b42dd87e19c2ebdf8675c761cb1453bb26d158
ListStateSaver did nothing more than hold a Parcelable, and was a
Parcelable itself. The abstraction may have been useful at some point,
but that time seems to have passed.
Change-Id: I2f1f45828782ab44aa8935aa50b825e07845a2a5
Now the two pane activity survives longer on the phone, as opposed to
crash immediately.
(It still crashes when you open the message view.)
I'd like to submit this because:
- It'll make my experiment easier
- It wouldn't do any harm to the tablet UI.
Change-Id: Id716a42c63026cf09b30ff6a63e0e58311aa53ed
- adds a compile time dependency to the guava library
- changes to use @VisibleForTesting in places to ensure it works
Change-Id: I2c5c4f9861234fec3613da011185e5c11f228466
We were handling the subfolder icon strangely. Sometimes it was shown in the
folder_icon view and sometimes in the folder_expanded_icon view. Now the
folder_icon view is used exclusively for system folders (such as inbox, etc...)
and folder_expanded_icon is always used for the expanded/collapsed icon.
Change-Id: Ifff9a44cc792497a469c2408337dafd431f6dfc3
Batch operations that occur when the current message selection is
contained within the affected messages will now force the selection to
advance according to the auto advance policy to the next unselected
conversation.
Bug: 3409809
Bug: 3405864
Change-Id: Ibe75f32b9263ef6f3fb2314a07e63980f437f988
If a mailbox doesn't have any sub-mailboxes, only allow selecting them to view
any contained messages. Do not update the mailbox list.
Change-Id: I6f469bf20a57dc440885402084c21ff184f13dff
The layout requires different indentation. Although the exact layout may
change, we will likely always need to differentiate between the different
mailbox types.
Change-Id: Ia2ff84b552873f92fa45563b2dc0868c29bec3e3