There were two issues:
- the default account ID from the provider wasn't consistent: it was
using a snapshot from the cached data but that simply returns a Map, and
the values aren't guaranteed to be sorted (and indeed I saw that the
order was different on consecutive calls!)
- hitting app up from Compose always just kicked you out to the inbox
for the default account, but it probably should have used the account of
the compose screen, since it can be specified in the Intent
Bug: 5012008
Change-Id: Ic9a753b261e047790453bc1a9417bc0c6d2f87f9
This makes custom styles in landscape,portrait, and tablet mode since
the action bar real estate differs in those modes.
Bug: 5010826
Change-Id: I2bd6bdcf9adc44a4d0084d4b2bfbffb472f03643
- empty subjects should still be prepended with "Re:" and "Fwd:" when
replied/forwarded
- the compose body was being vertically centered
Bug: 5008785
Change-Id: I28e4fac8457c4fd18c764daa35d9deea1646474b
Don't use split action bar in phone compose view (we lose too much
vertical real estate) and just tuck a lot of the menus under the menu
item.
Bug: 5011815
Change-Id: I04b009556a5984fa4b60f54f2d094c3b7c8a5c78
The CL I just checked in to reduce the invalidateOptionsMenu calls
removes the search icon because it expects the message list to be ready.
Instead of just invalidating the menu a bunch more, just make it so that
the icon is always shown, but we can't actually search if the message
list isn't ready. The time between the icon being shown and the list
being ready should be miniscule.
Change-Id: I5dfe9363cc904833253cf1fceeeb2af2ec389217
This prevents things from always failing if the server requires a client
SSL certificate.
Note that the solution used to determine if a certificate request was
made for a given request is approximate; it is timestamp based and can
theoretically give a false positive. In practice, this is very unlikely,
since another cert request had to have happened around the same time,
AND the response must be a 401/403.
Change-Id: Ieb77cf91db3bd52ba4adf1fb07357fef7e204ba5
There were two places where account flags were being set on setup: one
was in manual setup when the user selected the account type
(pop/imap/eas), and another was when it was automatically determined
from XML. The two paths were inconsistent and one was setting bits like
SUPPORTS_SEARCH but the other wasn't.
This fixes being able to search in IMAP
Bug: 5011932
Change-Id: I50eada7485aaef4e2a85d25fa7eb9ac7ab03093a
Workaround a bug in the framework where an explicit gravity=left
seems to actually mean right. We probably shouldn't explicitly set it to
left anyways, and let it be the default, since the framework will do the
right thing when RTL locales are supported.
Bug: 5002512
Change-Id: I9090a676849d3b6f5e1abc812ef6fc2e049ac6bf
We were unconditionally setting auth credentials even if the checkbox to
require credentials was unchecked. This prevented setup for certain
outgoing servers
Bug: 4291105
Change-Id: I27f94f02b85b097d2c6dbb896254367e8a15415b
This changes it so that the message list is shown if there are multiple
unseen messages.
Bug: 5011855
Change-Id: I14cbcfaa32cc5e2b4cb718449c62b8f39b290d4d
- Use PreferenceActivity, in the old style, meaning without PreferenceFragment.
- If setting Inbox, change the account settings instead of mailbox settings.
- Use the DialogWhenLarge theme, meaning it's a full-screen avitity on the
phone and a dialog on the tablet.
- Also fixed the bug that we the menu items that are made invisible by
UIControllerBase may be made re-visible by the 1-pane controller.
TODO The menu item shouldn't be shown for non-syncable mailboxes.
Change-Id: I02b2faf6f593e1e2eb370217c27801aa58ca7e6c
* Handle replied in new messages and updates
* Code added for upsyncing replied state, but the CL for
setting this state isn't yet submitted
Change-Id: I6f3ff56475d70f686f96ed6a84fae3468f42b1c8
The app is spending a lot of time in startup inflating XML. I suspect a
lot of it is due to the refreshActionBar() calls.
On a normal startup with NO refresh, the action bar was rebuilt 6 times.
If a refresh happens, the refresh callbacks get called in rapid
succession (20+ successive calls is not uncommon), which seemed really
wasteful.
Change-Id: I05feb56ba7fafb109d820328f591526945ca0a5f
In the common case, we don't need the "waiting for sync..." message, so
avoid inflation in those cases and just inflate on demand.
Also do a quick drive-by fix for the error message being pushed in way
too much on phones
Change-Id: Ie7a8472194659a52069d1ee21e0a0cb9b6fc91ba
Adhere to RFC2821 Sec. 4.1.3 Address Literals should be enclosed by brackets and
prefixed with 'IPv6:' if the sender is an IPv6 host
Original author: Jon Starling
Bug: 4207470
Change-Id: Id327930001188186713e38d1ce8ecc1dad8cfbc0
This is a manual cherry-pick of c379ebe372
This reverts commit 7fd14be804
The introduction of proper SD cards breaks the invariant that "external"
storage can be encrypted. Unfortunately, this means that accounts with
that policy bit set will have to be removed for now.
Accounts with the security policy set will be forced to go through
security provisioning on the next sync, using the regular mechanisms of
showing a notification with "Security update required", and then having
it fail. :(
Bug: 4466311
Change-Id: I68119b14f8d198779c2073296e228bc6772136ee
It was accidentally happening because search doesn't show the mailbox
list, but explicit > implicit.
Change-Id: Ifb8354dbb366f4c8328bef31d4e251166ae6876a