- Message list is collapsed by default in 7 inch and 10 inch portrait. It can cause confusion when searching.
- We should uncollapse the list in this case.
Bug: 5587501
Change-Id: I2a272e28e1cad7895049c4aa4ee1d8d2918efba9
* In the same upgrade step in which we add AccountManager accounts
to IMAP/POP accounts, we now make Email syncable for EAS accounts
* This step is hit by all users upgrading from GB/HC -> ICS
Bug: 5582884
Change-Id: I11a06e2ad72ffed20c31f5d8be81705642f552a5
Fixes b/5533550 [Verizon Reported Issue]Add one-time notice to user when auto sync is disabled due to security policy
Change-Id: I1d5380928429a829dbcb31d5f7309f9bc98e8dff
Fixes b/5533550 [Verizon Reported Issue]Add one-time notice to user when auto sync is disabled due to security policy
Change-Id: I90e295158136def96502f78c94a5e3ec00a059bc
* Remove PolicyService APIs policiesRequired, policiesUpdated,
isSupported, clearUnsupportedPolicies, and isActiveAdmin
* Add PolicyService API setAccountPolicy, which is the sole
method by which security policies are promulgated
* Add protocolPoliciesEnabled and protocolPoliciesUnsupported
to the Policy class; these are packed, localized strings
indicating policies that the protocol itself have enabled
and/or cannot support (i.e. these are policies that are
unknown to the DPM, e.g. don't load attachments)
* Differentiate in security notifications between three kinds
of policy changes - changes that don't require user
intervention (e.g. reducing requirements), changes that
require user intervention (the legacy notification), and
changes that make the account unsyncable (e.g. the server
adding an unsupportable policy). Handle all possible policy
changes cleanly.
* Make security notifications per account (with multiple
accounts, notifications would get arbitrarily munged)
* Expose ALL enforced policies via the account settings
screen in two categories: policies enforced (including
both policies enforced by the DPM and policies enforced
by the protocol) and policies unsupported (note that these
can only be seen if policies are changed after an account
is created; we do not allow the creation of an account
when any required policies are unsupported). Add a
button that forces a sync attempt, for accounts that
are locked out, but whose policies have changed on
the server (this would otherwise require a reboot).
* Updated unit tests
Bug: 5398682
Bug: 5393724
Bug: 5379682
Change-Id: I4a3df823913a809874ed959d228177f0fc799281
This is a theoretically dangerous issue that has surfaced only as a
monkey bug so far. The issue is that callers that create an Intent set
some global state, expecting that state to still be valid when the
Intent is handled. However, if the process was killed before the Intent
could be handled, or if that global singleton was not saved properly,
that state was lost and SetupData was never initialized properly.
Bug: 5337276
Change-Id: I6bd08a0dec13f54c7ba8d536ebdc87e6c559c483
We were unfortunately passing through all touches and never intercepting
events from the message ScrollView. This was desirable when the drag was
over the message content, but in the surrounding chrome it would lead to
pressed states while dragging, sometimes accidentally causing text
selection. This change makes that logic special cased to WebViews only.
Bug: 5361173
Change-Id: Icf535c015cec4a79a5ad7eba3d6c5aa7bd572a8a
- This makes dimensions according to scaled font sizes, and also resets
the activity properly (invalidating drawing caches) when that font size
happens.
Bug: 5287961
Change-Id: I04cf117b027befd6a065edeadf95187f62fffc8a
We always switched to combined view when we tapped "Starred" in a
mailbox list. This was confusing since tapping to show the mailbox list
will take you to the mailbox list for the combined view, even if there's
only one account on the device! Other confusing things happened like
showing coloured account chips, even if there's only one account.
This fixes it so that we pass the account ID when building the
selection. Lots of wiring to make it happen, but very little change
overall.
Bug: 5388326
Change-Id: I1fe52f211cceca0c1b26581e200f3c7adcd0734a
This only applies for the main EmailActivity. The compose window still
uses the user-visible setting for "Default account" as the default
account when handling intents like "mailto:" links.
In the future, we should probably just remove that setting, now that we
remember the last account in the reading-email case.
Bug: 4460450
Change-Id: I4b3e7c9e13b7e89320891346383780cd670492ae
We were never clearing the error state when typing in a field that
needed to be non-empty.
Bug: 5422268
Change-Id: Iabe8c6f6c348b4210695c3eeff98e79e60f83d08
Also do some cleanup - we were creating a background task for opening a
message, when in the common case we don't need to hit disk for any
reason. This was also an issue since the async opening of the message
caused the list item to go into an "active" state, changing its colour
(this problem still exists in starred view now, though)
Bug: 5222509
Change-Id: Ie94109df42406fd6eec1e1255bb0827626ba0628
* I don't know how the timestamp can be zero for a message, but we
shouldn't crash, and it's late for adding new localizable text
Bug: 5410814
Change-Id: Idf1c8b0d4c0b7e0e2b2466643ea52e5244d1bb5f
In cases where the account gets removed, we accidentally hold a stale
cursor. This leaves a ticking bomb, which generally explodes when the
list tries to save state.
Bug: 5367199
Change-Id: Ibcd0c281c9668778f7d1d2abba472ffff8b22879
* We were using the deprecated ConnectivityManager for this; we should now be
using the setting in ContentResolver
* Also, remove broadcast receiver code that is no longer relevant
Bug: 5405352
Change-Id: I985a95071aea92d235a2708925f775b817ba2328
The data is usually really quick, but it's enough to cause it to flicker
if we set it with an empty adapter first.
Bug: 5087874
Change-Id: I2fc37751edcaa8ffeee144b85417b48e94b4ba4f
- default to e-mail address for account description
- try to use the phone's profile info for the user name
Bug: 5369190
Change-Id: I01cb567f31999bce79426eee58de8fbbc09e344d
* Apparently, this is required via Microsoft specifications, though
there had been an earlier decision not to do this
Bug: 5384246
Change-Id: I05b6c2d21d3b295ad696f26a7a13cba6f1974e83
This fixes an issue where it loads drafts too quickly on orientation
change (and a previous save has not completed). The save was explicitly
put on the serial executor for this reason, but the load task was
missed. whoops.
Bug: 5361711
Change-Id: Ic764e15deb7cd8b88fa4f87e7cbdf435d7d79c80
- properly put actionNext on most fields
- make sure actionDone doesn't do funky things with focus so that a
non-editable field gets focus. we may want to consider not making this
focusable in the future.
Bug: 5367827
Change-Id: I4e7bb13801d96a4f1e6fd02a2d43713200738b18
Fixes bug:5369868 Email crash while changing orientation when there is a security exception pop-up
Change-Id: I8fc530c994d5015cb76039d2f309d98ed2c3761f
Welcome had some assumptions that some things had to be done
asynchronously, such as checking inbox status.
This can now be done on the UI thread and so transition into Email can
be done immediately in onCreate, except if there's reconciliating to
be done
Bug: 4599569
Change-Id: Iaaac21e73c985c60e1b7974fb0429948b35968e4
- cached font colors
- cached date layouts
- remove unneeded text size sets
- change layout flow to be using standard layout mechanisms
Bug: 5186135
Change-Id: I9c6a659ef50b9e37a51e2463fe2bdf01974291b7
* We turn them into "push", which is the external representation
of those states (ping and push/hold)
Bug: 5327559
Change-Id: I843f37e4619f1c33cdafbf8a3a6a39abb8e8834c
* Change handling of the providers.xml file to allow asterisk
as a placeholder for an individual domain name part
(the previous behavior was a very greedy wildcard)
* Add hotmail aliases using the new scheme
* Update unit tests
Bug: 5318329
Change-Id: I73a0dfcb956830b18c5460a1b3ddfc58459d08c9
In HC MR2 we introduced a column for a parentKey, but AFAICT, did not
use it. It was populated with a null value. The first upgrade code in
ICS assumed it was '0' which failed to upgrade it properly.
This prevents IMAP accounts from being broken when upgrading from GB ->
ICS.
Bug: 5252620
Change-Id: I000253b7c02ac1706710bdb21a820293f09cbea5
This addesses UX's #1 concern about the UX flow for servers that require
certs - users don't know what to do after an error, so they want to kick
them into the certificate selection flow.
Bug: 5280071
Change-Id: I566707b9e680b3ef0b4c0cc8a07a8ad2c825ecaa
Once again, I missed an asset in the drop, since there is actually a
sepcialized one for the message view.
Also, use styles to fill out the entire height to the header to make the
touch targets bigger, as consistent with Gmail.
Bug: 5290357
Change-Id: I6754b3ef986dbf57c7c68bc595cf54cc9d76123a
- dropped in bigger assets for mailbox triangle
- dropped in bigger assets for checkbox for xhdpi
- dropped in proper star asset for message list
- fixed some padding issues for message list item
- remove the color label from "Combined view" in the account drop down
Bug: 5248125
Change-Id: Ic15d98013f2afb42bf55c327654009ef8baa1b78
This introduces a ScrollView that doesn't "lock" scrolling in one
direction, which makes it really difficult to view messages on a phone.
Bug: 5039459
Change-Id: I75e6824952c843140844873bec77af55b194f776
Since account deletion is async, the deleted account still shows up for
a split second. We can do something smarter about this later, but not
for ICS, and not worth it for such a rare event
Bug: 5116203
Change-Id: I82cced09b7a098e4a1a960f2d8ad75c1979b0649
This is a kludge - the real solution is to use the proper action modes
in the framework. That's too large to do this late.
Bug: 5232787
Change-Id: I76b68b250c384bdabf51e8831f833afd65c0c73b
- this syncs up the UX repo with the developer repo so that the assets
now match. We should be able to do wholesale drops/diffs from now on.
- lots of changes to widget so that it is (mostly) up to spec now, and
matches the preview
Bug: 5225385
Bug: 5205578
Bug: 4320895
Change-Id: I8ccbadcfc17cdb406599497edc91165809f55d68
* A change in history requirement is not intended to force a new
password immediately; we just tell the DPM what the new
requirement is...
* This is one cause of the below-referenced bug
Bug: 5221119
Change-Id: I890b42d4eab4fbd9d34665fbea138f179d5d3215
* We were using the getSelectedItem() from the deletion spinner to
set the account's deletion policy, even if that spinner was
invisible (which it would be for IMAP).
* The result of this is indeterminate; sigh
* The fix is to make sure the spinner is visible before using its
value
Bug: 5216422
Change-Id: I7e44b5e8127f5277693f7e962899e8642be55239
- this is leftover from a time where we re-used a single WebView for
multiple messages. The current architecture does not rely on that, so
the clearView() is actually not useful. Worse - it's causing issues
because the operation in the WebView is asynchronous, so a clearView and
a load of the content in quick succession causes a race condition,
causing items not to load
Bug: 5205296
Change-Id: I5ee6697bdf53a033ba1c7f21170820259bf830d1
* We weren't checking for it in determining whether our policies
were active; because of this, we never actually SET the policy
in the DPM
Bug: 5193399
Change-Id: I276901be21be681f66891f5374ec58cf1ea7b4be
We had two separate "height" values in XML that weren't consistent - one
was used for the coordinates and one was used for the actual item i nthe
adapter. This made things off slightly when the values didn't match
(i.e. on tablet wide mode).
Also fixed an issue with paperclip icon not aligning with date on wide
mode
Bug: 5184169
Change-Id: I1d80bb9c685fdd8216fcaef26bf6ad715eb74c4c
* The existing IMAP search code is well-known to be primitive and
largely broken. In particular, it fails with any non-ASCII
character and with a variety of symbols (e.g. quotes, slashes,
etc.) Basically, it's an accident waiting to happen, returning
empty data sets even when the query might reasonably be expected
(or known) to return valid data.
* The current CL uses the IMAP literal string format to represent
the query text; this string can be sent either in ascii or in
UTF-8, and since it is sent as an octet (byte) count followed by
8-bit data, it also solves any quoting issues that might come
up. So, we kill two birds with one stone.
* The bug in question was punted to a subsequent MR; however, I
think it would be a mistake to ship the code without this
CL, which has been tested against the three common IMAP servers
that we aim to support.
Bug: 4690713
Change-Id: Iaa542bfc56737871f3cbc9c83f0e768415a7f2b6
The MessageListFragment doesn't guarantee to return a non-null Mailbox -
it can be null for virtual mailboxes. We weren't checking this properly.
Bug: 5171577
Change-Id: I272f6a71633680d3424b049d730500fb5f04935e
Removal of the accounts header broke code that assumed the list of
accounts started at index 1. Change code so that it doesn't rely on that
assumption.
Bug: 5171557
Change-Id: Idde445cac914c4a742c54e291d808b991e612c5f
Also turned off extract mode for subject/ body as we already
did this in gmail at request of ux.
Fixes b/5161118 TO field drops all entry chips on rotation
Change-Id: Iada93bbf7ee457801340167aa1086b03b87b4268
- also removes the "Accounts" header as requested by UX
- also tightens up width on tablets a little.
Bug: 5160847
Change-Id: Ie8da1f9d2ec0e53421a435897fc9bb50991a20b6
- tweaked padding for 7" portrait tablets (required copying tablet
layout to two spots so that the 10" portrait tablets still work
normally)
- removed checkboxes on phones and toyed with fonts
Bug: 5165210
Bug: 5156282
Change-Id: Idd3a1c53dc32fefc14854b08a0a9eaebeb5d2f44
The "message saved as draft" toast is distracting when the user is going
to pick an attachment. Stop it from happening.
Bug: 5156507
Change-Id: I3c02ec9c0a17c9d5ea3d02377cfc6d6cd8870a49
- the "offline" icon isn't much use for a lot of our (non-gmail) users
anyways and it takes precious real estate in the header
Bug: 5147565
Change-Id: Iea3df0c1c3756ff749e50ce46a7437488dc169e7
- openMessageSync for EML files touches the provider since it copies
things into the Message table from temporary attachment data. Therefore,
acting on a reload of an EML message will trigger the observer, and do
the same thing.
- still unsure when or how this regressed, but I can't see the previous
behavior being correct regardless
Bug: 5150886
Change-Id: Icfcea7beb95b0fbb026184d6fdecc93c810569ef
* Caching Senders isn't a great idea; during validation, it causes
the bug referenced below. It's a small optimization anyway, so
we'll just get rid of the cache.
* Also, remove unused code
Bug: 5144603
Change-Id: I539284dfa6d457fffd5cb011b8e1db5881249636
Always populate the contentDesription rather than only
when dispatchPopulateAccessibilityEvent() is called. Makes
life easier for testing.
Bug: 5129286
Change-Id: Ide897b81ff30708b9d637cebbf8eb63f06084a74
Creates isTesting flag in MessageListItem. When set to true,
populates the contentDescription of each message on initialization
rather than on touch.
Bug: 5129286
Change-Id: Ia0df93bf7399859a750a3fa01e5429436b9daf16
This makes "Inbox" the top level with the mailbox list one level under.
All "up"/"back" navigation is now identical and will take you upwards
towards the inbox before falling off to the launcher.
This uses a kludge and the "backstack" of the activity is not actually
represented now by the mPreviousFragment variable; it just uses tricker
in the onBackPressed()/shouldPopFromBackStack() calls to do the right
thing.
Bug: 5111629
Change-Id: Ide88efc78fe4f40d89b5ab83c480318e81902554
This eliminates the excessive padding on the left and makes the hint
text behave according to the new spec (since it uses the new action view
expanded mode).
A later CL will actually change the item to use the action view
facilities of the framework (so we don't have to manage our own custom
views).
Bug: 5109953
Change-Id: Ia3e4a1e64e65b3b8bb3e708b31636f4186acfd46
Removes done button from edit quick resposnses fragment and
centers the "create new" button.
Bug: 5111173
Change-Id: Ia847725e5d3bdc67426f76dd386f2263befe4189
This is needed so Exchange can fire up Email activities.
No change other than the move.
Bug: 5122497
Change-Id: I6ee3f61654745fafd444314ecf75eb8ae6bbd01d
There are cases when subject and snippet re null. If the MessageListItem
is not being recycled (i.e. it's the first time), this can be detected
as "no change from the previous state (of being empty)", which doesn't
initialize mText.
Bug: 5129307
Change-Id: I6df910fb365b7e8c1dd298f787d21fbb438830fd
- hide sync options for mailboxes that aren't actually syncable
- hide search icon for any mailboxes that don't have any server
counterparts
Bug: 5086134
Change-Id: I60d5e5d1225a946464c5ea273c7d4b9299f433e5
- Since the Email and Exchange processes do not share UID, we need to
ensure the call to the KeyChain to request the certificate happens in
the Exchange process
- Misc UI fixes so it's not so ugly
Bug: 5117682
Change-Id: If80698850902e0178eb0998493b4cf4b89e2a15c
- this still needs an asset for the "checkmark" button when showing
"always show pictures" prompt - using a checkbox on state as a
placeholder but it's probably not the best thing for it
Bug: 5037485
Change-Id: Iaa1d0f865bf0c01fde0b0cb37ea1c395345ed582
* Heh.
* We were using the login from the HostAuth in creating the Account
Manager account, but it should be the email address from the
Account itself; in IMAP (and usually in POP3) these are the same
* But not for juno.com!
* Updated unit test coming in another CL (tests are broken in a
strange way, and the bug is FAST-blocker)
Bug: 5110013
Change-Id: Id11799e8b30a0420804f00c2d2f265e44e39c4c0
- immediate issue was the the mIsFirstLoad flag was on the Loader
instead of the list - since the Loader is retained on rotation, we
didn't the initial list setup after rotation leaving the list in an
infinite "loading" state
- second issue was that list scroll state was being handled poorly - it
was always saved and restored needlessly. However, if two subsequent
loads happened prior to a layout, saving the list state actually saved
bad values (the restored state only seems to take effect after layout)
- third issue was the footer mode was being handled poorly as well - it
was always updated, which required re-setting the adapter every time,
which reset the scroll position. This was why we were always trying to
save/restore scroll position.
Overall this should speed up the list loading and data updates in the
list by a bunch.
Bug: 5110000
Change-Id: Id2f6db928c095ae10ee55b40e7e9241d70e0bebe
- changed activated font to white
- ensure activated bg is set even for wide (as it shows for a split
second when you select a message right before the slide animation)
- attempt to make the animation not so abrupt
Bug: 5110992
Change-Id: Ie05e0a6a09afb97155b26d28672d4a2fb79cc563
- make it take up different size on phones and tablets (also landscape
phone/portrait phone)
- move unread count outside of the spinner area
Bug: 5108972
Bug: 5111250
Change-Id: I2c16bbb52ce53bbf1c8fe08fd78f1a4b4afd4ccf
- reduces number of "modes" to just two: normal and wide
- consolidate the normal/narrow modes for phone and tablet (as per spec)
with the only diff on the tablet being side paddings
- fix issue with "white arrow" visual being shown in phone when tapping
on a message
- make touch computations be resilient to padding values instead of
assuming that the check/star icons are right at the left/right
Bug: 5103823
Change-Id: I23f967454f7744d9c59256625e302e54a353994a
* Two of the upgrades (v21->v22 and v25->v26) need to be fixed so
that they don't reference columns that might not exist.
* Oops
Bug: 4439595
Change-Id: I4a8c556be22bb85fb78807416cd1d6b81c6ef118
- updated checkboxes (new ones for sw600dp and phone)
ones for phone)
- updated stars (new ones for sw600dp and phone)
- added existing cc/bcc icon to menu item
- updated reply/replyall/forward actions to dark themed items (renames
involved)
- update message list backgrounds (new ones for hdpi,xhdpi, renamed
everything so that there is no message_ or conversation_
suffixes, also added missing states for some of the selectors)
Change-Id: I1b4f49f206b846566870f5b430e3c6386e621a0c
* While investigating the referenced bug, it was discovered that
canceling the "security required" notification (with "X", rather
than the "cancel" option in the dialog) causes the notification
to be unavailable until a reboot
* This puts the account needing a security update in the position
of being unsyncable, and might explain the referenced bug (we
have no confirmation of that step; on the other hand, the tester
can't now reproduce the problem, so an unusual action like this
is to be expected)
* The fix consists of making this particular notification "ongoing",
which prevents the user from dismissing it; arguably, this should
always have been the case anyway...
* Consider this fix for backport into LTE and MR2 branches
Bug: 5072343
Change-Id: Ia7419236cf9389380d1e079b1a9a6f425015c487