- Now that fragment useage is simplified (e.g. no new fragment
creation for nested mailbox navigation), most of the fragment
operation code for 2-pane is reuseable for 1-pane as well,
so moeved it to the base class.
- Temporarily added "Show all folders" as a menu option on 1-pane.
- Added "opener account id/mailbox id" to the message view fragment.
They are not used by the fragment itself, but they're used
by the UI controller for the back navigation. (And now the UI
controller doesn't maintain the current IDs by itself; rather
it gets them from the currently-active fragment.)
- Use async fragment transaction on 1-pane too, now that it always
gets the current state from the active fragment.
- Changed the timing when we install fragments from onAttachFragment
to fragments' onActivityCreated. So now all installed fragments are
created.
TODO Now that all installed fragments are guaranteed to be created,
remove all special trealment for the fragment argument accessor.
(They were meant be safe to call before onCreate, but it's not
necessary any more.)
Change-Id: I0ed100c3f0b460835b164c0dc908ea483a4e46ee
Upon hitting reply all, all email addresses except that of the source message sender
go in the CC: field. Previously they all went in the TO: field. Updated 3 tests
in MessageComposeTests.java (testReplyAllAddresses1(), testReplyAllAddresses2(), and
testReplyAllAddresses3()) to reflect this new behavior.
Bug: 4534058
Change-Id: I852daebdd8843a45f685eecc67f757c87925bb6c
The last touched time will track the last time a message within that mailbox
was read. This will be used for the recent list.
Change-Id: I97a5fda52fd09b416fc3278a11a87b807da05c9c
the spannable string builder assumes the given char sequence is non-null.
we now ensure that's always the case.
Change-Id: I12e7081e5348d797feab6ad17452b73a52feaf13
The mailbox list for widget configuration should only include two mailboxes --
1. an account's full inbox (both read & unread) and 2. an account's unread
inbox (similar to #1, but, only contains unread messages)
This also applies for the combined account view.
Change-Id: I5640fd8572d385703db04ca613f5b1f35f3952da
- Moved MailboxFinder logic to UIControllerBase so it can be reused for 1-pane.
- Make sure MailboxFinder runs only while the activity is resumed.
(we don't want to get callbacks when it's not, because we can't perform
fragment transactions.)
- Make sure MailboxFinder is restarted if the activity gets re-created
while it's still running.
Bug 4522010
Change-Id: I4486ecfa44dd700d28c424bc5eb7104d3043cf7d
- The drawable for the active drop target background was static, and
shared between items. But StateListDrawable has inernal state and
shouldn't be shared.
- Also make sure not to set the same background more than once.
For some reason, they will cause visal glitches when we switch to synchronous
fragment transaction.
Change-Id: I10fede2ad4e595f74d61768907b5b70fd5d4da21
The way the config activity communicates with the widget will be through
shared preferences. We now read / write shared preferences for widget
configuration. One step closer to the configuration activity...
Change-Id: I7c54259d84ad8d304a61652af5b3edff4c7d67db
Now we reuse the same instance of the fragment for nested mailbox
navigation. (Don't use fragment transaction)
"CursorWithExtras" now only has the child count, so I removed the
bundle version and added a concrete class to MailboxFragmentAdapter.
With this CL the nested mailbox navigation on 1-pane should work, but
not back navigation. (Back press event isn't connected to the
fragment yet.)
Change-Id: I2c23651d9c8edb5fe062c68bbb9b462c8949ded4
The new widget UX allows for a single display mode for the widget. This can
be configured when the widget is added or at a later time during widget
re-configuration.
We don't have the configuration activity (yet). We first need to restructure
the widget to take a single account / mailbox combination. Hooking up the
configuration activity will occur in a future CL.
Change-Id: I38a5796c44938a6abd0d2bb50ac77241cc86a497
With this CL, we have "All accounts" in the account list and "Inbox" & "Unread"
in the mailbox list. "All" + "Unread" doesn't play very well, so, we should
seriously consider whether it's worth the effort to support it right now.
Change-Id: Ia1c07c89a535a68ffe6f3ae5009b5b6591a9acdb
Instead of overriding onReceive() and processing messages ourselves, we should
be overriding the standard widget call back methods, onUpdate(), etc...
Also added a deleteWidgets() method in the widget manager to maintain beter
symetry between create & delete.
Change-Id: Idc84bf220a1e14776a080cfee0b28df39f9a1450
We need to move some of the calls from shortcut picker to the activity (such
as creating the actual shortcut and terminating the activity). This should
let us to reuse the picker fragment from the widget code.
Maybe other callbacks are needed, but, this is a first pass to get something
that "should" work.
Change-Id: I6467979951ad73b5817ba543683f62f831ac73a4
Do all the clean-up stuff in onDestroyView() rather than onDestroy(),
so that no callbacks (such as the controller callbacks and
AsyncTask.onPostExecute()s) will work when it doesn't have views.
Change-Id: Ic4aa771d28209ee7b56ac4d228488768ae998dd8
All shortcuts now have a mailbox associated with them. When launching
the app via shortcut, we want to show the messages within that mailbox, but,
we do not want to navigate into the mailbox; unless the mailbox has children.
Since we don't want to put too much informatin into the shortcut, we must
perform these checks at runtime. So, if ever we try to load a mailbox that
doesn't contain children, we load it's parent instead.
Change-Id: Idb5dbc7cd740b270a0068811abe685f963ca2c0b