Commit Graph

350 Commits

Author SHA1 Message Date
Makoto Onuki
2fbb3db5d8 Don't use findViewById (part 1 -- account setup)
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
2011-03-30 13:47:13 -07:00
Makoto Onuki
9e53322ee7 First path of MessageList cleaning up
- 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
2011-03-28 16:36:01 -07:00
Makoto Onuki
511d378777 Fix NPE in message view
Message view layout is still unusable with this fix, but it's a start...

Bug 4163869

Change-Id: Ifa88c758b7945b4e58d5ca9f1d618a4402227c7b
2011-03-23 17:24:09 -07:00
Makoto Onuki
39745c3dc0 Fix AccountSetupOptions for phone UI
Bug 4157050

Change-Id: I1addca05b9c56266b28e7449c87b3a5010ed671b
2011-03-23 11:17:46 -07:00
Todd Kennedy
6000d4b975 Fix build soju-eng build error
The phone build was missing one layout and a couple dimensions.

Change-Id: I7d48599e82066c2a293f7b442eed644185848c87
2011-03-16 13:49:17 -07:00
Todd Kennedy
46b8ea4b53 "final" tweaks to widget
* 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
2011-03-11 10:54:29 -08:00
Todd Kennedy
e63337e78b DO NOT MERGE: Update assets
Also tile the widget header.

bug 3500861

Change-Id: Ic8a6a0a8a83974f7c653d9c78450bada7947773a
Backport-Id: I4288c4dd0c71843e18ee370102c2112626a90f50
2011-03-07 16:21:43 -08:00
Makoto Onuki
19b2a7ebc9 New debug setting to enable strict mode logging.
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
2011-03-02 10:41:48 -08:00
Makoto Onuki
b3c3f1afc6 Pixel pefect: account spinner.
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
2011-02-23 13:59:11 -08:00
Andy Stadler
7d51b7a05b Remove all compatibility with pre-2.0 data
* 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
2011-02-06 00:54:39 -08:00
Todd Kennedy
9262f20f5d Remove border from the email widget
bug 3402206

Change-Id: I2d1e04cee69459f5afe6df530925e137c1163f63
2011-01-31 10:11:03 -08:00
Makoto Onuki
5907d39d2b Add debug setting for one-minute refresh
Bug 3377054

Change-Id: I7843fe82d66ab7896b8293b2fa16ca73f6711595
2011-01-28 14:16:56 -08:00
Todd Kennedy
6c5ee59c4f Add "tap to configure" text to widget
If there are no email accounts defined, the widget should show a single string
that allows the user to create a new account. Whenever there are changes to
the defined accounts, the widget(s) will update their headers to ensure they
are only displaying valid information.

bug 3296594

Change-Id: I156c20cfc90692174297a2aededd85775e0ea196
2011-01-26 17:58:51 -08:00
Todd Kennedy
a7f49a7c0b Update icons with latest drop from UI
Change-Id: Ic23f1bee28c8aef1974225f9c03edc92c845f8c7
2011-01-26 17:43:03 -08:00
Makoto Onuki
3fd2513a18 Merge "Make the "refreshing" progress icon smaller" into honeycomb 2011-01-26 15:02:19 -08:00
Makoto Onuki
75ebb59c71 Make the "refreshing" progress icon smaller
Bug 3388138

Change-Id: I0c329de5c2d2e39f34262df15363399ed2fd99e8
2011-01-26 13:49:11 -08:00
Makoto Onuki
3af94be477 Make account name on action bar narrower
... to give the mailbox name more space.  Otherwise it can be too
small in portrait.

Bug 3387730

Change-Id: I0301fd696dc2c4dfa3654a235b9e95aa7db4b885
2011-01-26 13:26:14 -08:00
Makoto Onuki
484d220b6e Make the refresh button animate in-place.
Turn the refresh button into an indeterminate progress icon
while refreshing.

Bug 3388138

Change-Id: Ic0406ff5b857243c3e1e475ddb8b305441eddbb0
2011-01-25 19:09:32 -08:00
Makoto Onuki
931370a340 Remove STOPSHIP for error banner
We'll go with the current design for now.

Bug 3335095

Change-Id: Iaac0e5933fb534d547ebbf90315cea628e8f49cc
2011-01-25 10:19:03 -08:00
Todd Kennedy
a33c0c74cc Revert string name change
to prevent churn for the translators, revert the string name change

Change-Id: I22710d810a5f3602ccd53a9cb4d2f31edca572f1
2011-01-19 16:23:42 -08:00
Todd Kennedy
3db3e4b795 widget combined inbox view only shows messages in inbox
instead of showing all messages (e.g. messages in drafts, etc...) the "combined
inbox" view now only messages in the inbox folder. This is now identical to
the "combined inbox" view available in the full email UI.

bug 3368613

Change-Id: I0080b56cd2718a3dce82b279277c63c4f43e86dc
2011-01-19 11:27:41 -08:00
Todd Kennedy
290fb65595 Update widget colours / assets according to spec
* Modified font colours for read/un-read emails
* Add chip colours when viewing mail from multiple accounts
* Add calendar icon if message has an invite attachment
* Update background of read/un-read emails

bug 3351761

Change-Id: Id59573d25a6988e9e869335f95778aad28b43912
2011-01-19 09:23:58 -08:00
Todd Kennedy
f264ea638d Fix widget alignment
bug 3349605

Change-Id: Ia56f588067080c13716ff2fe6ffe623c6a940b05
2011-01-18 09:45:15 -08:00
Makoto Onuki
82dd234f13 Improve "message details"
- Show subject/sender info
- Now all text fields are copyable

Bug 3342310

Change-Id: Ib9c4486aec36f192625c21602ea7406508ca0a49
2011-01-12 12:29:59 -08:00
Andy Stadler
3c7c8c9ef6 Finish incoming/outgoing/exchange layouts
* Standard values for overall layout & padding
* Standard button positioning
* Move all fragment padding to containers so setup/settings
  can be adjusted individually.
* Remove unnecessary banners in settings fragments

Bug: 3188940
Bug: 3188951
Change-Id: I9567988b388a8cf80f9d583be865091478b2404c
2011-01-12 00:40:34 -08:00
Makoto Onuki
f7b8bc1ed7 Show newer/older in landscape as well, below message list
Now the button area is owned by the 3-pane layout, rather than the message view
fragment.

Bug 3327153

Change-Id: I9c262086c5a001cfe6e81b788c27d05d490c9830
2011-01-11 16:02:19 -08:00
Todd Kennedy
56ffd12fcd Update chips per UI design specification
bug 3335090

Change-Id: I4922621b14f10a2013f3a91c7d76f9c6482a327d
2011-01-11 14:03:21 -08:00
Makoto Onuki
92b50897d6 Merge "Pixel perfect: newer/older buttons" into honeycomb 2011-01-11 13:04:45 -08:00
Makoto Onuki
b6171541b6 Pixel perfect: newer/older buttons
We haven't gotten all dimensions yet, but this is what I inferred from
the latest redlines.

Also fixed a margin above the message area on message view.
(Keep the margin even if there's no tabs.)

Bug 3138021

Change-Id: Iafff578f499737674ec10206b75566377cf2383b
2011-01-11 12:31:51 -08:00
Makoto Onuki
107093056f Add ScrollView to "Message Details"
Bug 3340780

Change-Id: I9d5935ae7c9beb0e4f39b4bef5f2287f52897dd3
2011-01-11 11:15:55 -08:00
Makoto Onuki
84c4ec4aef Merge "Remove STOPSHIPs" into honeycomb 2011-01-10 16:03:16 -08:00
Makoto Onuki
a826d3fb03 Pixel perfect: Message view
Still waiting for a few missing assets, but it's done other than that.

The divider change is already merged; new layouts all use the framework style.

It's basically all layout changes, except for:
- Now the recepient address line has "Show details", which shows a dialog with
  all to/cc/bcc addresses with the timestamp.
- Now invite response buttons are checkboxes.
  (But the basic behavior doesn't change -- once you check a response,
  the message will be gone, so you can't change the response later.)

Copied message_header_bg from gmail manuall.  It'll look silly without it.

Bug 3138021
Bug 3307021

Change-Id: I6f7eb91d6104c3143a5c58b0c4c6c19929cea477
2011-01-10 15:51:32 -08:00
Makoto Onuki
42c6881494 Remove STOPSHIPs
Bug 3335094
Bug 3335069

Change-Id: I307a762a83ca7fa94cf62f1d80f32a2b3f30b27a
2011-01-10 14:36:17 -08:00
Makoto Onuki
7523930d39 Pixel perfect: message compose
Layout & action bar icons.  Now I think it's close enough.

Bug 3138037

Change-Id: I0802f34ac23980e0faf8a0daffc016a012816d81
2011-01-06 15:01:29 -08:00
Todd Kennedy
64ac7a6cc8 Use new holo light icons
Use the new icons where appropriate. This is not a complete change as there are
still some icons missing.

Change-Id: I51d1458749343ddfc6456dc2a9853b8bc2540e26
2011-01-06 13:42:20 -08:00
Makoto Onuki
80a98fd939 Pixel perfect: mailbox list
Now it should be close enough...

Also fixed the "selected mailbox won't get hilighted" issue.

Bug 3137965

Change-Id: Ifba83783121e62363fac6428534394d2e0a4bee9
2011-01-05 15:33:31 -08:00
Marc Blank
66b6b95646 Put individual account inboxes in widget rotation
Change-Id: If1fddc107d9934849bbf273a67dd1db9c2063d99
2010-12-22 12:49:15 -08:00
Marc Blank
0fd8ae8808 Pixel perfect Email widget
* Functionally correct and pixel perfect
* All current assets in place

Bug: 3292507
Bug: 3284201
Bug: 3135118
Bug: 3255036
Bug: 3252913

Change-Id: I8fa6752748c74b3a9789a3675da12f6c0c11975f
2010-12-20 11:55:01 -08:00
Marc Blank
7fcc12f799 Prevent display of incorrect widget title on orientation change
Change-Id: Ib43e3d4e261a65f0c7a49b8595131e0b0150484a
2010-12-10 10:04:00 -08:00
Andy Stadler
3dedc8b191 Defragment AccountSetupBasics
* 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
2010-12-09 11:05:34 -08:00
Makoto Onuki
45e04b009d Update error banner
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
2010-12-07 16:49:26 -08:00
Andy Stadler
112ed496f8 Update server settings to current look
* 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
2010-12-02 21:45:04 -08:00
Marc Blank
1b9337ea4f Wireframe email widget
* Formatting and assets are preliminary
* Functionality correct
* Needs cleanup, etc.

Change-Id: I75051df93d233ef529a616c7a9efae403d320bd2
2010-12-01 13:37:57 -08:00
Makoto Onuki
2201b38fe3 Add error message UI
Show an error message in a yellow bar at the top of the activity.

Bug 3230116

Change-Id: I45dad233c1ab52de365c8caedb4eeff29aefac65
2010-11-29 16:07:38 -08:00
Makoto Onuki
54513ed740 Merge "pixel-almost-perfect: mailbox list" 2010-11-24 13:47:04 -08:00
Makoto Onuki
9d6d5b3091 pixel-almost-perfect: mailbox list
Bug 3137965

Change-Id: Ic5aa3327ddbd456024e1938b74c7da0452b682f5
2010-11-24 13:40:58 -08:00
Andy Stadler
d87f81e901 Update visual style shortcut picker and make it async
* 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
2010-11-23 22:54:49 -08:00
Makoto Onuki
5b81690de1 Show color chips for combined view.
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
2010-11-23 13:03:06 -08:00
Makoto Onuki
b715ea1d76 Fix & cleanup on EML viewer (MessageFileView)
- 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
2010-11-22 17:02:48 -08:00
Makoto Onuki
4ca7580e5d New portrait look for 3-pane
- Removed opener/collapser
- Now the "fogged glass" is 100% transparent
- Move the landscape layout to layout-land

Bug 3137919

Change-Id: I4918f905aca698c78489e340dd330c7d4da8b106
2010-11-17 15:25:58 -08:00
Makoto Onuki
8e8e371260 Add XL layout for message view
- Added the xl layout
- Cleaned up the existing one

Bug 3138021

Change-Id: Ic6ab5e38c10ac12ffeeb6b12319d1e192ac2a40c
2010-11-17 15:19:00 -08:00
Andy Stadler
e6c6587b04 Create XL layouts for incoming, outgoing, exchange
* Create XL fragments (will be shared w/settings)
* Create XL landscape activities
* Create XL portrait activities
* Placeholders left for integration with settings - remove in settings CL
* Quick fixes (non shipping) for phone UX
* Update existing portait next/prev buttons per new wireframes

Bug: 3188940
Change-Id: Ied6e7fd1e968fd6db57607a68dabf7e00ba78ee6
2010-11-16 16:40:34 -08:00
Makoto Onuki
15f46cc715 XL layout for message compose
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
2010-11-16 11:28:58 -08:00
Andy Stadler
7fd78d8d61 Create XL layouts for AccountSetupOptions
* Landscape and portrait layouts
* Quick fixes to phone UX (not shippable)
* Added some CHAR_LIMIT values

Bug: 3188940
Change-Id: I093d5a6dcde2da96c173b5878900114802aead3e
2010-11-15 18:37:56 -08:00
Andy Stadler
17adb23fb4 Preliminary XL version of Account Names screen
* Add new account names layouts for XL devices
* Placeholder UX for phones

Bug: 3188940
Change-Id: I8c9d0793b004af5f5b66070fd18ecb46fc6f1612
2010-11-15 12:08:37 -08:00
Makoto Onuki
65b1eef31b Message view code change
- 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
2010-11-15 12:03:36 -08:00
Makoto Onuki
17670b1194 Merge "Small code change on MessageCompose" 2010-11-15 11:03:21 -08:00
Andy Stadler
7988164ddf First pass of XL account setup
* 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
2010-11-14 21:16:49 -08:00
Makoto Onuki
4977ce62f0 Small code change on MessageCompose
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
2010-11-12 16:19:26 -08:00
Makoto Onuki
2ac1eaf8c3 Account selector rework.
- 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
2010-11-10 17:41:29 -08:00
Makoto Onuki
77303a483b Merge "New message view command layout" 2010-11-10 14:09:38 -08:00
Makoto Onuki
931ca67a1f New message view command layout
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
2010-11-10 11:08:14 -08:00
Makoto Onuki
9c39deef4e Code change for new mailbox list layout
- 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
2010-11-08 18:16:23 -08:00
Makoto Onuki
138abe82e6 Make "Send all messages" a menu option
- Now it's a menu command rather than a button.
- Also string changed from "Send outgoing messages".

Bug 3166218

Change-Id: I82f6188365f9f6bc5a6d40fb23d774eebe181445
2010-11-04 16:53:18 -07:00
Makoto Onuki
bf678771b7 UI change: MassageCompose
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
2010-11-04 15:22:25 -07:00
Marc Blank
c81bef6720 Drag & Drop "move to folder"
* 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
2010-11-04 08:45:24 -07:00
Andrew Stadler
cd09545b87 Provide runtime switch for GL acceleration
* 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
2010-11-01 16:16:27 -07:00
Marc Blank
d3e4f3ca7e Use notifications for login failures
* 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
2010-10-27 08:56:37 -07:00
Makoto Onuki
6a2265eff2 Add checkbox to include original text or not.
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
2010-10-20 14:21:17 -07:00
Makoto Onuki
9c293eb65a Show "No messages" when there's no items on message list
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
2010-10-12 10:36:17 -07:00
Makoto Onuki
31a2fdbe87 Make "invite" tab visible
Bug 3072235

Change-Id: I5e4f353905b8f980e258635be8a77f278f2a3342
2010-10-07 10:56:21 -07:00
Makoto Onuki
60c6dc4711 Sparse message list item layout for XL
- Tested on N1 as well
- Also fixes bug 2546662 -- show both invitation & attachment icons

Change-Id: Ic2f42370be32a0beb43f9018cefdce86028e8189
2010-10-07 10:17:58 -07:00
Makoto Onuki
f54e08eaee Introduce tabs to view message, attachment and invite separately
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
2010-10-05 16:53:59 -07:00
Makoto Onuki
7bfa32dbc5 Merge "Move reply/forward buttons to header" 2010-10-05 11:05:51 -07:00
Makoto Onuki
01b7e67f78 Move reply/forward buttons to header
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
2010-10-05 11:04:10 -07:00
Makoto Onuki
1a0b0092e0 Add "Clear WebView cache" button to debug preference
Change-Id: I317b57cb06b071f9574077b58998aafcb5e0dff8
2010-09-30 15:41:40 -07:00
Makoto Onuki
61eec98d39 Switch to static fragments
- 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
2010-09-30 11:03:33 -07:00
Makoto Onuki
8818a658a1 Three pane layout
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
2010-09-29 13:38:32 -07:00
Makoto Onuki
58843f0dc3 Highlight selected message on message list
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
2010-09-22 14:44:23 -07:00
Makoto Onuki
250ca15b88 Show MessageList with MessageView, rather than MailboxList
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
2010-09-22 13:13:59 -07:00
Makoto Onuki
0af92c0c39 Use the default theme for selected mailbox.
The latest framework change made it very easy to do this.
We no longer need to implement Checkable by ourselves.

Change-Id: I9264b157b6600659597ca8d525a4288d7bb9c470
2010-09-17 15:05:32 -07:00
Makoto Onuki
0435a0775e Let MessageViewFragment own bottom buttons.
Create a custom view containing the bottons below MVF
(delete, move, reply, etc) and let MVF own this.

These buttons used to be owned by the XL activity itself, because
the UI for these commands will most likely be totally different
from the tablet UI, so the fragment having them looked wrong.

However, this made it harder to make changes suggested by the latest
mock, such as "put reply/forward in the message header".
I think the buttons are semantically part of the message view anyway,
so the fragment owning UI for these commands is probably the way to go.
(And let's worry about the phone UI later.)

Reason for the use of a custom view is that it will make it easier
to make non-trivial UI changes, e.g. "combine reply, reply-all and
forward and make it dropdown."

Also removed obsolete TODOs from MessageListXL.

Change-Id: Ibf93f4c70fe07bdbbe33d2adb6bbd2b96812830d
2010-09-17 14:23:56 -07:00
Andrew Stadler
5b2424bf6f Cleanup of Account setup flows
* Remove AccountSetupCheckSettings and related resources
* Remove all handling of EDIT flow in setup activities

Change-Id: I7b87d87978533b52b9c974d006920749389418d8
2010-09-13 14:39:36 -07:00
Makoto Onuki
4c5aaaecef Merge "Add quick contact badge to MessageView." 2010-09-09 16:55:08 -07:00
Andrew Stadler
c164444784 Cosmetic cleanup of exchange setup
* Remove nonfunctioning Next button
* Enable Next button on name screen

Bug: 2988925
Change-Id: I9de7d8dc5b6f48b6c11676b7eef478495afcc889
2010-09-09 15:49:21 -07:00
Makoto Onuki
b1ea9c3c12 Add quick contact badge to MessageView.
- Added "quick contact badge" to MessageView
- Removed PresenceUpdater, and added new implementation based
  on Loader, which is much simpler.
- Changed some text color, so they're visible now.

Bug 2988625

Change-Id: I688a3217178ee8fd0b7245c0ab36a633687ea525
2010-09-09 13:57:31 -07:00
Andrew Stadler
8bcb572ccf Convert setup to actionbars, and holo theme
* All setup activities given UI makeover:
  * Remove legacy themes from manifest - exposes default holo theme
  * Remove bottom row button(s)
  * Replace with action bar button(s)
* No change to workflow or activity/fragment organization

Change-Id: I07ce11a0a2b4b767b5ac111d466e68400fe0f30b
2010-09-08 23:27:05 -07:00
Makoto Onuki
e8629a8744 Enable the splitMotionEvents mode
Change-Id: I3b98eae6ee0dcda2a47285b37469692e06fbd85f
2010-09-01 16:41:44 -07:00
Marc Blank
62f9c4d280 Temporary UI for "move to folder"
* Many TODOs left in code.
* Only supports moving 1 message. (from message view)

Change-Id: Ibdec3163382345a7096c2cba51f448d69a9720af
2010-09-01 11:40:44 -07:00
Dmitri Plotnikov
42739b112d Minor UI tweaks
Change-Id: Ibd5ffc54fffce33af8e7472af8b865ccbdc590d7
2010-08-31 16:20:25 -07:00
Dmitri Plotnikov
9d74207039 Integration with Directory API for autocomplete
The UI changes a bit - there is no separator
between the local contacts and directories.
Will bring the separator back if asked, but
most likely simply as a thick line.

Change-Id: Idfc990deff41b30d63bd8289731694e3d9a00fb6
2010-08-27 14:02:06 -07:00
Makoto Onuki
bdf84d57e6 Revive checkboxes to select messages on MessageList
It's basically a partial revert of I3cb6c45c, with some clean-ups.

Also removed mHandler, which was unused.

Bug 2949762

Change-Id: Ib4e673c5829b99ba45fec449bffb62df84555a01
2010-08-27 13:39:06 -07:00
Makoto Onuki
2f4e87c223 Switch to Light Holo theme, clean up menu options.
- Changed the default theme to Light.Holo
- MessageCompose now has ActionBar.
- Removed unnecessary MessageCompose menu items.

- Also removed "Add Account" menu from MessageListXL.
  (Use the + button on account settings)

- Fixed "calender response section invisible" bug.

Bug 2926517

Change-Id: Id27632ec82dad158f43b0903dbc2cb219188400d
2010-08-25 17:09:59 -07:00
Makoto Onuki
c8502dd194 Highlight selected mailbox on mailbox list
* Use ListView's CHOICE_MODE_SINGLE mode to select list item.
* Added a view that implements Checkable to change background
  for selected item.

Change-Id: Id55999b3d024ad1852e2b8c6436cd22ef255cf95
2010-08-24 16:55:44 -07:00
Marc Blank
09fd4d0a18 New asynchronous attachment loading code
* Create AttachmentDownloadService to manage all attachment downloads
  1) User requested
  2) Required for email forwarding
  3) Opportunistic downloads to enhance offline use
* New attachment related UI (pending UX approval, of course)
  1) MessageView (attachment actions, progress bar, etc.)
  2) MessageCompose (attachments for forwarded messages)
  3) Associated toasts, notifications, etc.

TODO:
* Unit tests
* Cache Management (separate CL)

Change-Id: I7864a5fb1c3f4f2be68d98341a971edc6cbacfe1
2010-08-19 14:01:08 -07:00
Makoto Onuki
715a19be28 Show "Send outgoing mesasges" button in outbox.
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
2010-08-18 14:23:09 -07:00
Makoto Onuki
6956533103 Deal with fragment API change.
- Use the class attribute instead of android:name in fragment tags.
- Use FragmentManager rather than openFragmentTransaction.

(There's a change on the PreferenceHeader tag too, but seems like we're
not using it.)

Bug 2922220

Change-Id: If604a97ac73b9ad7d84e453d36beb84bf31ff98f
2010-08-16 14:10:47 -07:00
Andrew Stadler
641ae45358 Fragmentize Exchange setup
Change-Id: Ib331d9a7f7be7acbfe355d6a03d9ae07af0cc627
2010-08-11 16:07:26 -07:00
Andrew Stadler
faaa115e1a Fragmentize outgoing settings (SMTP)
Also fix a small NPE in AccountSetupIncoming

Change-Id: I5728a10889a3f0f35d31962f4a13ccae4ec0393b
2010-08-10 17:45:57 -07:00
Andrew Stadler
1b156352f3 Fragmentize Incoming settings (IMAP/POP server)
Also, extract DuplicateAccountDialogFragment for reuse.

Change-Id: I042a158e264d949024347d477d6e9ec999c244d3
2010-08-10 14:28:20 -07:00
Andrew Stadler
a75bab5504 Fragmentize AccountSetupBasics
Change-Id: I99eb4cd4f8aa80d25a01d720244ccee599cba1d8
2010-08-09 22:44:41 -07:00
Andrew Stadler
71cc035c55 Fragmentize AccountSettings
This is phase 1, which simply replaces the phone UX with a fragment-based
equivalent.  A subsequent CL will convert it to a large-format multi-pane
version.

Also fix a latent bug in the signatures of the Incoming & Outgoing
settings, both in the reflection code and in the proguard flags.

Change-Id: I86e857af8b9573c0d6070bb21053ce65bb7fe8a0
2010-08-09 10:36:50 -07:00
Makoto Onuki
7ef278202e Clean up MailboxListFragment.
- Remove AsyncTasks, and use CursorLoader to load data.
- Get message counts for the drafts/trash mailboxes directly from
  the db column.
- Remove obsolete code from MailboxesAdapter.

Change-Id: I93c72977c19b60581e1169ba9bd429912ba3e68f
2010-08-02 16:33:23 -07:00
Makoto Onuki
2a9f783e34 Fix crash in one-pane message view
Forgot to fix the resource file.

Two-pane is okay because we don't put the class name in layouts.
(We create fragments at runtime.)

Bug 2887134

Change-Id: I033c2283be4b104941af34a1fbb5e4663337ef68
2010-08-02 11:47:10 -07:00
Makoto Onuki
206d4e842d Split up MessageViewFragment like we did to MessageView.
Break MessageViewFragment up into two fragments, MessageViewFragment, which
is used to show regular messages, and MessageFileViewFragment, which shows
EML messages.  (And their base class, MessageViewFragmentBase.)

MessageViewFragmentBase's javadoc has a class diagram.

MessageViewFragment is actually named MessageViewFragment2 at this point
so that GIT correctly finds out the rename from MessageViewFragment to
MessageViewFragmentBase.  I'll rename it back in a following CL.

Also added very basic unit tests for MessageView and MessageFileView.
At this point, they just make sure the activities really open and show
messages without exceptions.

I feel like the current naming schema for the activities/fragments is
kinda confusing.  Let me know if you come up with better names.

Change-Id: Iff948f4b68cfdb7c1e68f225927b0ce58d34766b
2010-07-30 15:38:53 -07:00
Makoto Onuki
e105fbe510 Break MessageView into 2 separate activities.
MessageView for regular messages and MessageFileView for EML files.

I'll break down MessageViewFragment too.

Change-Id: Iae66f33d8fb5de58084ab4aef31588e9743c5a18
2010-07-27 15:45:58 -07:00
Makoto Onuki
3918b0dbfc Merge "Renaming message_view_header.xml to message_view_fragment.xml" 2010-07-22 10:33:12 -07:00
Marc Blank
e6cc662abc Use AccountManager for POP/IMAP; refactor setup classes
There are two major, interrelated parts to this CL:

1) Clean up the activities to reduce the use of Intents to pass
   information between activities; instead, we use a common
   SetupData structure that automatically saved/restored as necessary
   during the setup flow.  A fair amount of code and inconsistent
   use of Bundle extras has been eliminated in the process.

   * Create SetupData structure, setters/getters, and initialization
     methods to simplify the preservation of state during setup flow
   * Remove all state/flow extras from Intents; Intents now only
     specify the Activity to be started, which should greatly simplify
     the transition to Fragments.
   * Remove all state/flow fields from Activities
   * Modify existing setup activity unit tests and confirm tests pass

2) Create AccountManager accounts for POP/IMAP email accounts to
   provide consistency in user experience.  Also, internal flows are
   now identical as between account types.

   * Move account reconciliation from SyncManager to MailService, so
     that reconciliation is consistent between email and exchange
     accounts; move unit tests as appropriate
   * Add a "Sync Email" setting for POP/IMAP/EAS
   * Change MailService to respect the "Sync Email" setting in
     Settings -> Accounts & sync
   * Create PopImapSyncAdapterService to handle manual POP/IMAP sync as
     requested by SyncManager; add EmailSyncAdapterService to perform
     the same function for EAS
   * Use new PopImapAuthenticatorService to add AccountManager accounts
     for POP/IMAP accounts; setup appropriate stanzas in AndroidManifest
     and add related xml files
   * Update AccountSettings to use SetupData

Miscellaneous other changes:

   * Only allow valid port numbers in incoming/outgoing setup

Bug: 1712475

Change-Id: Ibdac52fb2c5578b86bf3992ddb1acd10f162391a
2010-07-21 19:01:41 -07:00
Makoto Onuki
411314990d Renaming message_view_header.xml to message_view_fragment.xml
Change-Id: Id0ccc13bfd8dfa63b450d46989938295ba8e78e0
2010-07-21 17:23:39 -07:00
Makoto Onuki
d6a2978857 First cut of two pane activity.
How to launch:
- Kick "Email 2 Pane" in the app drawer.

Major known issues:
- When you launches "Email 2 Pane", it starts directly; the logic in Welcom
  won't be executed.
- There's no UI to add accounts.  Use the old UI.
- There's no way to select non-default accounts.
- The on-screen buttons except for older/newer don't work.
- No contex menus work.

Change-Id: I38374acafafbae62e46f84294a7677e54686cfc2
2010-07-21 16:30:52 -07:00
Makoto Onuki
16a60dca84 Fragmentize MessageView.
This version is hybrid of the old design and what Andy's suggested.
- MessageViewFragment is responsible to show a single message at a time.
- Call MVF.openMessage() to tell it to open another message.
  No need to re-create a new MVF to do this.
- MessageView manages the message list, and handles "move-to-newer/older"
  buttons.

Reason for not re-creating a fragment when opening another message is:
- Re-using the same fragment doesn't make it as complecated/ugly as I
  was initially afraid.
  It's basically cancelling all running tasks, re-initializee some views,
  and load a message.
- We don't have to run MVF.onCreate() over and over again when moving through
  messages.
We may change the strategy later, but I think it's suffice for now.
(Changing this might affect how the back key works, so let's revisit it
when the fragment manager supports back.)

Basically this CL is all about internal changes.
No UI should have changed except for:
- Moved "Move to newer/older" buttons to the bottom.

Also fixes:
Bug: 2849129

Change-Id: I00c05069231afded9d98d3d52dd9a7925ebdee9d
2010-07-19 18:34:40 -07:00
Makoto Onuki
7daacf83a4 Switch to ListFragment, and use its default layout.
Change-Id: If8dead170a3662cbde87e6ead244363b11db01f6
2010-07-09 13:22:53 -07:00
Makoto Onuki
42e3f10a95 Use "*#*#36245#*#*" to activate the debug screen.
Dial *#*#36245#*#* on the dialer to activate the debug screen.
"36245" = "email"

It's useful when
- There's no keyboard.
- There's no account set up yet.
  (You can do it by entering the special username/password on new account
  screen, but that's a bit of a pain.)

It's also easier to tell to people.

Also, removed "sensitive logging", which should never be used.

Change-Id: Id692f8b216f2d85abe1880c452d2067f170dac83
2010-07-01 16:15:07 -07:00
Andrew Stadler
d5b2da3716 Add ActionBar to MailboxList
Note: This does not appear in UX wireframes, this activity is going
away eventually, but it's a good testbed for ActionBar to be tried out.

Open issues:
1.  Waiting for progress indicator support, using unattractive hack
2.  Subtitle doesn't seem to work so putting account name in title
    (which is the wrong font size for phone portrait mode).

Change-Id: Iee3cac7d4f30ea210bd8f3838b69ed12cd498375
2010-06-29 16:49:47 -07:00
Makoto Onuki
91093ee6e8 MessageList: Introducing "selection mode".
- Long-press an item to go into the selection mode.
- In the selection mode, tap items to toggle selected/non-selected.

This also means:
- No checkboxes any more.
- No context menu any more.

Color scheme hasn't been updated yet, so it looks a bit ugly for now.

Change-Id: I3cb6c45c1dc5461a234c9e9ab9e038c90a9fe8b2
2010-06-23 16:23:41 -07:00
Andrew Stadler
e4ecb50091 Convert AccountFolderList to use a Fragment
* Introduce AccountFolderListFragment and its layout
* Extract all list-related UI into it
* Fix leaking cursor in AccountsAdapter and add unit test

Change-Id: Ica566847d97927b736f515d434c6691c82343290
2010-06-18 15:32:10 -07:00
Makoto Onuki
4df94867b4 Don't use internal resources.
Change-Id: I0edce125b3544724ad74e72d91b4abd40c244b09
2010-06-16 14:07:17 -07:00
Makoto Onuki
601187db42 Introducing MessageListFragment.
- Extracted MessageListFragment out of the MessageList activity.
- This is basically pure extraction, with the following conceptual change.
  - Now the MessageList activity doesn't know the mailbox id or
    the account id.  If it needs these ids, it needs to ask the fragment.
  - MessageListFragment.LoadMessagesTask tries to determine the account ID
    if it's unknown.

Most code in MessageListFragment is directly copied from MessageList
with minimal changes (e.g. pass mActivity instead of 'this' as a Context).
There's a few cleaning up oppotunities.  I'll work on them later in a separate
CL.

Change-Id: Ie004cc49b429f2cd8f9de73df5abb94f3054ea0a
2010-06-14 10:20:29 -07:00
Andrew Stadler
80091c8ef7 Refactor MailboxList to use Fragment API
* Moves all list-related implementation to new MailboxListFragment
* One item that remains to be done is to remove the dependency on the
  activity for handling context menu (longpress) in the list.

Change-Id: I7b5769d9d81fb685cf480de3d3e18b4e1c078f2d
2010-06-07 16:02:52 -07:00
Makoto Onuki
cfe95a8333 Added a label to Exchange device ID.
Bug 2610257

Change-Id: Ie065514e942a01dc5ae3c81bc79a2501f67390e1
2010-05-17 14:30:15 -07:00
Makoto Onuki
12b4bc9e80 Show device id on the exchange setting screen.
I've attached a screenshot on the referenced bug.

Also fixed a bug in SyncManager.getDeviceId() where sDeviceId cache wasn't
working.

Bug 2591124

Change-Id: I4b58517c095a96d47fb57179d70091b2c7af5249
2010-04-13 17:10:26 -07:00
Makoto Onuki
75e31dc17b Fix layout issue introduced with I5b680418
I shouldn't have changed the layout_height.
I changed it as a trial, and the final version of the fix didn't require this.

Bug 2581421

Change-Id: Ie06f813ed6d65a128381a99b9efeaa8d9275b5bf
2010-04-08 15:00:35 -07:00
Makoto Onuki
9623a4ce6f Increase usability of invite components in MessageView
* Make yes, no, maybe, etc. larger (easier to touch)
  (bug #2561772)
* Make the accept/decline/maybe buttons focusable
  Make the "View in Calender" a button
  (bug #2561767)

Change-Id: I5b68041835e9d85e5290a30fe7910837b577c003
2010-04-07 16:45:23 -07:00
Adam Powell
4e1c6d3c36 Remove overscroll
Change-Id: Ie0dc5c4d58a9e970b47aa7bcc33586d5f690adeb
2010-03-29 16:46:19 -07:00
Romain Guy
7b9ad4720a Fit & finish for the Email application.
This change removes unnecessary padding, enables overscrolling only when the content
of the various scrollviews is larger than the scrollview and makes sure the content
of the scroll views is measured correctly.

This fit and finish applies to the new account setup wizard only.

Change-Id: Ia5b5e66782b842e52f7acf8e3f84ce922a594eb3
2010-03-16 14:00:28 -07:00
Andrew Stadler
26b4b47fb3 GAL UI cleanup work (in progress)
Provider:
  * Move UI (e.g. separator) out of provider, create it entirely in adapter
  * Remove timestamp based disambiguation (TODO throttling some other way)
  * Add cursor "extras" to report total # of results on server
UI:
  * Rewrite background-foreground threading to be more efficient and
    signal changes back to UI by calling notifyDataSetChanged())
  * Separator strings per Rich's UI (not using real strings yet)
  * Remove link back to AutoCompleteTextView

NOTE:  There's a bug in ACTV that is causing the window size not to
change properly on notifyDataSetChanged().  Framework team to investigate.

Bug: 2249514
Change-Id: I183b200dcdaa268f0612d2de6442db28e1491d40
2010-03-15 19:17:03 -07:00
Andrew Stadler
e2c56fc88c GAL support
* Provides GAL autocomplete in email address fields in message composition.

General TODO list:
UI: Implement divider in adapter, not in GAL provider
UI: Use listview_separator for divider
UI: Clean up strings, move all to resources
UI: Only have one GAL lookup in flight at any time
UI: Unit tests

GAL: Use side channel for status, not a row
GAL: Shorten timeout for interactive GAL lookup
GAL: Make watchdogs work
GAL: Figure out why some calls never return (conn pool exhaustion?)
GAL: Unit tests

Bug: 2249514
Change-Id: I513e25628bc2f5ed0920e0ee509cd598b1817b3a
2010-03-15 11:12:34 -07:00
Mihai Preda
794f29176d MessageView: EAS calendar meeting invite answer buttons. 2010-02-26 21:12:24 +01:00
Marc Blank
5b46171b83 Fix #2443881 (Don't display User name field for EAS account)
* Make the field and label GONE for EAS accounts
* Enable the "Done" button at all times for EAS accounts
* Add test case for this, and clean up bad formatting in tests

Bug: 2443881
Change-Id: Ic80b001e443fa37b7cfeb810b1f31edf22b065b9
2010-02-20 15:05:39 -08:00
Andrew Stadler
643ca675b6 Placeholder invite-accept UI
This is a lightweight placeholder so calendar functionality can be
tested.  Simply presents a message about the invitation, and a set of
yes/maybe/no buttons to click.

The UI is shown whenever the message appears to contain an invite.

There are many elements left to be done here:
TODO: response code (EAS protocol) doesn't seem to work
TODO: use real assets & design
TODO: provide a click-link into calendar event
TODO: show calendar icon in messagelist too
TODO: (if possible) persist user's response in button state?
2010-02-16 22:02:50 -08:00
Mihai Preda
b052885ea3 Email: husky title for MessageList & MailboxList.
Bug: 2419716
2010-02-11 17:59:00 +01:00
Andrew Stadler
842ac04828 Legacy account migration
* Create new activity to encapsulate account upgrade
* Populate it with a list of legacy accounts, and progress bars for each
* Sidestep Welcome when there are legacy accounts to convert
* Super lightweight account migration:
  - Account login info only
  - no folders, messages, or attachments
* Scrub out old data
* Return to Welcome screen

As noted, the copies working (useable) POP & IMAP accounts, but does
not try to deal with folders, messages, or attachments.

Bug: 2065528
2010-02-10 23:18:19 -08:00
Makoto Onuki
91237e9dcb Adding script for building Email app without exchange.
remove-exchange-support.sh makes it possible to build the email app without
exchange support.

This script:
- removes all packages under com.android.exchange.
- removes all lines surrounded by EXCHANGE-REMOVE-SECTION-START and
  EXCHANGE-REMOVE-SECTION-END

And the resulting source should still build and run fine.

Bug: 2369784
2010-02-03 11:39:46 -08:00
Marc Blank
f3fcb8929e Implement Exchange calendar sync support
What should be working:
* Events sync down from server and appear in calendar
* Recurrences and exceptions appear in calendar
* Changed events on server should be reflected in calendar
* Deletions on server should be reflected in calendar
* Push of new/changed/deleted events should work
* Changes on device are NOT synced back to server
* New, single events on device are synced back to server
  (no time zone, attendee, or recurrence support)
* Checkbox for syncing calendar added to setup flow
* System sync glue in manifest, etc.
* Bugs are to be expected
* A few unit tests; needs more

Change-Id: I7ca262eaba562ccb9d1af5b0cd948c6bac30e5dd
2010-01-28 09:18:48 -08:00
Romain Guy
a4d32a8fec Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
2010-01-08 15:11:47 -08:00
Mihai Preda
af1bf48773 MessageView: upon delete move to older instead of newer.
Bug 2233586
2009-12-22 15:16:14 +01:00
Mihai Preda
77ee78152b MessageView: center the presence dot with the From text.
Bug: 2216938
2009-10-28 17:54:52 +01:00
satok
3045bb967f Add view of all counts in AccountFolderList
BUG: 2201097
2009-10-21 07:19:10 +09:00
satok
fa368b50d6 Clean up appearance of unread counters
BUG: 2161746
2009-10-20 03:18:27 +09:00
satok
7b16a280d9 Fix the apparance of title according to Gmail
BUG: 2161477
2009-10-15 08:46:52 +09:00
Andrew Stadler
d5e7afa1eb Remove obsolete resources & code
* FolderMessageList
* Fat title bar (remnants)
* Drawables

Bug # http://b/2071133
2009-10-11 22:09:39 -07:00
Mihai Preda
affa5660e7 MessageView: UI change prev/next arrows.
Bug: 2149187

The prev/next buttons now each extends half the width, and are on black background.
2009-10-09 14:17:49 +02:00
Mihai Preda
1ef86a50f8 MessageView: scroll to (0,0) on message change.
Bug 2156934.
2009-10-06 16:36:44 +02:00
Evan Millar
82d201b33a FastTrack->QuickContact
Change-Id: I7fc4b053ef86c9bc8374167dc11b1c04934a77bb
2009-09-30 19:49:39 -07:00
Andrew Stadler
f9597e71d5 Fix assets & colors for MessageList & MessageView
* change read/unread list bkgnds
* change read/unread list text params
* new checkbox
* new stars

Bugs:http://b/issue?id=2156331 & http://b/issue?id=2156332
2009-09-30 16:18:36 -07:00
Mihai Preda
536f04d3fb MessageView: UI: change prev/next arrows, re-enable notification bar shadow.
Bug: 2149187.
2009-09-30 15:10:17 +02:00
satok
a4e604a9bb UI refresh and add default sender indicator
BUG: 1904417

* Fix the color of Read/Unread
* Add default sender indicator
2009-09-26 03:18:33 +09:00
Android (Google) Code Review
8cb81390ce Merge change 26601 into eclair
* changes:
  Add a backgroud drawabled for fasttrack presence.
2009-09-23 13:07:47 -04:00
satok
da35b1f187 Add a backgroud drawabled for fasttrack presence.
BUG: 2053500
2009-09-24 01:41:09 +09:00
Andrew Stadler
8067b54294 UI cleanups for new account creation
* Improve appearance of basics screen and use simplified text
* Provide alternate text when in EAS account setup flow (from acct mgr)
* Change "Exchange/ActiveSync" button to "Exchange account"
* Add some spacing to the three buttons, to improve appearance

Bugs addressed:
2128055 Change string in account picker activity to Exchange
2132713 Welcome message for Email app is inappropriate when coming from
          Settings -> Accounts & sync -> New account
2009-09-20 17:26:43 -07:00
Andrew Stadler
9312faea43 Restore lost connection error UI
We lost the reporting of connection errors in the UI.  These were
originally displayed in FolderMessageList, under the name of each folder.

In the new implementation, we borrow the "undo" banner from Gmail and
display it whenever there is a connection error in a mailbox.

* Add banner, and code to animate it on/off the top of the list.
* Toggle banner whenever a connection state change occurs in MessageList
* Toggle banner whenever a connection state change occurs in MailboxList
* Slight change to callback semantics for sendMailCallback
2009-09-18 15:31:37 -07:00
satok
666dd86762 Move chip in mailbox to the left 2009-09-18 15:54:03 +09:00
satok
9e7a9801c7 Rename name of color
BUG: 1904417
2009-09-18 13:55:02 +09:00
satok
d4f5b786ea UI Refulesh of account folder list
BUG:1904417

* rename name
2009-09-18 11:41:58 +09:00
satok
15206a12e8 UI Refuresh of account folder list
BUG: 1904417

* Extend chip
* Add separator between a folder button and account name
2009-09-18 11:33:30 +09:00
satok
5569ec9c9d show message list selection
BUG: 2117057

* add styles for items in MessageListView
* reduce color diff of Read/Unread
2009-09-16 10:55:28 +09:00
Marc Blank
60c7502b67 Change exchange setup screen per #2025029
Change-Id: Ib94713857902e336984b847f70c96e04826b9b74
2009-09-13 21:55:10 -07:00
Android (Google) Code Review
51b635f2d2 Merge change 24518 into eclair
* changes:
  Fix spinny position in the title bar
2009-09-10 20:17:47 -04:00
satok
2cbacb511f Fix spinny position in the title bar
BUG: 2072362
2009-09-10 20:36:13 +09:00
Marc Blank
cef2344e70 Rework EAS account creation & ssl operation
* Fixes 2048663, 2025029, and 2100131
* Add "Trust Certificates" checkbox in EAS account creation
* Use custom ClientConnectionManager for HttpClient with registry
  for plain, ssl, and tssl (trusted ssl) connection
* Use a ConnectionPool for HttpClient connections
* Remove "Domain" checkbox in  EAS account creation
* Remove tests related to the "Domain" field
* TODO Write a test for valid usernames (requires a bit of research)
  <name>, <email address>, <domain>/<name, and <domain>\<name> are all
  valid, but there might be others

Change-Id: I4a0338df5960bfd3d679a88aaf22d1c49f49992b
2009-09-09 10:32:06 -07:00
satok
64814b3928 Update the design of Unread Count
BUG: 2065601

* Show Unread Count of Accounts in AccountFolderList
* Change the background according to the folder's type
* Change the style of unread counts

TODO: Change background images of Unread Count
2009-09-03 02:54:22 +09:00
Andrew Stadler
f330d1221a Fix account setup layouts
These were not working on some screens due to portrait/landscape
layout issues.  The worst cases were the "basics" screen and "exchange",
but I cleaned up all of the screens that had similar issues.

Resolves bug 2070902 which made it difficult to create accounts on
some devices.
2009-08-21 16:24:16 -07:00
satok
8a34ba9f83 Scrub out "px"
BUG: 2064511
2009-08-21 19:16:34 +09:00
satok
95993a4b84 Update Title bar to use custom titles
BUG: 2050630

* remove fat title bar
* show new titles by using custom title bar
2009-08-21 15:47:01 +09:00
Andrew Stadler
bcff14acf2 Create setup flow for use by Accounts manager.
* Create a new entry point for the exchange setup flow and switch
    EASAuthenticatorService to call it
* Pass "eas flow mode" down through the setup screens
* Slightly modify their behavior as we go (e.g. we skip the
    (account type" screen since we know it's EAS.)
* Add a checkbox to "sync contacts from this account" and pass that
    value into ExchangeStore when we set up the account.
* Change the flow exit to pop back to the account manager instead of
    taking the user to the new inbox.

This CL satisfies cases 1 & 2 of bug # 1974752.
2009-08-20 15:51:36 -07:00
Andrew Stadler
e346193f06 Add status item to bottom of message list.
* Add code to (optionally) add footer, update text & progress dynamically
* Add hook to dispatch various actions (refresh, load more, etc.)
* Some cleanup of the launch helpers for MessageList

TODO:
* controller handler for the "send messages" case (subsequent CL)
* controller handler for the "more messages" case (subsequent CL)
* reporting of send results etc. into the status line
2009-08-19 20:05:10 -07:00
Marc Blank
08e69d7023 Remove tabs; fix formatting
* Responding to stadler's comments for CL20566
2009-08-17 14:57:11 -07:00
satok
55c390fe93 Use custom icons for special mailboxes
BUG: 2051100

TODO: Add trash icons
2009-08-17 19:56:25 +09:00
satok
73fa3562f2 do not merge: Merged CL 21093 from goog/master to goog/eclair 2009-08-17 15:08:38 +09:00
Android (Google) Code Review
96a0b9a9a3 Merge change 20698
* changes:
  Show folder icon left of mailbox list See bug 2028384
2009-08-12 00:12:36 -07:00
satok
5c6d8ed70d Show folder icon left of mailbox list See bug 2028384 2009-08-11 13:08:48 +09:00
Marc Blank
cc402e42ab Clear error states on network reconnect; add temporary notifications; see details
* When we get a network connect broadcast, clear error states so sync can
  restart for any boxes in an error state
* Add temporary notification code for the testers
* Add file-based debug logger
* Add Exchange logging to debug screen (adds additional exchange debugging)
* Add Exchange sd card logging to debug screen (logs to sd card)
* Change setLogging service API to send an int rather than a boolean
* Make sure push mailboxes are set up again when account changes to push
* Make sure push mailboxes are set up again when account mailbox starts
* (Fixed contacts sync bug found during debugging these changes)
2009-08-09 21:20:47 -07:00
Andrew Stadler
9f9aaeaa3a Updates to AccountFolderList
* Switch to custom list item view
* Make the folder button work right
* Add the "Accounts" separator
* Change top text to "Email"
2009-07-30 15:50:08 -07:00
Andrew Stadler
90ed7a4e23 Convert AccountFolderList to flat list
TODO: convert item to custom view
TODO: click on folder icon
TODO: mailbox per-type icons (e.g. inbox, outbox)
TODO: separator between two sections
2009-07-30 10:01:01 -07:00
Andrew Stadler
9150b3005f Convert AccountFolderList to fat title bar style.
Also sharing fat title bar layout with MailboxList now.
2009-07-29 23:18:43 -07:00
Andrew Stadler
9e5ee4589f Create MailboxList for new UI activity.
* Shows mailboxes
* Click to open mailbox (see messages)
* Basic menus
* Fat title bar (appearance)
* Fat title bar (buttons)

Temporary hack to call this from AccountFolderList (when you click the
account groups and "expand" them, you come here instead.)
2009-07-29 19:21:37 -07:00
satok
41f775bbc7 Modified to display unread count correctly. 2009-07-25 06:42:34 +09:00
Andrew Stadler
4e4abc645c Clean up launch-time & account setup behaviors.
* Moved welcome message into account setup basics (name/pass)
* Reworked Welcome to go to AccountSetupBasics on count=0
* In AccountFolderList, removed old welcome message code, and add
  code to launch AccountSetupBasics when last account is deleted
* Fixed shortcut picker so launcher shortcuts work again
* Reimplemented shortcut receiver (in MessageList now)
* Default EAS accounts to SSL

Addresses bug 1916583 & 1987440
2009-07-21 11:06:14 -07:00
Andrew Stadler
ded3c915d8 Add folders to AccountFolderList
* Scan folders and write into child cursors
* Clicking a folder takes you to MessageList
* Remove most links to FolderMessageList (nearly dead!)
* Repair 1-account startup behavior (takes you directly to inbox)
* Cleanup a few basic things like context menus & refresh

TODO: Magic mailbox section at the top
TODO: As always, better linkage to sync engine(s)
TODO: Menus, context menus, etc.
TODO: Proper handling of expandable list - accounts should stay open?
2009-07-10 16:46:51 -07:00
Andrew Stadler
72dce73390 Convert Accounts to AccountFolderList
* Move relevant sources & resources to new name
* Convert from ListView to ExpandableListView
* No children yet - selecting account simply jumps to FML (temp)
* No other change to functionality (e.g. no menu changes yet)
2009-07-09 12:33:09 -07:00
Andrew Stadler
b55bfc96f4 Enable multi-selection actions
* Toggle small pane with multi-select action buttons
* Implement multi-read/unread
* Implement multi-favorites (stars)
* Implement multi-delete

TODO: menu items when there are selected items
2009-07-08 16:09:45 -07:00
Andrew Stadler
432d1ec3ed Add custom item view to MessageList
* Stores per-message metadata
* Fix a number of todo's in MessageList
* Clicking on checkbox toggles state, updates checked list
* clicking on star toggles favorite state

To do:  When one or more messages are checked, we should slide in a
panel with action buttons.
2009-07-07 13:43:24 -07:00
Andrew Stadler
48c8cc34b7 Add "favorite" star to MessageView
* Shown next to subject (non-final layout)
* Value taken from provider data
* Tapping star toggles state
* State writes back to provider

NOTE:  I am currently doing the provider writeback via direct provider
calls (using the synced-message URI) but not doing it with a service call,
so at this point there is no triggering of any server-side update.
However a sync engine might "discover" the change.

NOTE:  I made a global change of "mMessage" to "mOldMessage" because
there is still a lot of legacy code in MessageView and I wanted to clearly
demarcate the code that still needs to be redone.
2009-07-01 12:11:47 -07:00
Andrew Stadler
7c3de93429 Add attachments, favorites, and selections to MessageList.
* Attachment icon is displayed when message.mAttachment != 0
* Favorite icon is set/cleared from message but not clickable
* Selection icon is not clickable

Further progress requires implementing a custom child view which can
handle sub-clicks properly.
2009-07-01 10:47:23 -07:00
Andrew Stadler
4765472db8 Add MessageList activity
* Add MessageList Activity class and Manifest entry
* Add appropriate layouts, views, etc.
* Wire into FolderMessageList

Lots to do, but this gives us a useable screen.
2009-06-30 15:15:07 -07:00
Mihai Preda
ed0e683d86 Don't drop invalid addresses while editing & check that all addresses are valid before send.
BUG: 1542391
add unit tests.
2009-06-24 15:44:08 -07:00
Andy Stadler
3cf41764e3 AI 148485: Clean up the scrollview layout so the button bar is always on the
bottom of the screen.
  Also removed an extra ':' in a string on the screen (none of the other
  label strings have ':').
  BUG=1740626

Automated import of CL 148485
2009-05-07 14:30:53 -07:00
Andy Stadler
9197f42894 AI 148216: Provide UI for fixed sync window sizes, as required by EAS.
When in fixed sync window size mode, change "load more
  messages" to "refresh".
  BUG=1789913

Automated import of CL 148216
2009-05-01 15:30:33 -07:00
Andy Stadler
87c43cada6 AI 144525: Add structural support for Exchange transport. The idea is that
the shipping client will include the necessary generic pieces for
  configuring an Exchange client (e.g. account setup) but will not
  include actual Exchange client code (e.g. transport / protocol).
  Also added a "sample code" implementation of Exchange for use
  as a starting point for implementors.  (Note, this will not ship
  in Donut, it's a placeholder for working on the "framework"
  aspects.)
  BUG=1740621,1740626

Automated import of CL 144525
2009-04-03 16:02:55 -07:00
The Android Open Source Project
3b85e2c2b5 auto import from //branches/cupcake_rel/...@138607 2009-03-13 13:04:24 -07:00
The Android Open Source Project
3debc4f25a auto import from //branches/cupcake/...@137873 2009-03-11 12:11:58 -07:00
The Android Open Source Project
3db9542af6 auto import from //depot/cupcake/@136594 2009-03-05 14:34:38 -08:00
The Android Open Source Project
96c5af40d6 auto import from //depot/cupcake/@135843 2009-03-03 19:32:22 -08:00
The Android Open Source Project
8c2158a5eb auto import from //depot/cupcake/@135843 2009-03-03 18:28:50 -08:00
The Android Open Source Project
1f5bbf66d1 auto import from //depot/cupcake/@132589 2009-03-03 14:04:31 -08:00
The Android Open Source Project
7a8703fda9 auto import from //depot/cupcake/@137055 2009-03-02 22:54:40 -08:00
The Android Open Source Project
f7ae27b973 auto import from //branches/cupcake/...@130745 2009-02-10 15:44:04 -08:00
The Android Open Source Project
ba1a40098c auto import from //branches/cupcake/...@125939 2009-01-09 17:51:25 -08:00
The Android Open Source Project
687f9962d7 Code drop from //branches/cupcake/...@124589 2008-12-17 18:05:56 -08:00
The Android Open Source Project
8978aac197 Initial Contribution 2008-10-21 07:00:00 -07:00