summaryrefslogtreecommitdiffstats
path: root/core/java/android/content/SyncManager.java
diff options
context:
space:
mode:
authorFabrice Di Meglio <fdimeglio@google.com>2011-01-26 14:31:48 -0800
committerFabrice Di Meglio <fdimeglio@google.com>2011-01-26 15:35:47 -0800
commitdc2dd88249f5e3df672fc3c7e18f3ddfb08e02b5 (patch)
treebc013124ba5e39942102448d4c16b02988f17185 /core/java/android/content/SyncManager.java
parent3a56ce3ab30a72c359bf64cf75bdce6ab03f2b7a (diff)
downloadframeworks_base-dc2dd88249f5e3df672fc3c7e18f3ddfb08e02b5.zip
frameworks_base-dc2dd88249f5e3df672fc3c7e18f3ddfb08e02b5.tar.gz
frameworks_base-dc2dd88249f5e3df672fc3c7e18f3ddfb08e02b5.tar.bz2
Fix bug #3395355 ("adb shell dumpsys content" should present human readable failure messages instead of error codes)
- add human readable error messages Change-Id: Ib6937684e61aca80b2c3bc78fd67b93c3df61d17
Diffstat (limited to 'core/java/android/content/SyncManager.java')
-rw-r--r--core/java/android/content/SyncManager.java35
1 files changed, 34 insertions, 1 deletions
diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java
index 2fa2834..68cb2bc 100644
--- a/core/java/android/content/SyncManager.java
+++ b/core/java/android/content/SyncManager.java
@@ -1128,12 +1128,45 @@ public class SyncManager implements OnAccountsUpdateListener {
pw.print(formatTime(status.initialFailureTime));
pw.print(" lastTime=");
pw.println(formatTime(status.lastFailureTime));
- pw.print(" message: "); pw.println(status.lastFailureMesg);
+ int errCode = status.getLastFailureMesgAsInt(0);
+ pw.print(" message: "); pw.println(
+ getLastFailureMessage(errCode) + " (" + errCode + ")");
}
}
}
}
+ private String getLastFailureMessage(int code) {
+ switch (code) {
+ case ContentResolver.SYNC_ERROR_SYNC_ALREADY_IN_PROGRESS:
+ return "sync already in progress";
+
+ case ContentResolver.SYNC_ERROR_AUTHENTICATION:
+ return "authentication error";
+
+ case ContentResolver.SYNC_ERROR_IO:
+ return "I/O error";
+
+ case ContentResolver.SYNC_ERROR_PARSE:
+ return "parse error";
+
+ case ContentResolver.SYNC_ERROR_CONFLICT:
+ return "conflict error";
+
+ case ContentResolver.SYNC_ERROR_TOO_MANY_DELETIONS:
+ return "too many deletions error";
+
+ case ContentResolver.SYNC_ERROR_TOO_MANY_RETRIES:
+ return "too many retries error";
+
+ case ContentResolver.SYNC_ERROR_INTERNAL:
+ return "internal error";
+
+ default:
+ return "unknown";
+ }
+ }
+
private void dumpTimeSec(PrintWriter pw, long time) {
pw.print(time/1000); pw.print('.'); pw.print((time/100)%10);
pw.print('s');