diff options
| author | Alon Albert <aalbert@google.com> | 2013-10-17 17:46:26 -0700 |
|---|---|---|
| committer | Alon Albert <aalbert@google.com> | 2013-10-18 09:32:47 -0700 |
| commit | 8c989772dfba08438650575f1ac2bb952bd56158 (patch) | |
| tree | a813f16d582b689da558383cf4ac92185d7dfe60 /emailcommon | |
| parent | c084e8188d87e57c109d246f81fccbc584900d54 (diff) | |
| download | android_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.java | 10 |
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); } } |
