From a2f35d2bdad2a3f0b8610e8f21cb977b0d04fa7f Mon Sep 17 00:00:00 2001 From: Simon MacDonald Date: Thu, 25 Oct 2012 10:35:22 -0400 Subject: [PATCH] CB-1743: Globalization.getDateNames will crash Android 2.2 applications --- framework/src/org/apache/cordova/Globalization.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/framework/src/org/apache/cordova/Globalization.java b/framework/src/org/apache/cordova/Globalization.java index 737e2123..5c75e100 100644 --- a/framework/src/org/apache/cordova/Globalization.java +++ b/framework/src/org/apache/cordova/Globalization.java @@ -40,6 +40,7 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; +import android.annotation.TargetApi; import android.text.format.Time; /** @@ -101,7 +102,11 @@ public class Globalization extends CordovaPlugin { }else if(action.equalsIgnoreCase(GETDATEPATTERN)){ obj = getDatePattern(data); }else if(action.equalsIgnoreCase(GETDATENAMES)){ - obj = getDateNames(data); + if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.GINGERBREAD) { + throw new GlobalizationError(GlobalizationError.UNKNOWN_ERROR); + } else { + obj = getDateNames(data); + } }else if(action.equalsIgnoreCase(ISDAYLIGHTSAVINGSTIME)){ obj = getIsDayLightSavingsTime(data); }else if(action.equalsIgnoreCase(GETFIRSTDAYOFWEEK)){ @@ -305,6 +310,7 @@ public class Globalization extends CordovaPlugin { * * @throws: GlobalizationError.UNKNOWN_ERROR */ + @TargetApi(9) private JSONObject getDateNames(JSONArray options) throws GlobalizationError{ JSONObject obj = new JSONObject(); //String[] value;