diff options
| author | 2013-02-07 08:07:32 -0800 | |
|---|---|---|
| committer | 2013-02-07 12:01:10 -0800 | |
| commit | 5c113faba6b644d1851c9281614aa0edd175fc48 (patch) | |
| tree | 2c7538bd531bb2e153d7900e65e1b2b77e3c5037 | |
| parent | a2cd828b749c444d55c2c41c7dbb85088ff94b9f (diff) | |
COnvert sync error to int
Bug: 8152259
Change-Id: I99fc99f70796c70ec0566c40ba350e10c36b90b7
| -rw-r--r-- | core/java/android/content/ContentResolver.java | 17 | ||||
| -rw-r--r-- | core/java/android/content/SyncStatusInfo.java | 13 |
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() { |