- Renamed XLFragmentManager to UIControllerTwoPane
- Moved UI code from the activity to UIControllerTwoPane
- Bunch of clean-ups (Mostly renames to make things self-descriptive)
- Removed unused class MessageListFragment.State
- Fix bug 4341563
Change-Id: Ia2230bd5ec501fbc5c92b07b2ba874153b577a39
- Now we always use a fragment as a callback, rather than assuming the parent
activity implements it.
- Use a generics trick to make sure the callback fragments really implements
Callback.
(Might be abuse of a language feature, but it's at least safer than runtime
check...)
Bug 4314669
Bug 4345496
Change-Id: If4048d456b298784097e202cffab170177ac7b2d
not making any real code changes:
* removed deprecated, unused methods
* remove 'throws' clauses when that exception is never thrown
* renamed method Controller#moveMessage()-->moveMessages()
Change-Id: Ifd006f760f0c19283e94a11a45c71295c8da35f7
For EAS accounts, we use the displayName column to populate the dialog. For all
other accounts, we use the serverId column. This means we will continue to not
have a fully-qualified pathname in the move-to dialog for EAS accounts.
Change-Id: I6dda89e037b0910180bee93a5bc091d65d2614b0
For IMAP, it's possible for a mailbox to exist on the server, but, to be
unselectable. Previously, these folders were never added to the folder list.
However, with nested folder support, we need to have these folders in the
UX so the user can get to its sub-folders (which may be selectable).
Change-Id: I11135fafbb14b40660983804fb86bd223e180d5e
With the recent changes to hierarchical folders, the move-to dialog is
quite unusable if you have multiple child folders with the same name.
While waiting for UX to decide on the exact display, make a few quick
changes to display the fully-qualified pathname instead of just the
child folder name.
Change-Id: Id5c1cc98364fbf7a82a05ac30e944507c7d16320
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
We now create folder hierarcies for IMAP. This also includes a nifty SQL
statement that will get your existing database into shape.
Change-Id: If07a0632e9b250cf0c33c3e16bfba5816beab94c
- some proguard flags were stale
- some deprecated methods were legitimately stripped - kill the tests
for them
Bug: 4330508
Change-Id: I6d5c46c99d002895377f32b203844e9a6dcf0074
The Fragment can get detached from the activity prior to performing an
operation, so for now, use the context reference that the fragment has
instead.
In the long run, we should avoid referencing the application context,
but a restructuring of ActivityHelper may help instead.
Bug: 4332451
Change-Id: Ieabff8ec0cc363f7d2eebd3ed47c230df9959886
This introduces an in-memory cache of file paths for an attachment so
that we can install from a filepath instead of a content URI.
The cache also allows us to prevent duplicated files made if the user
hits save multiple times (the save button is disabled).
Bug: 3338997
Change-Id: I56651a55eef2f1a3f24b6d936c37736c4fc3d295
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