This simply allows the user to select a certificate from the KeyChain to
use for credentials.
Text and UI not finalized.
Change-Id: Ib86abc3c2e899640218122caa12308dc9646dab6
- Instead of the search dialog, show the search widget on the action bar.
- Launches a new activity for search, but still uses the temporary search code
- Search still works only on two-pane.
Change-Id: I1d36ad3416c7dff9579cf37e40e49e31c9d99219
The ability to change mailboxes using the spinner is currently only implemented
for the two-pane UI. one-pane implementation will come in a future CL.
Change-Id: If72e9d9d607508553c918f5523e748e8a481ff84
(this conflicted and the automerger situation was a disaster, so I
opted to skip immediately to help clear the backlog, now I'm
cherry-picking manually)
Using a TableLayout and large margins to shrink the input boxes causes
weird artifacts when you type past the size of the input box. Fixing the
padding is also not the right way, since stretching the input the whole
screen length is ugly. Just use a width.
Change-Id: I3009e7c66f729a96f404263d79e77d3ab4d831ae
- 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
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
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
This is a cherry-pick of f872876699 :
- Use new recommended sw600dp instead of w600dp to avoid having the
"personality" change on configuration change
- remove the use of xlarge/large for specializing values since the
framework team discourages any use of the buckets (and have also changed
the ordering so that they take lower priority)
Change-Id: I645bfb7cddcda8b53569af927f6fa23180e73e1f
This is a cherry-pick of 9f976e29a0 from
honeycomb-mr2. This is still using the old w600 qualifiers but the next
CL will cherry-pick the fix for that.
Change-Id: I40ab6717575cdfd02d5f7d05409f0355e96f2085
After choosing the account, we need to select a mailbox for the shortcut.
In order to replace the fragment, we cannot hardcode it in the XML. Instead,
we need to dynamically create it.
Also, restructure the fragment class and rely on the class to "do the right
thing"
Change-Id: I752ad5bbdf2484332ec2b73852cae74a5d2092fa
The list used to contain both the display name (whatever special name the user
chose during account creation) and the email address. The new mocks only use
the display name.
Change-Id: I97f4f16af9865207f26e67aed5d07340775ea37c
instead of using an activity (which will be hard to manage multiple screens in
the 'back' stack), use a fragment. we can easily manage multiple fragments with
a fragment transaction.
Change-Id: Ibf75dd45941a0c1c6b6b6add8de78146cdae7c65
- Use new recommended sw600dp instead of w600dp to avoid having the
"personality" change on configuration change
- remove the use of xlarge/large for specializing values since the
framework team discourages any use of the buckets (and have also changed
the ordering so that they take lower priority)
Change-Id: Ia6943af9207471b801ce79435ffe9d730b6786b7
Account shortcuts used to point at MessageList directly with a
content://com.android.email.provider/account/ACCOUNT-UUID URI.
Hook these intents and open Welcome instead.
On Eclair and before, we stored an account-ID directly as an extra,
but this style is no longer supported.
Bug 4208879
Change-Id: I9fecb0723743377a6d7c7e84626e8613f2356492
- use XLarge layout for Large as well in most cases.
- use XLarge portrait behavior for landscape and portrait for message
list collapsing
- some minor tweaks to account setup UI as the XLarge one didn't fit
on large devices with the padding it specified
Change-Id: I2a83e7239019b3feadcabe5fae61f0d13a628471
The primary purpose of this CL is to remove phone activities, so the
one pane implementation is very much temporary and primitive, but it
should offer minimal operations.
Change-Id: If57f81db7c605c95664d49044a5cc082beda59c0
Added the base class for the UI controllers and the 1-pane implementaion,
which is almost empty at this point.
The old phone activities still exist and will be used on the phone by default.
To use the new activity (1-pane EmailActivity) on the phone, use the following
comamnd.
adb shell am start -a android.intent.action.MAIN \
-d '"content://ui.email.android.com/view/mailbox"' \
-e DEBUG_PANE_MODE 1
Change-Id: Id1fe85d4517778afc967d7d5e17e1299dd1bfefd
* Update sync window options to include "Automatic" and "All"
* Make the default (for new accounts) "Automatic"
Change-Id: Icbc696f55abcfad79e66079ebb414ca50778dcaa
This is a simple change to move +cc/bcc and +attachment action buttons
from the options menu to the visible UI (like honeycomb).
No attempt was made at styling the actual fields yet.
Change-Id: Ia1de8dbcf5e9ec9f7d3be3787cab657a2df72d70
This introduces an in-memory cache of file paths for an attachment so
that we can install from a filepath instead of a content URI.
The cache also allows us to prevent duplicated files made if the user
hits save multiple times (the save button is disabled).
Bug: 3338997
Change-Id: I56651a55eef2f1a3f24b6d936c37736c4fc3d295
This now uses an XML layout that gets inflated and computed after a
layout pass. The drawing simply uses the coordinates stored after the
layout.
This makes it a lot easier to maintain the different views and allows us
to simply provide different XML files for different modes/views, isntead
of trying to hand tweak Java layout code.
Some TODOs - clean up the "paints" and optimize the layout/drawing
computation
Change-Id: I784919f726bd4d80aba8744a8f047fcfe79ad93a
Now the two pane activity survives longer on the phone, as opposed to
crash immediately.
(It still crashes when you open the message view.)
I'd like to submit this because:
- It'll make my experiment easier
- It wouldn't do any harm to the tablet UI.
Change-Id: Id716a42c63026cf09b30ff6a63e0e58311aa53ed
The layout requires different indentation. Although the exact layout may
change, we will likely always need to differentiate between the different
mailbox types.
Change-Id: Ia2ff84b552873f92fa45563b2dc0868c29bec3e3
* Just in MessageListXL for now, as with search
* This allows us to test functionality within EAS, and confirm that
it's all working w/ unbundled Exchange (API 1)
Change-Id: I4f062ae871a28d2b57a23a269d6ec65903181d26
currently only really works for exchange accounts. legacy accounts (imap
or pop) do not build a folder heirarchy.
Change-Id: Idb7c622b64a599a0776233a076359869f4ab4a4f
- All layouts are still temporary, but at least they're usable now.
- Removed reply/forward button from the bottom panel.
There're buttons in the layout.
- Switched to getView().
- removed the unnecessary LinearLayout from the xlarge layout.
- removed some backgrounds that'll probably not be used.
Change-Id: I3aa27c63ab139ae30e5714ac3d9a1eadce74b0e8
... assuming we're going to use the holo light on the phone as well.
Now the text on MailboxList is clearly visible.
Also updated/added some comments.
Change-Id: I280db2b82cbd1627c78a305dd31bbf1b1bb34d1d
There are two ways globals can be specified. There can be only one global
character ['*'] and/or multiple wildcard characters ['?']. The global
will match zero or more characters. The wildcard will match any character.
bug 4090086
Change-Id: I07e3edebd1fe989094c68cf047ce5bc9fb91aba0
Added two new functions:
- UiUtilities.getView()
is a fail-fast version of findViewById(). Crashes when there's no view
- setVisibilitySafe()
same as View.setVisibility, but doesn't crash even if a view doesn't exist
Let's try to avoid the use of findViewById(), and instead use getView(), *right
after* the layout is inflated, so that we'll always fail-fast if a layout
doesn't have a required view. (Rather than getting a NPE only when the view
is really accessed, which can be in a code path which is rarely executed--e.g.
only when there's a protocol error.)
Let's only use findViewById() only when we're sure no all the variants of a
layout have the view in question and leave a comment to make it clear it's on
purpose.
(UiUtilities has been moved from com.android.email to
com.android.email.activity)
Change-Id: I36e0bab65a989f5d34cf636f13e1eaee084547af
After the account is created, don't allow editing the user name. We want to
prevent this as the user name is core to the account and changing the user
name is tantamount to creating a new account.
bug 3502279
Change-Id: I1d89710fd48aca67ba13abea5bdbdc1d87941618
We now allow a single global character ['*'] to be specified somewhere in
the domain attribute. Additionally, we will replace the string "$domain"
with the matched domain in all attributes -- user name, password and URIs.
bug 4090086
Change-Id: I46a637ed364c1a079e1230fa22393a1bac059b1f
- Menu now works
- Removed a lot of unnecessary/soon-to-be-unnecessary code.
Especially,
- multi-selection panel is now replaced with CAB
- SetTitleTask will be replaced with a loader
- Removed the option menu xml for magic mailboxes
(The regular one should work for them as well)
Bug 4184142
Change-Id: I52adff6d711232d536b6f00367a240e1faeea14b
When the device is in portrait mode and the widget gets resized to be
narrow (2-by), the header background becomes corrupt. The new assets
now look correct at any size.
bug 3500861
Change-Id: I80a655c8822f2a14f9100afe32c893bf412ac936
* Add the background to the widget
* Updated background to a stretchable 9-patch
* Shift "Tap icon to change" text up a couple pixels
bug 3510984
Change-Id: I5ea65b802098c1af08e865f85fb5470e0a00b76b
* Correct allignment of mailbox label
* Sender info & presence alignment fixed
* Header height corrected
* Sender header updated; new asset for background & remove the "fold" asset
* New asset icon and allignment for "show pictures"
* Selected rows have updated background; new assets
* New asset for checked items
* Update divider to be 2px high
* Update selected background for wide message list
bug 3510984
Change-Id: I028ed5619ea7127b0392d9f5b7b00c575b00f3c6
For now it only enables it for the main process. I've added a flag
to EmailServiceProxy for EAS, but it's not used in the exchange side.
Bug 3500292
Change-Id: I5b27c69fe7cc995a430e9def54b2463076032c78
* The coup de grâce for Exchange in Email
* Remove Exchange bits from AndroidManifest
* Update Android.mk to create static jar for emailcommon
* Delete all com.android.exchange files
* Delete all exchange-only strings
* Change loadAttachment service method to take only attachment id and
background flag
* Add code to AttachmentProvider.openFile() that opens an output file
for attachment writes
* Make sure deviceId is determined in Email app (not Exchange)
Bug: 3442973
Change-Id: I775600252fd121f474d51cb26fefbfcc50e387af
The expanded account spinner is completed, but the collapsed view
needs some more work. (That'll probably be a rather large CL, so I'll
finish it in a separate CL.)
Bug 3434135
Change-Id: Ia732e6b57b8c0d3e1609c3134b26411539ab6a18
This will be used to set the max width to the account name spinner.
I gave up on writing tests for onMeasure. It wasn't easy without adding
a dummy activity and layout.
It'll be used for a fix to bug 3439694.
Change-Id: Ie7569b0661eb732e270e4521fa0d3306f1bdd12c
Whenever we remove the "load" and "view" buttons, we should add an "info"
button; where we will inform the user as to why we are preventing her from
seeing the attachment.
bug 3338997
Change-Id: Ic243f1542dec55f5b256eeb67ade50aa90e42009
* When security settings notification is clicked, inform user that
they need to change settings (before dumping them in security
settings.)
* On an authentication failure, present a dialog to the user explaining
that the username or password may be incorrect.
* When the device pin/password is expiring or expired, present a dialog
to the user explaining that it needs to be updated.
Bug: 3238657
Change-Id: I8fca446fa3c1bf87a95938553dbdc362c3df220e
* Use strings that fit properly in new notifications
* General cleanups & rewrites from Roy
* Remove showWarningNotification() and use postAccountNotification()
This is part I. Part II will add dialogs triggered by some of these
notifications, to provide more explanation to the user of what's wrong
and how to fix it.
Bug: 3238657
Change-Id: Ib51bcb4412f8a09a6f97653f0b5f8642efe2ac1e
* Remove LocalStore (pre-2.0 mail database) and its unit test
* Remove UpgradeAccounts (converted pre-2.0 accounts to Provider)
* Remove FolderMessageList (receiver for pre-1.6 desktop shortcuts)
* Remove "upgrading" paths through LegacyConversions
* Clip out dangling references to everything above
Bug: 3292310
Change-Id: I5654d55a0879b00b05b63055b94651855a8ee3ef