* Remove unneeded DB read in onCreate (add runtime checks for problems)
* Move more exit/commit work to existing AsyncTask
* Add lockout of next & back keys while processing
Bug: 2792509 (probably others)
Change-Id: I0db030a1f1df94ba721510b5112519f260f5c0f9
* Move all db ops off UI thread
* Reorder methods in typical progression (they were random)
Bug: 3134660
Bug: 3134677
Change-Id: Idd4f411e937336bbd09bcc03d9ad036d22dc5e19
* Create sync & async versions
* Rename all callsites so sync is very apparent
* Fix callsites appropriately
* Clean up interaction between reconciler and setServicesEnabled
Bug: 3133770
Bug: 3134677
Change-Id: Iefbc7814d9aa390baea6345e450e2a4768bf0a9a
* Create shared async worker to check for duplicate accounts
* Use it in AccountSetupIncomingFragment
* Use it in AccountSetupExchangeFragment
* Debounce proceed/next button because work is now async
* Also, upgrade leftover old-style code in AccountSetupOutgoingFragment
Bug: 3134666
Change-Id: I5c24a6546d1ab66aedc5c4ac826ddf4f1ff53446
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 change is in top-level settings for a given account:
* Call saveSettings async on UI changes, instead of synch at onDestroy()
* In loadSettings, get default account id async
Also sprinkled in some TODOs for future whack-a-mole fixes.
Bug: 3133639
Change-Id: I5216c78d28b35fe47e43b48ad0db3a3e57b25004
- Don't show the progress icon unless loading from network
- Don't show the content until LoadAttachmentsTask finishes
- Disable the fade-in animation. It causes some weird positioning issue
with the GL accelerated webview.
- Use WebView.clearView() to clear its content.
- Use the "normal" layout mode, otherwise WebView won't use its entire
width
- Don't hide the vertical scrollbar
Bug 3287729
Bug 3225068
Bug 3295761
Bug 3304396
Change-Id: Ic4b8baac99b71dc0da58021849ff7c1dbd6dbe55
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
* Copies the icon from contacts
* Used whenever the sender doesn't have a local photo
* Used in notifications and in messageview
Bug: 3282187 (notification)
Bug: 3285156 (memory leak from the placeholder graphic)
Change-Id: I528cae20355aa8cce7be37b26f32aa90e092708b
* onAttach is called fairly early when rotating, so it needs to do
very little.
* or in this case, defer some work until onResume
Bug: 3170922
Change-Id: Ie760125c5f32b293f8ba1753f2993de0d7439b56
- Now ProviderContextSetupHelper.getProviderContext() invalidates DB cache
* MailboxAccountLoaderTestCase
- Save hostauth properly
- (ProviderContextSetupHelper invalidates cache before each test)
Bug 3280911
* SmtpSenderUnitTests
- Use ProviderContextSetupHelper to create isolated context,
which now also invalidates DB cache
Bug 3280913
* MailboxFinderTest
- When kicking Controller.Result methods directly from tests,
call the raw callback, rather than the one wrapped with
ControllerResultUiThreadWrapper, to make it synchronous.
Bug 3280898
* MessageViewTest
- Disable testOpenMessage()
This test doesn't work because it sets up test data in an isolated
context but the activity/fragment don't see them because they
use the real context.
I have no idea why it worked before... Maybe because there were
accounts/mailbox/message with the same ID in the DB by chance.
Bug 3280905
Change-Id: I6beb08c58fff102e90bebd2c35f70820268b9e62
* Add the checker fragment (instead of replacing)
* Don't refresh progress/error dialogs until onResume (a bit later)
* Don't recreate terminal error dialogs that were automatically
regenerated by the fragment manager.
Bug: 3020074
Change-Id: Ia2947965b758f6846c62ac394ce51da2432523ee
- Added accountId to loadAttachmentCallback/loadMessageForViewCallback
- Cleaned up LegacyListener/MessagingListener.
Removed the constructors which take messageId and attachmentId, which
are used to bridge loadAttachmentProgress, which the callsite doesn't know
these IDs. The inconsistency (only loadAttachmentProgress() uses the member
messageId) doesn't look too good, so extracted this into a separate class,
MessageRetrievalListenerBridge.
Change-Id: I46303e50df2b0e1fe8616e7c9cef632ac14f23aa
* This was an early attempt at fragmentation
* But it turned out that no fragment was needed here - it is
not shared or reused in any way.
* Precursor to doing final layouts for the activity.
* Tested working:
Automatic provider lookup
Manual
POP/IMAP and EAS flow modes (from accounts & sync)
Force account creation intent
Provider note
Duplicate account detection
Change-Id: I434edd4b152391d36e70440873932db3ec1a1c99
A recent change was short-circuiting the logic that loads
the UI from the account. This fix simply resets the flag
so the test can reload the UI multiple times as it tests things.
Change-Id: I7cc53e2766b78172e5a7b05088e94fdec99ae0d6
1. Error banner now pushes down the entire screen, rather than covers it.
2. Switch to the new ObjectAnimator for the animation to achieve #1.
(Traditional Animation doesn't do this)
3. Dismiss the banner when getting any callback with MessagingException == null
and progress > 0, only when the account is the one that caused the last error.
4. MessageListXL now registers its own ControllerResult to detect
connection errors, and more importantly, when they're cleared.
Bug 3240874
Bug 3240406
Change-Id: I07f8e2f589bb1d312859824f9ec398879003ba16
* Add entry point via com.android.email.CREATE_ACCOUNT
* Enable when in monkey mode only
* Walks through setup screens as if auto-populated and as if
connection checking always succeeds.
* Refactored some common code in AccountSetupBasicsFragment
* Removed obsolete commentary about auto-population of EAS accts
* Also fix minor typo in FLOW_MODE_ACCOUNT_MANAGER_POP_IMAP
Bug: 2735784
Change-Id: Ie7363836cd267673e963e60ae8bc32cab422576e
* For each of incoming, outgoing, exchange fragment, create a "settings
mode" which slightly alters the layout for use in AccountSettingsXL.
* Build a settings mode wrapper layout around the basic fragment
* Add new constructor to set "settings mode" and select layout
* Add wiring for cancel/next buttons in the fragment
* AccountSettingsXL configures each fragment in its settings mode
* Remove old actionbar "Next" options (no longer needed)
TODO: Pixel perfect adjustments, colors, fonts, etc.
Bug: 3188951
Change-Id: Iba26281b214333db301dd40d6c016b6c5a932c2d
The problem was that setIncludeQuotedText() always set mDraftNeedsSaving,
but it shouldn't be done when loading content.
(Do it only when it's toggled by the user.)
Bug 3162882
Change-Id: I6308376020f5be6d1a15b7865f8c7e02cf875eb9
- Set "Viewing FILENAME" as title.
- Home icon now has "back" arrow. Closes the activity when clicked.
Bug 3221312
Change-Id: I689499e10704d3c5d206df4aa12e21db9687c4c5
- XLFragmentManager.selectMailbox() used to hide the message view
when it's visible, but not anymore. Made goBackToMailbox() itself
hide it instead.
- Also made onMarkAsUnread() not call the unread callback, which was
already done in onMarkMessageAsRead().
Bug 3214538
Change-Id: I52fb8bb745cdaa517624a9aeec074122f10aac4a
The home icon on action bar and the system back key work slightly differently
on portrait.
home: full-screen message view -> mailbox list + message list
back: full-screen message view -> expanded message list
-> mailbox list + message list
Bug 3228524
Change-Id: I9bb598315ee829c6a8300a35d194a29c7a26291f
* Use dialog when in XL screen size
* Show different strings in launcher and in dialog/activity title
* Add cancel button to picker
* Move accounts query to AsyncTask
* Remove obsolete AccountsAdapter
Bug: 3093928
Change-Id: Ief771482c6db684c434c21cf92844c37a927d34a
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
* Fix incomplete tracking of mLoaded flag
* Defer validation on automatic reload of fields (on rotation)
until reconstruction completes and we're ready to do validation.
* (For Incoming only) Split loadSettings into configure and reload phases;
We need to configure the UI every time we restart, but we don't want
to reload & overwrite user-entered values on rotation.
* (For Exchange only) Properly show/hide trust certificates options on
rotation, and show/hide divider too.
Bug: 3170922
Change-Id: If3de30ee2d4d5668b29698af73f545510692777e
- Fix the XL layout: Don't refer to "GONE" views in RelativeLayout.
- Don't always (re-)load message on onResume().
This will make it lose all state (e.g. webview's zoom level) when coming
back from other activities.
- Change the default visibility of some views so that it'll look okay
while loading the message.
- Remove the use of obsolete fragment APIs.
- And some other minor cleanups...
Bug 3221066
Change-Id: I475bc229f4ea9e0e480f528389f5180e1d63fcd6
Call clearContent() in onDestroy(), instead of cancelAllTasks().
(This is what I thought I was doing.)
Calling clearContent() tells the BG thread that the activity has already
been destroyed, and prevents them from loading a message.
Also as a precaution, don't load a message if getActivity() returns null,
which means the activity has already been destroyed.
Bug 3134403
Change-Id: I0d591e0dd147f73e70b0c027dc8037482197f7b4
- We used to (re-)load the content on every onStart(),
which is called too when coming back from other actibities.
So if you go home and come back with the task switcher,
all state get reset, including webview zoom/pan and the current tab.
- Introduce a new flag, mLoadWhenResumed, to tell if we really need to
load a message.
Also:
- Start loading a message in onResume() rather than onStart()
to keep it consistent with other fragments.
Bug 3215269
Change-Id: I1cc6e12c3cc3c08065da3696603a3247f341469a
- Show them when the mailbox list is hidden
- Data flow:
MailboxListFragment ->(Callback)-> MessageListXL ->
MessageListXLFragmentManager, which controls the action bar.
(I'm not too happy with this flow, but we can at least avoid
issuing yet another query to get these data.)
Also related:
- On the combined view, show the unread count for account rows
Bug 3137891
Change-Id: I37fa1258d946329905bbbc0da905928bcf2f4cb1
- Make the home icon on action bar clickable, and show the back arrow with it.
- When clicked, it'll navigate you back to the main screen.
Bug 3138037
Change-Id: Ice783e6b594347bd73b94e71d29a61ad4f5ef972
- Removed opener/collapser
- Now the "fogged glass" is 100% transparent
- Move the landscape layout to layout-land
Bug 3137919
Change-Id: I4918f905aca698c78489e340dd330c7d4da8b106
- Now pressing back on the message view on portrait expands the message
list. Pressing back again closes the message view and navigates
to the mailbox list + message list view.
- Fixed the bug where the app icon on the action bar will lose the back arrow
on screen rotation.
- Code clean up.
Bug 3137919
Bug 3198987
Change-Id: Ia452f90ebe5599a2a8de905f4dabec6bd3ceb4a2
The layout is not final, but it's closer to the wireframe.
- All dimensions and colors are not final. I just made them up.
- The "+cc/bcc" and "add attachment" buttons are in the wrong position.
I'll wait for the pixel perfect before addressing them.
Bug 3138037
Change-Id: I72fc7557c28e72df08a3751c3c93acfb35749d68
- Show sender email address
- Show BCC for sent messages
- Don't show the default quick contact badge frame.
(change QuickContact to ImageView)
Bug 1501239
Bug 3138021
Change-Id: I0e8d91ad3a6a3a021c8aff0945a1ce11d13b2728
* AccountSetupBasics now has an XL version
* This is from prelim wireframes
* Final colors, text size, and positioning all TBD
* Fixed a StrictMode violation (counting #accounts in onCreate)
* Lightweight (non-shippable) fixes for functional phone UX
Bug: 3188940
Change-Id: Idf6cb514208eba07eaa20b20abfd5fcc3dae1751
Change how we show/hide CC/BCC. The new way will work for the tab UI too,
where we show the labels to these fields as well.
Also hide the "+Cc/Bcc" button when they're visible.
Bug 3138037
Bug 3192841
Change-Id: Ic78b3200c418430c8eade3ca1238b0d0f1ee4731
It still has a problem that no menu options show up on the activity,
but it's at least useable.
Bug 3192277
Change-Id: Ia891557020c863bfa53d45b7465d012aa411d67f
- Show email address
- Show inbox unread message count
Initially I thought of using a join to get accounts with their unread
counts with one query, but there were enough subtle issues that I gave up
on the idea.
Instead it uses a MatrixCursor to build a completely new cursor,
based on a regular accounts cursor.
Change-Id: I09e8762f131cc2bd3637e1a3d302088a3b5b2479
1. This CL implements the most common case, which is pressing the discard
button on MessageCompose.
2. This CL doesn't change the discard on message list, which is much trickier.
(We need to check the message type of all messages in the selection,
as selection can contain any number of any kind of messges in "All Starred")
Bug 3072556
Change-Id: Ib270cae726f8fd5abf7e0e7dfc34ce97019d5301
UI Changes:
- "Move", "Delete" and "Mark as unread" became action bar commands.
- The message view bottom panel now only has "newer" and "older" buttons,
with the current position in the message list. (shown as POS of TOTAL)
- The buttom panel is now shown only on portrait
Non UI changes
- MessageOrderManager now keeps track of the current cursor position
as well as the total message count.
- Fixed the "move_action" string, which was wrongly marked as non-translatable.
Bug 3169454
Change-Id: I599543f9e11000a4ee283d31fbd407b2ab53ac44
Filter out non-incoming messages using a subquery.
(because the message table doen't have the mailbox type.)
I was initially thinking of adding a new content URL for
the message table joined with the mailbox table, but it turned out
to be a bit of pain, so ended up using a subquery.
(one of the problems was that both tables had the "_id" field.)
Bug 3177220
Change-Id: I276efb70db1589835f3ddb8c7da4773e72d8691b
- Don't show a folder icon for regular mailboxes
- Change the count look
- Don't show counts for Sent/Trash.
Bug 3137965
Bug 3073147
Change-Id: I8fc0af8fc2d51968605fe4b570e5704453092ac7
* Clicking outside of the dialog actually "cancels" it
* Need to shut down the checker so it doesn't keep trying to
update it or close it when done.
Bug: 3120019
Change-Id: I5faa3c78b64d2aafc472b03b8086695edaf0b3fd
Workaround for the framework issue that the app context doesn't
use the right theme.
Also removed the use of obsolete methods.
Bug 3169944
Change-Id: Ic8d3ba2edb9300df549cb902855025815021ff49
* Check for existence of vibrator, hide option if appropriate
* Notifications with vibration are still OK, they are just ignored
* Minor cleanups & renaming
Bug: 2988758
Change-Id: Ia1fd259f57d33a75a54cf1016f66a1c072aba579
* 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
Basic changes for the new UI. At this point we don't know what the new phone
UI will look like, so I didn't bother trying to preserve the old behavior on
the phone UI. The changes will affect both the phone UI and the tablet UI.
- Send, Save Draft, and Discard are now action bar commands.
- Add CC/BCC and Add Attachment are now regular buttons.
- Activity title changed to "Compose"
- Some string changes per new wireframe
Further changes (actual layout changes for the latest wireframe) should be made
only for the xlarge layout.
Change-Id: I68c9c37dfdca6736b1e35053e7f196800fcfce2e
* Drag & Drop "move to folder" preliminary implementation
* Use "drag handle" button to initiate drag
* Use the message list item itself as the drag thumbnail for
one item; "Move N messages" for multiple (not implemented)
* Disable MailboxList update during drag
* Use ListView itself as drag/drop target
Bug: 3138004
Change-Id: I9243e4f583cf91caa1b9dd04fd64d52e8b28fa30
These defaults affect manual setup only. There should be no changes
observed in automatic setup, and no changes observed in EAS setup.
* user $email instead of $user as default login
* guess "imap." or "pop3." for server name
* propagate the incoming server name to the outgoing server name, and
replace "imap.", "pop3." or "pop." with "smtp."
Also, fixed a couple of leftover places where we were trimming
passwords (and should not be, since some people insist on having
spaces in their passwords.)
Bug: 2978634
Change-Id: I9b0e345aa9550b5e1cc29aaa22109f03da61af20
- Make sure an account shortcut really opens the account by
adding the FLAG_ACTIVITY_CLEAR_TOP flag to shortcuts
* Shortcuts have to be re-created for this fix to take effect.
- Remove Welcome.createOpenCombinedInbox/OutboxIntent, which don't work
with the new combined view.
* createOpenCombinedInboxIntent() is not used already
* createOpenCombinedOutboxIntent() is used, but is not final UI, so
removing it is okay.
- Fix MessageListXL.actionOpenMailbox -- now it really uses the passed
mailbox ID.
Bug 3144066
Change-Id: I2ee3f84c62a135351c10266c7ca6d5178c3a0ca2
While monkey is active, any clicks on "send" will be mapped to "save".
Drafts will pile up, but nothing will get out.
Bug: 2799956
Change-Id: I300d50001b43c8b61062143f9a0ac914aa2deaca
* Add preference for default text size
* Move saveSettings logic into onPreferenceChange handler
* Per user tests, default setting is large (not "normal") for XL devices.
* Use setting in MessageView's WebView
TODO: Investigate zooming header (to/from/subject/etc) as well.
Bug: 2282390
Change-Id: If32ed3626244b046941a461f974b3dbdb535f592
* new checkbox in debug fragment
* saved value in prefs so it's sticky
* each Activity calls a helper to enable/disable per that flag
Change-Id: I1af1ae9f401bc746cc97da00dfb0e06407b79d46
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
- Don't show combined mailboxes with regular mailboxes in the mailbox list.
- Add "Combined view" to the account selector instead.
- "Combined view" has all the combined mailboxes and accounts.
- Renambed these combined boxes. (e.g. "Combined inbox" -> "Inbox")
- Regular account view still has "Starred" mailbox, but it's actually
"combined" and not per-account.
- Re-order special mailboxes per latest wireframe.
Bug 3138004
Change-Id: I4c5860c6774b10c55ba0ca599373e51105432cf8
* For now, clicking on the notification takes the user to the
Welcome activity, as we don't have final flows for the new
account setup UI
* Need comment on strings; the problem is that notification
text must be rather short if we're to use the standard
notification display. It looks like newer UI will allow
3 lines instead of 2, however.
* Tested w/ IMAP, POP3, EAS, and SMTP
Bug: 2322253
Change-Id: I7ed6fa5599179870cbcdb14af062e956eff37ec5
There're differences between how SMTP and EAS use this callback.
We should eventually unify the behavior, but till then let's not
use sendMailCallback().
Bug 3116377
Change-Id: Ic5ecf16251c11ab2bd2e16e29bd417f1ece67f14
When removing the original, need to clear FLAG_TYPE_REPLY and FLAG_TYPE_FORWARD
flags too.
Bug 3125167
Change-Id: I64be98bc10b5e1a0b9242c1c528ed96bb0a24fc1
Added the "Include text" checkbox according to the latest mock.
Before:
- We removed original message when the user pressed X.
Now:
- We save the original message all the way till the draft is sent.
- The "Include text" check state is saved in the db. (to Message.mFlags)
Bug 3072414
Change-Id: Ie7bcca23bb6a02d676700027b0b6cb94b6627236
* At this point, there are a lot of toasts shown that relate to
sync failures (e.g. "Unable to connect to server"). To help
find where they're coming from, add the display name of the
account
* UX folks: Please consider what this UI should be
Change-Id: Id9b76cd22178727bedaf67ad0b7450edff99a791
ListView uses the _id column for some operations, including
onSave/RestoreInstanceState, and if the column contains negative values
they don't work as expected. The same assumption seems to be in other places
as well, so let's just avoid using negative IDs.
With this CL we now use two different IDs, one for ListView, which will
never be negative, and the other for us, the actual mailbox ID.
Bug 3049315
Change-Id: I263b4895212b5f8bb80c98acaf5c4eccd0bfef55
The problem is that ths method is called in a worker thread, so
there's nothing to prevent it from running just after/at the same
time as clearContent() (which sets -1 to mMessageIdToOpen).
If it does, it passes -1 to restoreMessageWithId() and crashes.
Also removed a half-obsolete comment which is a bit too obvious for its length.
Bug 3077387
Change-Id: I736d696046e6d8964a16c80515544c582aca3943
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
Current implementation ignores callbacks coming from
AccountManager, which should be called everytime
when this Activity finishes its job.
Bug: 3069222
Change-Id: Iea03cf94bdfe8da184e415bf7e759ddeb46ecdd9
Refresh mailbox list when changing the account, if it's been more than
5 minutes since the last refresh.
Change-Id: I5b1400bb881197e117b8863f850c368c2d1ccbc6
I was assuming MailService.resetNewMessageCount cleared notification,
but it didn't.
Doing it in Activity.onResume is clearly wrong because we don't always
have an account ID there. If we don't, we're passing -1, which clears
all notifications for all accounts.
We're now calling resetNewMessageCount() in MessageListFragment,
when we refresh the list, so we can remove it from onResume() for the Phone
UI as well.
Bug 3074056
Change-Id: Ib0bb2fbb0309a0784fb3a525927102f423e930df
The method to start ReloadMessageTask() when detecting content
changed events is delay-called, so need to make sure the fragment
is still in the valid state.
Bug 3069896
Change-Id: I1991d902e8044b4f8ca3ffd7d3e2e66005f1e960
Added "tabs" to the message view according to the latset mock.
This removes the necessity of putting a WebView inside a ScrollView,
which caused the infinitely-growing email bug (issue 6882).
Right now the tabs are actually just Buttons. Complete visual refresh
should follow it.
http://code.google.com/p/android/issues/detail?id=6882
Bug 2349275
Change-Id: I897a3a32e0dd7a90d637ac5ea1d47e5e65a1eabe
Now MessageViewFragment detects changes made to the current message,
and update the UI.
(Although it doesn't really know if the message is really changed, or just
something else was changed in the DB. It updates the header regardless.)
Change-Id: I35627c7aff129723b83605fc84521da907078571
Moved the buttons to the header. All other buttons below the message view
go away, so I just hid the old buttons.
Also now we stop trying to hide these buttons when entering contextual mode,
which fixes bug 3044284: Message view buttons get disabled when closing
quick contact
Assets were temporarily copied from gmail.
Change-Id: Ib178c6221dfab02832a10d0c0441044e4969fb70
- Pass the correct context to the adapter to make the text visible.
- MailboxesAdapter itself now has two modes (normal mode for MailboxList,
and "move to" mode), and use different views for them.
Change-Id: I2bd8a7d3a99d7fa3a047e653a77ec958e37e563b
* HTTP error 500 occurs with Exchange 2003 when the user tries to
authenticate with wrong credentials; we report this as "Cannot
connect to server", which is wrong
* Error 500 is supposed to mean "internal server error", but since
we know that an authentication error can cause this, we now put
up a better error message
Bug: 2933381
Change-Id: I9319a5ed6fbf4c92739f305b42b6b1cad7036a4b
- 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
- Now we show separate notification for each account
- New notification has sender photo, sender name, and subject
of the latest email
- Added the NotificationController class, which is intended to manage
all notifications besides "new message" eventually.
The framework doesn't seem to be 100% ready, and it's not clear how to
add the 3rd line in the expanded notification at this point. Need to
revisit it later to verify UI details.
Change-Id: I40193ee372cb6b2b7245c1588890f238b2469699
* 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
Implement basic behavior of the new layout. Supports collapsing/expanding
message list on portrait.
TODO Collapsing the middle pane should cancel the selection mode on
message list
TODO Implement animation
TODO On STATE_PORTRAIT_MIDDLE_EXPANDED state, right pane should be pushed out,
rather than squished.
Change-Id: I0306516845de3a1f05a102864c3dc4aba809a49a
The format string "The server %s requires that you allow it to remotely
control some security features of your phone." was being displayed with
the account name instead of the server name.
Bug: 3011124
Change-Id: I1aadb5790297777831dd69f04ea89641240b7b87
* assignContactFromEmail("") was causing the following exception on logcat.
"java.lang.IllegalArgumentException: URI: content://com.android.contacts/data/emails/lookup/,"
* This method is to set the contact to open when the badge is tapped,
but we trigger quick contact by ourselves, so don't have to do call this.
Bug 3013527
Change-Id: I16e1573bd82ffe5c39d30b69361354010f508f91
* Makes the side-scrollable again
* Required after making them non-long-clickable
Requires companion change in WebView, to allow touch events while
clickable or long clickable (it had been requiring both)
Bug: 3036477
Change-Id: I4cae46d047f825d2aab08d254287855b187e9207
* Separate/identical fixes for incoming, outgoing, exchange
* Unit tests
* Some protocols will fail anyway (e.g. POP3)
TODO: Some sort of warning (master only - won't backport that)
Bug: 2981433
Change-Id: I82984e5912fc7fcb88e747815d0fe33cb36605e7
- Move the notifiaction code into a bg thread.
We need to access db to fetch the latest message
- Extracted ContactStatusLoader.load to synchronously load contact
pictures.
Change-Id: I282ffb706ea8e14558bf29880a0fb952868b27e5
Hopefully it'll soon be fixed in the framework, but it's blocking what
I want to do now.
Bug 3028455
Change-Id: I43ed059b7766a3bfc29166464bd449d905b207e4
Now the class initially uses smaller timeout, and expand it when detecting
multiple changes in a short period.
This CL makes the UI look more responsive especially on the message list +
message view mode. e.g. Starring on the message view will quickly be
reflected to the message list.
Bug 3024799
Bug 3027832
Change-Id: Ie2d44c3769d43e3fd0f54ee526556eb3bad5e288
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
When a new account has just been set up and the app is still loading
mailboxes, keep the mailbox list empty and let ListFragment show
the progress icon, rather than showing "Combined Inbox" "All Starred" etc
without acutal inboxes, which looks like it's broken.
Change-Id: Ia3de4377b701f0033c5dc92f8b6b14651d4d8e1e
In message view mode, show MessageListFragment on the left pane.
TODO: Highlight opened message on message list
TODO: If the opened message is moved/deleted/starred/etc, update
message view
TODO: Collapsible left pane on portrait
Change-Id: I9b26f7291648da0e08bc526b79305ab65ce4d926