From e09c728fd0884430d3511efca00a2541380b5587 Mon Sep 17 00:00:00 2001
From: Brian LeRoux <brian@westcoastlogic.com>
Date: Thu, 21 Jul 2011 11:47:20 -0700
Subject: [PATCH 1/2] Edited framework/src/com/phonegap/DroidGap.java via
 GitHub

---
 framework/src/com/phonegap/DroidGap.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 mode change 100755 => 100644 framework/src/com/phonegap/DroidGap.java

diff --git a/framework/src/com/phonegap/DroidGap.java b/framework/src/com/phonegap/DroidGap.java
old mode 100755
new mode 100644
index a22622ba..d9ecccd9
--- a/framework/src/com/phonegap/DroidGap.java
+++ b/framework/src/com/phonegap/DroidGap.java
@@ -1123,7 +1123,7 @@ public class DroidGap extends PhonegapActivity {
         			try {
         				// Init parameters to new DroidGap activity and propagate existing parameters
         				HashMap<String, Object> params = new HashMap<String, Object>();
-        				params.put("loadingDialog", "");
+        				params.put("loadingDialog", null);
         				if (this.ctx.loadInWebView) {
         					params.put("loadInWebView", true);
         				}

From c093881f544c247c45587aab9b34df56f32c0de2 Mon Sep 17 00:00:00 2001
From: macdonst <simon.macdonald@gmail.com>
Date: Fri, 22 Jul 2011 03:10:41 +0800
Subject: [PATCH 2/2] Issue #174: contact attribs should return null instead of
 empty array

Currently the implementation will return an empty array for the following Contact attributes: phoneNumbers, emails, addresses, ims, organizations, addresses, websites and photos.  With this fix these attributes will be null unless the lenght of the array is greater than 0.
---
 .../src/com/phonegap/ContactAccessorSdk5.java | 29 ++++++++++++++-----
 1 file changed, 22 insertions(+), 7 deletions(-)

diff --git a/framework/src/com/phonegap/ContactAccessorSdk5.java b/framework/src/com/phonegap/ContactAccessorSdk5.java
index bcb25227..7e856049 100644
--- a/framework/src/com/phonegap/ContactAccessorSdk5.java
+++ b/framework/src/com/phonegap/ContactAccessorSdk5.java
@@ -425,13 +425,28 @@ public class ContactAccessorSdk5 extends ContactAccessor {
 			JSONArray addresses, JSONArray phones, JSONArray emails,
 			JSONArray ims, JSONArray websites, JSONArray photos) {
 		try {
-			contact.put("organizations", organizations);
-			contact.put("addresses", addresses);
-			contact.put("phoneNumbers", phones);
-			contact.put("emails", emails);
-			contact.put("ims", ims);
-			contact.put("websites", websites);
-			contact.put("photos", photos);
+		    // Only return the array if it has at least one entry
+            if (organizations.length() > 0) {
+                contact.put("organizations", organizations);
+            }
+            if (addresses.length() > 0) {
+                contact.put("addresses", addresses);
+            }
+            if (phones.length() > 0) {
+                contact.put("phoneNumbers", phones);
+            }
+            if (emails.length() > 0) {
+                contact.put("emails", emails);
+            }
+            if (ims.length() > 0) {
+                contact.put("ims", ims);
+            }
+            if (websites.length() > 0) {
+                contact.put("websites", websites);
+            }
+            if (photos.length() > 0) {
+                contact.put("photos", photos);
+            }
 		}
 		catch (JSONException e) {
 			Log.e(LOG_TAG,e.getMessage(),e);