Commit Graph

91 Commits

Author SHA1 Message Date
Martin Hibdon 874d25ff70 Add temporary code to do oauth authentication
This just adds an oauth button to the accountSetupBasics
screen, which will launch a webview and go to the google
authentication page.

Change-Id: I09d5182fa6081fb94b40e7910b71afbbee70387e
2013-12-06 17:39:23 -08:00
Tony Mantler 57a821368a Retrieve the user's real name from the system
Also use a loader instead of an async task.

Change-Id: Ie9c033be0807bebdb559d9ce255a49b52a00134a
2013-12-02 13:34:44 -08:00
Tony Mantler 463584d23f Fix account matching at initial screen to match against email address
b/10210901

Change-Id: I64d60ca33a42a19e085dd98a7a61d68ac30027f9
2013-09-26 13:41:09 -07:00
Yu Ping Hu 229e173010 Merge "Disable account setup debug screen." into jb-ub-mail-ur10 2013-09-25 21:56:15 +00:00
Tony Mantler 463ed11857 Disable account setup debug screen.
b/10446166

Change-Id: I6703c1950559e9896f168a0cbaec10040eac9589
2013-09-11 15:17:42 -07:00
Tony Mantler 78c166b4cc Disallow duplicate accounts
b/10210901

Change-Id: I11b759246fafabafe29fd8f4d20f6e973f9679a4
2013-09-11 15:15:38 -07:00
Tony Mantler 26cd5e024c Don't store the account creation/modificaiton state in a singleton
b/10460757

Change-Id: I7f0bea69f843f9061d1cfa9277c99d36705aceaf
2013-09-03 14:15:32 -07:00
Tony Mantler ed4accb24f Clean up warnings, finals, dead and useless code
Change-Id: I8225a78c3b1712479bb5752161e3585a2bc2be2e
2013-08-23 14:43:31 -07:00
Tony Mantler 4727dc2903 Add TODO for debug variable for entering debug screen
See b/10446166 for STOPSHIP notice to disable debug screen before shipping

Change-Id: Ic0c845b558a2b745bc5015beb3eac3864165670d
2013-08-23 10:50:52 -07:00
Tony Mantler 219c3b5b84 Tidy up warnings in account setup fragments
Change-Id: I078df83dbc4afd10c0783a98bfbb23bced12489c
2013-08-22 15:09:42 -07:00
Paul Westbrook 7985b43ab7 Add public no-arg Fragment constructors
Bug: 10311630
Change-Id: I0243462cdc28b9af3151754a8c8583330418579b
2013-08-13 16:43:34 -07:00
Scott Kennedy 229c070b0b Change the concept of a default account
The user no longer has control over this. Now, the "default" account
(which is only used for prepopulating the name of new accounts is
either the last used account (to be defined), or the first account in
the database.

This removes a setting, and simplifies a lot of code.

We may also want to auto-select the default account when entering the
compose screen from the combined view, but we do not currently have
an easy way to do that.

Bug: 7442992
Change-Id: Iff5bb36d8cbd327334211b670fa4851cbda6b9a0
2013-06-27 10:22:22 -07:00
Scott Kennedy 560bfadc31 Unify LogTag
There is now only one LogTag class. The static initializer of
GmailApplication (existing) and EmailApplication (new) will now set
the log tag to "Gmail" and "Email", respectively. Up until that code
is run, it will be "UnifiedEmail".

"setprop log.tag.Gmail VERBOSE" (or .Email) will trigger all logs to
be printed as long as they go through LogUtils, regardless of what tag
is used by that individual log. This lets us still turn on logging
everywhere in one command, but also lets us use more descriptive tags
(like the class name).

And since we no longer have three com.android.mail.utils.LogTag
classes, builds will be much easier.

Also, we now use LogUtils everywhere.

Change-Id: I55f1c7a66ce50ead54877a13e40256422a56dc39
2013-06-05 20:06:15 -07:00
Marc Blank 74c79a5043 Modify intent names
Change-Id: Iad8b4842056a7f553363f9af47e65665c2b26a5d
2012-09-10 17:18:32 -07:00
Marc Blank e714bb9d15 Convert authorities, intents, and account manager types
* Tested ok on wiped Nexus
* Tested ok on S3
* Upgrade verified on Nexus

Change-Id: If5d4ce594f8a309cdb59589d10b1d33f3b79326c
2012-08-31 23:26:36 -07:00
Marc Blank 12a79eb479 Preserve SetupData state on orientation change
* I suspect there are more bugs to be found here

Bug: 6956692
Change-Id: Id01d8e990b954505383d8218c05c192d658062cc
2012-08-17 16:04:05 -07:00
Marc Blank 53d791d7a4 Remove Imap2 warning
Change-Id: Ic531ef1047ba1bf8da50cae9af147cf18332d8b8
2012-08-17 12:29:08 -07:00
Marc Blank 125a2435d6 Use Imap2 for auto-setup (if installed)
* And warn user (allowing her to switch to legacy adapter)
* This is temporary, for use in testing and marked STOPSHIP

Change-Id: I2510b0855a67c09add116d827185ff14596f44dd
2012-07-29 13:41:34 -07:00
Marc Blank c6089bc01f Initial Imap2 implementation
This CL includes the following:
* New Imap2.apk generation (not included in builds)
* "Push IMAP" option for accounts when Imap2.apk present
* Account creation/setup
* 2-way sync of messages, deletions, flag updates
* Push (messages, flags)
* Folder list hierarchy handling
* Message text (one plain or html part)
* Picker UI for trash folder (placeholder)
* Capabilities handling/UI command

Major Imap2 new features:
* Push
* Multiple folder sync
* Sync window (like EAS)

TODO:
* Picker UI for sent folder
* Upload of sent messages to server
* Search
* Multiple viewable parts
* Probably lots more, incl. unit tests

Change-Id: Ia5d74073d9c307e0bdae72a7f76b27140dde7d14
2012-07-18 11:32:26 -07:00
Marc Blank f419287f22 DO NOT MERGE: Move emailcommon2 sources to emailcommon
Change-Id: I06df7e467cd2e0117df8b8db3ddc6ff9da13f1c7
2012-06-28 11:15:06 -07:00
Marc Blank 03cd72805d Revert to old Email app
* These are the last sources in the ICS-MR1 tree

Change-Id: Ida4651bddd92a06a518d00f3e1f275ab3a80c8ae
2012-04-25 13:58:23 -07:00
Conley Owens 58ce2d0c3a Make TAG field package-private in several classes
Specifically, several internal classes.

This makes a little more sense since they are accessed outside of the
class that they are defined in.

In addition, this fixes errors created by proguard when building with
OpenJDK.

Change-Id: If2e2f90558e04e777a0c4dbc2ccd1f6c46dd8228
2011-12-20 11:58:29 -08:00
Ben Komalo c5c44eed77 Fix account creation issues.
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
2011-10-20 14:08:20 -07:00
Ben Komalo 025d29fd4b Fix some missed account setup flags.
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
2011-07-10 18:26:15 -07:00
Makoto Onuki bc2eaadde9 Use parallel executor
We should eventually replace all with EmailAsyncTask, but it's the safest thing
we can do now to avoid regression.

Change-Id: I78bfc4fb2be1dcfadeb7f90092ec7adb35c1d393
2011-07-01 11:04:11 -07:00
Marc Blank 6fea021e3d Remove redundant and unused constants
Change-Id: Ie8658f86737880e3127a0a2c3b7f0557dde98b29
2011-06-29 14:30:46 -07:00
Marc Blank f5418f1f93 Move Account into its own top-level class
Change-Id: Ide7c991b7d4d418dbe17164421425bf898ba64ee
2011-06-13 15:37:22 -07:00
Ben Komalo 313586c8eb Introduce client cert alias for HostAuth.
Some email servers require client certificates to be presented to
establish an SSL connection. While this certificate will be maintained
by the system key store, we need to store the "alias" of the certificate
stored in that system store.

Wiring up to use the actual alias will be done in future CL's. It is
currently unused.

Change-Id: I8d1290151342daea9ceb0df8a4088405b44faa81
2011-06-07 18:48:23 -07:00
Ben Komalo 12b82d9374 Move HostAuth to top level class.
No other changes made.

Change-Id: I1c6497c98abc0f99443ea42d8aed6295b263c123
2011-05-19 15:28:48 -07:00
Ben Komalo 2866284a6d Rename AccountSettingsXL -> AccountSettings
This activity already supports phone and tablet mode.
Only renames in this change - no other change.

Change-Id: Ieca17137af45e3860812091f69cd4d9b55ddf3ec
2011-05-13 09:58:15 -07:00
Makoto Onuki 44f45f4221 Merge "Don't use findViewById (part 1 -- account setup)" 2011-03-31 11:06:15 -07:00
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
Todd Kennedy 08534762bd Allow globals in the providers.xml
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
2011-03-29 11:12:13 -07:00
Todd Kennedy a819783491 Fix NPE when creating an account from template
if you create an account using one of the pre-defined templates (such as
Yahoo!), the user name and password were not being set in the HostAuth
structure. This was causing an NPE when we tried to generate an IMAP ID.

Change-Id: I9619cddc0ab758c187cf4b9c7c84485ac1f4bfdd
2011-02-17 14:43:50 -08:00
Todd Kennedy 040ddf60cf Resolve build warnings; part 5
Remove dependence upon URIs for creating the host auth structure

Change-Id: I92dee36fa329a8976b76bbd4991ed3469c6475f2
2011-02-16 17:38:31 -08:00
Marc Blank 31d9acbf06 Email split, part huit: Refactor constants, clean emailcommon
* There are three pieces to this CL (sorry):
  1) Move and/or rename some constants into emailcommon
  2) Move Utility to emailcommon, moving the few UI
     related utilities back into Email (FolderProperties
     and UiUtilities)
  3) Remove all references to resources from emailcommon
* The three pieces relate in that, between them, they allow
  the emailcommon static library to compile cleanly

Bug: 3442973

Change-Id: Ic5e3abaa2a1b36999e0b6653c6c2134ea1bd544f
2011-02-14 12:18:10 -08:00
Marc Blank a7bc0319a7 Email split, part six: EmailContent
* Moved EmailContent to emailcommon

Change-Id: Ib3db1bfcfe74554c0e5afd3cfce6d72f26e9aeb9
2011-02-10 19:44:29 -08:00
Andy Stadler f020910461 Fix Account Manager integration
* Rework the interaction with the Account Manager
* Remove unneeded call to response.onRequestContinued()
* Store response in SetupData so it can survive the entire account
  setup flow.
* Explicitly report exit status to acct mgr at known exit points:
  * AccountSetupBasics.finish() (fail/cancel)
  * AccountSetupOptions.finish() (fail/cancel)
  * AccountSetupOptions.optionsComplete() (success)

Bug: 3335128
Change-Id: Ia55724eb1e938f2633c5ff7afb719a879be16a1b
2011-01-26 11:16:56 -08:00
Andy Stadler a97faa25ac Discard result of Dupe Account check if paused
Fixes a potential race condition with a slow DB lookup and a
fast user (or monkey).

Bug: 3384992
Change-Id: I0602820e1d9f49eb01b09c9d78db3d0fc47ccfb1
2011-01-25 23:18:45 -08:00
Andy Stadler 858c282277 Handle leading/trailing space in passwords
* Allow, but provide warnings via EditText.setError()
* Remove one last instance of password trim()

Bug: 2981433
Change-Id: I406a4f8b8f27cc5ce90424a8cafe88a677e72f45
Signed-off-by: Andy Stadler <stadler@google.com>
2011-01-19 16:40:15 -08:00
Makoto Onuki 49518bb360 Use proper alert icons on dialogs
Bug 3364447
Bug 3241281

Change-Id: Ie791d8d5eae26a848de08658a14d6a09d06d0846
2011-01-18 10:17:23 -08:00
Dianne Hackborn 31e2576791 Follow API changes.
Change-Id: I1ca0fe365b953fa98a462912309a1c9647277ba7
2011-01-17 16:24:00 -08:00
Brett Chabot ea4c564261 Use new public API to protect force account creation.
Check value of ActivityManager.isRunningInTestHarness() before allowing force
account creation, instead of ActivityManager.isUserAMonkey().

Bug 3329873

Change-Id: I5028eef9caced2cacc9c187dfd746865939fdedd
2011-01-09 15:25:52 -08:00
Andy Stadler 8b5cd2beff Remove UI thread access in AccountSetupBasics
* Move getOwnerName to a FutureTask
* Use AsyncTask for call to Utility.findExistingAccount()

Change-Id: I85e35a12cc28b1dda8a0ccd930869316032a3b12
2011-01-03 23:07:25 -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
Andy Stadler 6175300474 Allow non-monkey creation of test accounts
* Set the debugging flag to allow it
* Add STOPSHIP (it cannot go out like this)

Bug: 2735784
Change-Id: Id5d162f7f1879b76004a24d5d81e769b06ef8d29
2010-12-08 16:43:23 -08:00
Andy Stadler d685b469c7 Add magic intent to force account creation
* Add entry point via com.android.email.CREATE_ACCOUNT
* Enable when in monkey mode only
* Walks through setup screens as if auto-populated and as if
  connection checking always succeeds.
* Refactored some common code in AccountSetupBasicsFragment
* Removed obsolete commentary about auto-population of EAS accts
* Also fix minor typo in FLOW_MODE_ACCOUNT_MANAGER_POP_IMAP

Bug: 2735784
Change-Id: Ie7363836cd267673e963e60ae8bc32cab422576e
2010-12-04 22:53:59 -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
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
Daisuke Miyakawa 43f2321d10 Modify code style.
Change-Id: I40eeb738ca2dcc7f21ddbc603b03debde5ac27d3
2010-10-10 15:17:52 -07:00