summaryrefslogtreecommitdiffstats
path: root/emailcommon
diff options
context:
space:
mode:
authorAlon Albert <aalbert@google.com>2013-10-17 17:46:26 -0700
committerAlon Albert <aalbert@google.com>2013-10-18 09:32:47 -0700
commit8c989772dfba08438650575f1ac2bb952bd56158 (patch)
treea813f16d582b689da558383cf4ac92185d7dfe60 /emailcommon
parentc084e8188d87e57c109d246f81fccbc584900d54 (diff)
downloadandroid_packages_apps_Email-8c989772dfba08438650575f1ac2bb952bd56158.tar.gz
android_packages_apps_Email-8c989772dfba08438650575f1ac2bb952bd56158.tar.bz2
android_packages_apps_Email-8c989772dfba08438650575f1ac2bb952bd56158.zip
Handle User Refresh in Edge Cases
Handle the following edge cases when a manual refresh is triggered: * No connectivity * Low storage space * Timeout (sync not started) Bug: 11241113 Change-Id: I580235d633fcb65999c0bfe8bf383c9c8ba72110
Diffstat (limited to 'emailcommon')
-rw-r--r--emailcommon/src/com/android/emailcommon/service/EmailServiceStatus.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/emailcommon/src/com/android/emailcommon/service/EmailServiceStatus.java b/emailcommon/src/com/android/emailcommon/service/EmailServiceStatus.java
index b4f14b38a..553c6d46e 100644
--- a/emailcommon/src/com/android/emailcommon/service/EmailServiceStatus.java
+++ b/emailcommon/src/com/android/emailcommon/service/EmailServiceStatus.java
@@ -60,6 +60,7 @@ public abstract class EmailServiceStatus {
public static final String SYNC_STATUS_TYPE = "type";
public static final String SYNC_STATUS_ID = "id";
public static final String SYNC_STATUS_CODE = "status_code";
+ public static final String SYNC_RESULT = "result";
public static final String SYNC_STATUS_PROGRESS = "progress";
// Values for the SYNC_STATUS_TYPE to specify what kind of sync status we're returning.
@@ -88,6 +89,7 @@ public abstract class EmailServiceStatus {
*/
private static void syncStatus(final ContentResolver cr, final Bundle syncExtras,
final int statusType, final long id, final int statusCode, final int progress,
+ int syncResult,
final StatusWriter writer) {
final String callbackUri = syncExtras.getString(SYNC_EXTRAS_CALLBACK_URI);
final String callbackMethod = syncExtras.getString(SYNC_EXTRAS_CALLBACK_METHOD);
@@ -97,6 +99,9 @@ public abstract class EmailServiceStatus {
statusExtras.putInt(SYNC_STATUS_TYPE, statusType);
statusExtras.putLong(SYNC_STATUS_ID, id);
statusExtras.putInt(SYNC_STATUS_CODE, statusCode);
+ if (statusCode != IN_PROGRESS) {
+ statusExtras.putInt(SYNC_RESULT, syncResult);
+ }
statusExtras.putInt(SYNC_STATUS_PROGRESS, progress);
if (writer != null) {
writer.addToStatus(statusExtras);
@@ -116,8 +121,9 @@ public abstract class EmailServiceStatus {
* @param progress The progress of this sync operation.
*/
public static void syncMailboxStatus(final ContentResolver cr, final Bundle syncExtras,
- final long mailboxId, final int statusCode, final int progress) {
- syncStatus(cr, syncExtras, SYNC_STATUS_TYPE_MAILBOX, mailboxId, statusCode, progress, null);
+ final long mailboxId, final int statusCode, final int progress, int syncResult) {
+ syncStatus(cr, syncExtras, SYNC_STATUS_TYPE_MAILBOX, mailboxId, statusCode, progress,
+ syncResult, null);
}
}