We want a separate class for communicating HostAuth objects
to and from IEmailService. The issue is that the HostAuth object
was being used for both to and from the database, and to and from
IEmailService. This is dangerous because The Email app may change
out of band with the Exchange app, and may need to change the
format of HostAuth. This bit us before when adding OAuth.
Now communication to IEmailService is done using HostAuthCompat.
Change-Id: I2fb8c2bd8158f58a7bb9bc3dc83a7936948c718c
b/9566150
- Install PublicPreferenceActivity
- Create AccountServerSettingsActivity to contain all the crazy
logic we don't want in AccountSettings
- Add restoreAccountWithAddress to Account
- Refactor almost everything out of AccountSettings
- Tidy the QuickResponse fragment
- Majorly refactor the AccountSettingsFragment to decouple it from
the activity, and make it save settings immediately instead of
when pausing
- Move login warning dialog to AccountSettingsFragment
- Tweak HeadlessAccountSettingsLoader
Change-Id: Ie69181d968b9c3e5940cfef9690b1f5c70e21aa8
There is no need to launch a new AsyncTask around adding an
attachment to the queue of downloads. We can restore the attachment
in the worker thread of AttachmentService instead. Also reworked
the logging so we can trace the flow of the AttachmentService if
we need to debug again in the future.
Change-Id: I368ebb4322bc0af0f4cadedf102959d621e5ee80
Catch empty folder cursor in migrate() and log error message and
continue as with other empty cursor handling in loop.
Bug:15854046
Change-Id: I13c0a1909755f62f318d7c2b237adb03df68ba86
Check for negative sizes for literals so that we don't crash attempting
to create a negative sized array.
Bug:15834346
Change-Id: I1fbd9b86c807f1e97100fbfe52ef402a337bf655
This enables the client of the provider to suppress the email combined
account. Later, the UI can enable a combined account that spans all of
the account types
Change-Id: I77e201f751019240af2274a1f74e2124b9889aab
In the AOSP version of the email app, we don't by default
have any oauth providers. We should not display option
to set up your account with OAuth.
Change-Id: I6fc55ae4852ec76b7c34c09ac58a0e06e89affa7
Make Email GeneralPreferences subclass GeneralPrefsFragment.
Only contains a minimum of code to strip out archive-related prefs,
which are not relevant to the current state of Email back-ends.
(These actions could be relevant for Gmail IMAP extensions if support is added for them)
b/9566150
Change-Id: Ie8e26379ed504c7d96c2a2f8e1c843bbe0582cc7
Allow the compose activity, that the account reconciler attempts
to enabled/disable, to be able to be specified via resources.
This allows the various build targets to change the activity that is
enabled/disabled, or to not attempt to do this at all
Change-Id: I7c91c2c179316a3aac910a38d7dd0025076b085a
For Email the order key is the message timestamp, Gmail sortMessageId. The
order key is then used as the sort key for notificatin api, and because it is
stable, notification bridger can avoid bridging duplicate notifications and
reodering the email card bundle on the watch.
Bug 15563260
Change-Id: Ie68f45de91cc42c58238b7cdc0ae828048e22a46
Fix re-displaying the dialog on orientation change b/5622284
Add host/port when available b/4988512
Disambiguate intent between AOSP and EmailGoogle
Change-Id: Ideeda20dfd9bd0070998ccf42d8042765866ca0e
b/14239989
We take advantage of ListView's feature that displays an entirely different
view in place when the backing Adapter is empty. The empty view is simply a
TextView displaying "No quick responses available".
Change-Id: I244ffd21fc4c1557c73979d4bb7c99306b11ebb2
Removed unused functions, 'final'ed variables and parameters,
revisited some thread synchronization. Effectively no new code
introduced so no unit tests for this CL.
Change-Id: I714724a98d31a231ab10b0ad468b8efaa460bd1d
Check for null returned by Account.restoreAccountWithId as with other places
where it is called.
Bug:15286267
Change-Id: I56d59564a1fa814f5c52b44c12303014eea2b0b0
This doesn't need to be part of the service because the
implementation doesn't need to be different between any
of the different protocols.
Change-Id: Ifddf16dd3ccaf397029f08f6d4283d9a5630f717
b/14567151
Sanitizes HTML email bodies on demand as they are requested from
EmailMessageCursor. Also alters Account settings to indicate that emails can be
assumed to be sanitized and transform scripts can be applied to the email
bodies.
Change-Id: I789e6de3569ae8c7d2c21f0b5aa590d7638a1467
Moved testing code to the bottom of the file. The next CL
should be the removal of the DownloadSet. Also fixed b/15003801,
so that the test will not fail.
Change-Id: Ie8320782d6b292d5a367af95d7c58d70a4213ead
b/14914981
The framework may make copies of the URI objects before they're passed in,
so we should use .equals() instead of pointer equality.
Change-Id: Ia443e96c81d53829ac6cfce70cebc098861f1c78
(cherry picked from commit e8a3c14f28)
EmailConversationCursor eagerly marks all messages in the current mailbox
as being seen. Most of the time it is a redundant operation, but nothing
prevents the provider from broadcasting notifications and all of the
observers from dutifully reacting to the notification. A good deal of
work is avoided now that we only notify when rows in our database have
actually been altered.
Change-Id: Ie91e6aebaf9c2899510f3818586d582073954d16
b/14914981
The framework may make copies of the URI objects before they're passed in,
so we should use .equals() instead of pointer equality.
Change-Id: Ia443e96c81d53829ac6cfce70cebc098861f1c78
- Don't loop on the confirmation dialog
- Do a deep copy of the initial hostauth state
- Save the initial hostauth state on configuration changes
- Collect the user input before comparing the old state with the new
b/14285245
Change-Id: Ibc033fac525be2a4cb03c6a0d1e92254a2236b4c
(cherry picked from commit 294593c5f5)
This avoids a potential thread starvation issue if all running threads
in the default parallel executor are stalled waiting to read from the
threads created here.
Change-Id: I32f030b3e7ff3d8f69453ae5946704efb19ee25f
Detect fully qualified and abbreviated date/time stamps in parseDateTime.
Previously parsed fully qualified forms like 20090211T180303Z; now also
parses 20090211.
Bug:14279251
Change-Id: I9a99ae16a5c1fe87b977fbebdba307baa653d539
This is a straight up copy of the AttachmentDownloadService and
a rename. All the future Attachment work will be done in this
class and we'll flip the switch when it is ready.
Change-Id: I2990cbfd1f7c8e2946c155ea1c124223d0f47ff9
- Don't loop on the confirmation dialog
- Do a deep copy of the initial hostauth state
- Save the initial hostauth state on configuration changes
- Collect the user input before comparing the old state with the new
b/14285245
Change-Id: Ibc033fac525be2a4cb03c6a0d1e92254a2236b4c
b/14187851
Now the bars on the sides for tablet landscape setup are actually
in the activity, not the fragment. The setup fragment template
is identical between tablet and phone, with any differences between
them contained in different styles or dimensions.
Change-Id: Id7005f73aa29ed6010e629873155eb5fdc8e818f