summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alon Albert <aalbert@google.com> 2013-02-07 08:07:32 -0800
committer Alon Albert <aalbert@google.com> 2013-02-07 12:01:10 -0800
commit5c113faba6b644d1851c9281614aa0edd175fc48 (patch)
tree2c7538bd531bb2e153d7900e65e1b2b77e3c5037
parenta2cd828b749c444d55c2c41c7dbb85088ff94b9f (diff)
COnvert sync error to int
Bug: 8152259 Change-Id: I99fc99f70796c70ec0566c40ba350e10c36b90b7
-rw-r--r--core/java/android/content/ContentResolver.java17
-rw-r--r--core/java/android/content/SyncStatusInfo.java13
2 files changed, 23 insertions, 7 deletions
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java
index 94d27ec11cb6..fefd34369154 100644
--- a/core/java/android/content/ContentResolver.java
+++ b/core/java/android/content/ContentResolver.java
@@ -193,6 +193,23 @@ public abstract class ContentResolver {
return SYNC_ERROR_NAMES[error - 1];
}
+ /** @hide */
+ public static int syncErrorStringToInt(String error) {
+ for (int i = 0, n = SYNC_ERROR_NAMES.length; i < n; i++) {
+ if (SYNC_ERROR_NAMES[i].equals(error)) {
+ return i + 1;
+ }
+ }
+ if (error != null) {
+ try {
+ return Integer.parseInt(error);
+ } catch (NumberFormatException e) {
+ Log.d(TAG, "error parsing sync error: " + error);
+ }
+ }
+ return 0;
+ }
+
public static final int SYNC_OBSERVER_TYPE_SETTINGS = 1<<0;
public static final int SYNC_OBSERVER_TYPE_PENDING = 1<<1;
public static final int SYNC_OBSERVER_TYPE_ACTIVE = 1<<2;
diff --git a/core/java/android/content/SyncStatusInfo.java b/core/java/android/content/SyncStatusInfo.java
index 49e3e353c0e5..ff628d93f96b 100644
--- a/core/java/android/content/SyncStatusInfo.java
+++ b/core/java/android/content/SyncStatusInfo.java
@@ -51,14 +51,13 @@ public class SyncStatusInfo implements Parcelable {
}
public int getLastFailureMesgAsInt(int def) {
- try {
- if (lastFailureMesg != null) {
- return Integer.parseInt(lastFailureMesg);
- }
- } catch (NumberFormatException e) {
- Log.d(TAG, "error parsing lastFailureMesg of " + lastFailureMesg, e);
+ final int i = ContentResolver.syncErrorStringToInt(lastFailureMesg);
+ if (i > 0) {
+ return i;
+ } else {
+ Log.d(TAG, "Unknown lastFailureMesg:" + lastFailureMesg);
+ return def;
}
- return def;
}
public int describeContents() {