summaryrefslogtreecommitdiffstats
path: root/core/java/android/pim
diff options
context:
space:
mode:
authorDaniel Lehmann <lehmannd@google.com>2010-03-18 12:56:48 -0700
committerDaniel Lehmann <lehmannd@google.com>2010-03-18 12:56:48 -0700
commit7e25f5cbfbe433c6ffe06a17ef42c471baf07c93 (patch)
tree05e3c381f611e14c96516c048a8ef37fba84eed8 /core/java/android/pim
parenteccb394c086b3d7cd975e50cc1479fdb929c58ec (diff)
downloadframeworks_base-7e25f5cbfbe433c6ffe06a17ef42c471baf07c93.zip
frameworks_base-7e25f5cbfbe433c6ffe06a17ef42c471baf07c93.tar.gz
frameworks_base-7e25f5cbfbe433c6ffe06a17ef42c471baf07c93.tar.bz2
Make the VCardEntry more robust against badly behaving resolvers. Additionally make the ImportTestResolver return the right result
Bug:2521447 Change-Id: I39e3e686b1fd75f5e633a467f6ccb736751355ed
Diffstat (limited to 'core/java/android/pim')
-rw-r--r--core/java/android/pim/vcard/VCardEntry.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/core/java/android/pim/vcard/VCardEntry.java b/core/java/android/pim/vcard/VCardEntry.java
index 61012c9..c7a59fa 100644
--- a/core/java/android/pim/vcard/VCardEntry.java
+++ b/core/java/android/pim/vcard/VCardEntry.java
@@ -1290,8 +1290,11 @@ public class VCardEntry {
ContentProviderResult[] results = resolver.applyBatch(
ContactsContract.AUTHORITY, operationList);
// the first result is always the raw_contact. return it's uri so
- // that it can be found later
- return results[0].uri;
+ // that it can be found later. do null checking for badly behaving
+ // ContentResolvers
+ return (results == null || results.length == 0 || results[0] == null)
+ ? null
+ : results[0].uri;
} catch (RemoteException e) {
Log.e(LOG_TAG, String.format("%s: %s", e.toString(), e.getMessage()));
return null;