Only pass along the things we need. For the message dialog, we were passing
in an Activity that was not needed. In the ActivityHelper, we were passing
in an Activity when all we needed was a Context.
Change-Id: I9a93ae07ff2bbdce9466c7e991410c87fb610673
Removed the ugly doAutoRefresh() and byExplicitUserAction.
The intention for these was to supress auto-refresh when the message list
opens without any explicit user action, e.g. due to screen rotation.
However, now that we have the RefreshManager.isMailboxStale check with 5
minutes duration, this check is not really necessary. Let's just always
refresh mailbox if it's stale.
Bug 3493134
Change-Id: I6d0365ed7f8092304117d5f619d570b828edf76f
Without this, there's a small window where a fragment is in a valid
state after openXxx() before the list is loaded.
Bug 3420361
Change-Id: I7f84a94dec1419762aa6b24188c023abe974d2bf
* There are three pieces to this CL (sorry):
1) Move and/or rename some constants into emailcommon
2) Move Utility to emailcommon, moving the few UI
related utilities back into Email (FolderProperties
and UiUtilities)
3) Remove all references to resources from emailcommon
* The three pieces relate in that, between them, they allow
the emailcommon static library to compile cleanly
Bug: 3442973
Change-Id: Ic5e3abaa2a1b36999e0b6653c6c2134ea1bd544f
Current specification calls for the following:
* Droppable targets: do nothing
* Not droppable targets: grey text (hex #999999)
* Hover over droppable: use label/folder list pressed state
* Hover over not droppable: do nothing
* Destructive targets: background (hex #f10000)
We need to copy the resource from the framework as there is no supported way to
fetch the pressed state drawable during runtime. Adam filed bug 3370043 so we
can specify a drag target state directly in the selector.
bug 3154986
Change-Id: Ifd5c24a3dc46b5a1c64a149904657dda297ed047
startDrag() that crosses application boundaries will remain @hide until we get
more of the surrounding behaviors nailed down.
Change-Id: I2db8206b26d606d5592f185702380b889c029b19
The later closes the old cursor while the former doesn't.
LoaderManager takes care of closing cursors, so no need to close
cursors by ourselves.
Change-Id: Ib652e6877dcfc1fea51ffc862254eaeed451cdfa
This should fix the "attempt to re-open an already-closed object" exception
from SQLite.
(destroy()s don't have @Override becuase the base method is now depricated
and will be removed someday.)
Bug 3288666
Change-Id: I4780f6c8d89c7204b266608462c0833ad5af4e5f
Sorry it is a bit ugly, it is to allow this change to be
checked in prior to the first stage of the framework change
without breaking the build.
Change-Id: I1828579019ac0325d19c070a4c62cd79549e7d51
Show color chips for account rows and message items on the combined view.
Moved hard-coded color values to resource.
Bug 3138001
Change-Id: Ib93fb9d6e9592ebd0c297f83c3dee2358a80508f
* This CL brings drag&drop move in line with the current document
describing its functionality in the Email app
Bug: 3135124
TODO: Assets and proper creation of the drag thumbnail based on
those assets
TODO: Review long-press behavior re: press on subject vs sender
Change-Id: I6e1ee1a1f055feb041a0338f2f5c775a88620595
- Now it's a menu command rather than a button.
- Also string changed from "Send outgoing messages".
Bug 3166218
Change-Id: I82f6188365f9f6bc5a6d40fb23d774eebe181445
We need to pass the actual class loader. Passing null makes it use
the boot class loader, which can't find our classes.
Bug 3073304
Change-Id: I1c72c1d352cfc0a730aba1d83eb048a8cfa95b67
Show this when there's no messages, and no "Load more messages" footer.
i.e. Only Outbox, Drafts, and exchange mailboxes can show "No messages".
Also removed an obsolete comment.
Bug 2363624
Change-Id: If483d33cfacb186d0fe54b4f4382333a332be84c
- Now we declare all fragments in the layouts.
- Added clearContent() to MessageList/MessageView to keep them calm when not
used. (e.g. MessageView.clearContent() will be called when closing message
view and going back to the mailbox list+message list screen.)
- Some of the processes have moved from onStop to onPause.
- Now that we don't use the fragment transaction, the "restored fragments"
has been removed, and the separation between selectXxx() methods and
updateXxx() methods are gone.
Bug 3045555
Bug 3041502
Change-Id: I958897a8a38bccea1dfed7cfcd900e6dd52d2eed
* When changing account/mailbox, reset scroll position.
Applied same change as I4b368f51 to MailboxListFragment.
Also fixed a bug introduced in the same CL.
When CursorLoader detects content changed events and reloads itself,
only onLoadFinished() gets called, and in this case we should keep the scroll
position. This means mMailboxChanging should be cleared once data is loaded
for the next content changed reload.
Bug 3015916
* Don't try to make the selection visible when reloading the list for content
changed events.
We should make the selection visible only when account/mailbox is explicitly
selected. We can use the same mXxxChanging flags for this.
Bug 3036317
Change-Id: I93e3653da6816f491c1e99c9ef6d6b947be4de37
Hopefully it'll soon be fixed in the framework, but it's blocking what
I want to do now.
Bug 3028455
Change-Id: I43ed059b7766a3bfc29166464bd449d905b207e4
Hide the command buttons at the bottom of the message view when the message
list enters the selection mode.
Change-Id: Id825bb5183673e9def055b6480fa180beab51178
On the message list,
- Longpress toggles selection.
- Tap opens message
Now it should be in line with gmail.
Change-Id: I1ce441a13fd9b41e3d7d10c2f2e4d43e580db708
Also make sure the highlighted mailbox is always visible on the mailbox list.
MessageListFragment now just uses the default background color, which means
it no longer changes background color for unread messages or checked messages.
This should be re-implemented if necessary with the newer wireframe.
Change-Id: I9bfbe9f0711ea4ab56be27778b00298d3033123b
- Resetting the new message count is now correctly done on a BG thread.
- Added special content provider URI to reset the count.
(/resetNewMessageCount)
- This URI only supports update, which will notify only account
cursors.
- Fixed a problem that an insert with MAILBOX_ID/MESSAGE_ID/ACCOUNT_ID
triggers two notifications.
- This CL changes how we use notification URIs, but unfortunately
no tests for this part. It turned out MockContentResolver doesn't
support the notification mechanism, which made it very hard
to write tests.
Bug 2911646
Change-Id: I35b30a7e6bf2d57510486c7ed19b9f263d8c9b58
* UI is still temporary
* In this version, we check if the selected messages can be moved *after*
you click "Move", rather than disabling the button beforehand.
Change-Id: Ief2864d2a513001847844963b2b0cb6b714e8667
* Preserve the scroll position in the following transitions
MessageList -> MessageView -> [back] -> MessageList
MessageList -> MessageView -> [screen rotation] -> [back] -> MessageList
two-pane -> compose -> [discard, etc] -> two-pane
two-pane -> switch to other app, and switch back -> two-pane
* Don't always refresh on onResume. Do it only when requested.
This supresses unnecessary refresh when coming back from other full-screen
activities, e.g. MessageCompose.
* Also updated the comments on the back handling.
Bug 2769052
Change-Id: Id83dc3e778c35860d634c68ecac0c7a07cc4057e
* Now it'll refresh mailbox list (left pane) as well.
(With the minimal interval of 30 seconds)
* Always refresh inbox.
(also with the minimal interval of 10 seconds)
* Also make sure the "auto-refresh" won't refresh
non-refreshable mailboxes. (drafts, etc)
Bug 2929889
Bug 2930018
Change-Id: I09452d40aad6008a721cfbc3f491617224d7048f
Batch edit (toggle star, toggle un/read) used to work like this:
- Update DB
- Cursors get content change event
- But the list won't update immediately, because ThrottlingCursorLoader
postpones refresh.
- The list will update a few seconds later.
It wasn't really a good UX, so refresh the list right after the db change.
Change-Id: If483b305cf448ec4c73e65498044fd52cc144773
It's basically a partial revert of I3cb6c45c, with some clean-ups.
Also removed mHandler, which was unused.
Bug 2949762
Change-Id: Ib4e673c5829b99ba45fec449bffb62df84555a01
isEasAccount now uses getProtocol(), so it works even if the hostauth
hasn't been restored yet.
Bug 2929896
Change-Id: Iee902c18ef59680d8a7d4622230489ec7946f38c
Fixed the bug where callbacks for sendPendingMessagesForAllAccounts
are called on a worker threaed.
Change-Id: I28f1424cf67e15abf37c09b68050d1385f9ac3ee
It works for regular outboxes. Unfortunately it doesn't for
Combined Outbox, due to a bug in RefreshManager, which I'll fix
in a separate CL. (The fix might be rather large.)
Change-Id: Ib904e2c672801debe3dd64e4bb0a464564d098da