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
This involves redoing the persistence model, to split general,
account, and folder settings into separate SharedPreference stores.
It also requires some preferences to be moved into UnifiedEmail.
Depends on Ibe2e3f93ec164370535ffc5f5b2409544cc8d36d (UnifiedEmail)
Change-Id: Ie6ec389b5b5d2e7ab1b299d0877811ae716526e2
Migrate the old value as necessary.
Update the unit tests.
Cherry-picked from I1c276ffde3496cbc66846ed4a007088d39f20382 with
minor changes.
Bug: 7624838
Change-Id: I1b3fa331b62f556701bacba5ce9cd64305d9b52a
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
For phone, should match Gmail and just show it at the top level.
Fixes b/5621803 "Add account" button disappeared - IKXEVERESTLTE-3051
Change-Id: I143043485cbb912023fe015a768c6f37c8cad3f5
* Remove PolicyService APIs policiesRequired, policiesUpdated,
isSupported, clearUnsupportedPolicies, and isActiveAdmin
* Add PolicyService API setAccountPolicy, which is the sole
method by which security policies are promulgated
* Add protocolPoliciesEnabled and protocolPoliciesUnsupported
to the Policy class; these are packed, localized strings
indicating policies that the protocol itself have enabled
and/or cannot support (i.e. these are policies that are
unknown to the DPM, e.g. don't load attachments)
* Differentiate in security notifications between three kinds
of policy changes - changes that don't require user
intervention (e.g. reducing requirements), changes that
require user intervention (the legacy notification), and
changes that make the account unsyncable (e.g. the server
adding an unsupportable policy). Handle all possible policy
changes cleanly.
* Make security notifications per account (with multiple
accounts, notifications would get arbitrarily munged)
* Expose ALL enforced policies via the account settings
screen in two categories: policies enforced (including
both policies enforced by the DPM and policies enforced
by the protocol) and policies unsupported (note that these
can only be seen if policies are changed after an account
is created; we do not allow the creation of an account
when any required policies are unsupported). Add a
button that forces a sync attempt, for accounts that
are locked out, but whose policies have changed on
the server (this would otherwise require a reboot).
* Updated unit tests
Bug: 5398682
Bug: 5393724
Bug: 5379682
Change-Id: I4a3df823913a809874ed959d228177f0fc799281
We should eventually replace all with EmailAsyncTask, but it's the safest thing
we can do now to avoid regression.
Change-Id: I78bfc4fb2be1dcfadeb7f90092ec7adb35c1d393
Added "Insert quick response" button to MessageCompose's action bar. Clicking
it opens dialog with available quick responses. Selecting one of the responses
will insert it into message body at the current cursor location. Also added
menu in account preferences to create, edit, and delete quick responses.
Change-Id: I85f3f6b36801cf112ec9d7c31135a917456173d7
* Remove per-store limitations
* Use constants for VISIBLE_WINDOW, rather than having the
potential for differences between Stores
Change-Id: Idd5e0874bba6e3390e4f093bcb03f4b1bb399c11
This is kind of a convoluted issue; the framework automatically sets the
breadcrumbs on multi pane settings. However, on single pane, it doesn't
pass any of that breadcrumb info on, and just uses an Intent to start
another instance of the activity with a different Fragment.
Unfortunately, nothing in the default codepath sets the title to
correspond with the breadcrumbs (as it would have been in multipane)
Change-Id: I428642771538bdec3bdaba644f7816a1250ae929
This activity already supports phone and tablet mode.
Only renames in this change - no other change.
Change-Id: Ieca17137af45e3860812091f69cd4d9b55ddf3ec
Editing the account description occurs in a different fragment. As such, we
need to notify the fragment in charge of the account list whenever the
description is updated.
We already have a callback mechanism, so, expand that to send notifications
of any property change.
bug 3388586
Change-Id: I02475233f7f333db57c49ceaf908dbfa69c86ca6
* Make "Exchange" option in account setup depend upon availability of the
Exchange EmailService
* Make presence of Exchange logging depend upon availability of the
Exchange EmailService
* Make AttachmentDownloadService use service rather than ExchangeService
class
* Move SSLUtils to emailcommon/utility
* Move account manager type defs to emailcommon/AccountManagerTypes
* Update proguard.flags
* This is the penultimate CL for the Email package itself; the next CL
creates a clean, SDK-compatible Email application
Bug: 3442973
Change-Id: I9162cf5fa6b5a043ded0fdd1e25fd3ce5948ad8f
* 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
* No code was harmed, er, changed in the making of this CL
* All that's happened is that code that is needed by both Email and
Exchange have been moved into emailcommon
* This required import changes to many files, which explains the
length of the CL
Change-Id: I4e12455ba057a4a8054fdbd0b578c73afa411c8a
* Add multiline flag to preference xml
* Also, remove display of actual signature in summary, as it
does not properly handle long or multiline signatures.
Bug: 3379235
Change-Id: I84894dbdccee2cd8a8ece05d0b8f7fdcf7b92406
* In AccountSetupNames:
* Add "Field required" error tag to Names display
* In AccountSettings:
* Improve IME behavior in text fields - auto-capitalization
* Prevent empty username
* Reset empty nickname back to default (email address)
* Fix broken hint for signature
* Proper trimming in all fields
Bug: 3338435
Change-Id: I2720c4524303ada6dd228866756fc9c3aac173f3
* Create sync & async versions
* Rename all callsites so sync is very apparent
* Fix callsites appropriately
* Clean up interaction between reconciler and setServicesEnabled
Bug: 3133770
Bug: 3134677
Change-Id: Iefbc7814d9aa390baea6345e450e2a4768bf0a9a
This change is in top-level settings for a given account:
* Call saveSettings async on UI changes, instead of synch at onDestroy()
* In loadSettings, get default account id async
Also sprinkled in some TODOs for future whack-a-mole fixes.
Bug: 3133639
Change-Id: I5216c78d28b35fe47e43b48ad0db3a3e57b25004
* Check for existence of vibrator, hide option if appropriate
* Notifications with vibration are still OK, they are just ignored
* Minor cleanups & renaming
Bug: 2988758
Change-Id: Ia1fd259f57d33a75a54cf1016f66a1c072aba579
Update settings to use to PreferenceActivity APIs to retain its
current state across instances. Removes
inheritance of Header (to work well with new framework impl that
retains these across instances), avoid resetting the current header
after a state change (we want to keep showing whatever the user
last viewed), put the dialog on the back stack (so it will get
removed if the back stack is cleared).
Change-Id: Ie35b1c0eb9b06277165f2b9cadb0e2999bb8af47
* Create new retained fragment + asynctask as the worker
* Stateless dialog fragments for everything else (progress & errors)
* Used for account settings, incoming & outgoing, only so far
TODO: Support for account setup workflow
TODO: Support for autodiscover workflow
TODO: Remove old checker activity when complete
Change-Id: I1fdafa1a51c53b934e59ea4af7d3e0ac24a3da17