* Split PolicySet from SecurityPolicy and move to emailcommon
* Define PolicyService that sync adapter services can use to
interact with the Email DPM administrator
* Implement PolicyServiceProxy for exchange
* Implement PolicyService in email
* Modify imports, references, etc. as required
Bug: 3442973
Change-Id: I92015e21f780a68754b318da89fbb33570f334a2
* After deleting an account, we need to actually update
the list of known accounts - it's not sufficient to simply
rebuild the headers with one account marked deleted.
* Also remove a couple of obsolete TODO's
Bug: 3382965
Change-Id: I1aa6d88f869f0192b564b538817381efdc5fffe0
* 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
* 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
* Bug to fix was that it was looping if the user canceled
password or encryption setup (instead of simply re-notifying.)
* Solution was to refactor all code into a single sequence of checks,
rerun the sequence each time, and set markers to prevent looping.
* Rework needed after the changes in I54f39bc9 which added
encryption support but introduced the looping behavior.
* Removed a UI-thread DB access
Bug: 3346641
Change-Id: I0791d7a16287efecc7121b5ffa0db26ca2b05151
* 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
* 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>
When navigating away from a preferences screen and unsaved settings would be
lost, display a confirmation dialog. The user can either accept or cancel the
action. If canceling, the user is returned to the settings screen they were
currently on. Otherwise, they are taken to a new fragment (the exact
destination depends upon whether the user navigated "back" or selected another
header)
There is one additional change that needs to be made. In the case of navigating
to another header, we are notified _after_ the new header is selected. In this
scenario, the action is not cancelable and the user will lose any changes. We
must display an appropriate message when this happens. [note: this is the same
behaviour as when the user selects a breadcrumb]
bug 3327737
Change-Id: I4bd3b393a6323f3e63510e3ed08e4e1e745b04c4
* Add encrypted-storage to uses-policies
* Add new field to PolicySet
* Add "false" to all constructor callers
* Add unit tests (including fixing some existing unit tests)
* Add new logic to AccountSecurity activity t0 dispatch both password
and encryption requests.
Bug: 3346641
Change-Id: I54f39bc9b6fbe21c033a05b36b83081e5c78a296
* Switch to newer startPreferenceActivity API
* Newer API lets us pass a string for the breadcrumb
* Get rid of newInstance() calls in all three server settings fragments
Bug: 3188951
Change-Id: I86ae91d63ff7bd32fa0eab96ac18686bb5e3e313
Check value of ActivityManager.isRunningInTestHarness() before allowing force
account creation, instead of ActivityManager.isUserAMonkey().
Bug 3329873
Change-Id: I5028eef9caced2cacc9c187dfd746865939fdedd
* Remove unneeded DB read in onCreate (add runtime checks for problems)
* Move more exit/commit work to existing AsyncTask
* Add lockout of next & back keys while processing
Bug: 2792509 (probably others)
Change-Id: I0db030a1f1df94ba721510b5112519f260f5c0f9
* Move all db ops off UI thread
* Reorder methods in typical progression (they were random)
Bug: 3134660
Bug: 3134677
Change-Id: Idd4f411e937336bbd09bcc03d9ad036d22dc5e19
* 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
* Create shared async worker to check for duplicate accounts
* Use it in AccountSetupIncomingFragment
* Use it in AccountSetupExchangeFragment
* Debounce proceed/next button because work is now async
* Also, upgrade leftover old-style code in AccountSetupOutgoingFragment
Bug: 3134666
Change-Id: I5c24a6546d1ab66aedc5c4ac826ddf4f1ff53446
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
* onAttach is called fairly early when rotating, so it needs to do
very little.
* or in this case, defer some work until onResume
Bug: 3170922
Change-Id: Ie760125c5f32b293f8ba1753f2993de0d7439b56
* Add the checker fragment (instead of replacing)
* Don't refresh progress/error dialogs until onResume (a bit later)
* Don't recreate terminal error dialogs that were automatically
regenerated by the fragment manager.
Bug: 3020074
Change-Id: Ia2947965b758f6846c62ac394ce51da2432523ee
* 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
A recent change was short-circuiting the logic that loads
the UI from the account. This fix simply resets the flag
so the test can reload the UI multiple times as it tests things.
Change-Id: I7cc53e2766b78172e5a7b05088e94fdec99ae0d6
* 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
* 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
* Fix incomplete tracking of mLoaded flag
* Defer validation on automatic reload of fields (on rotation)
until reconstruction completes and we're ready to do validation.
* (For Incoming only) Split loadSettings into configure and reload phases;
We need to configure the UI every time we restart, but we don't want
to reload & overwrite user-entered values on rotation.
* (For Exchange only) Properly show/hide trust certificates options on
rotation, and show/hide divider too.
Bug: 3170922
Change-Id: If3de30ee2d4d5668b29698af73f545510692777e
* 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
* Clicking outside of the dialog actually "cancels" it
* Need to shut down the checker so it doesn't keep trying to
update it or close it when done.
Bug: 3120019
Change-Id: I5faa3c78b64d2aafc472b03b8086695edaf0b3fd