Fix null pointer in StarredContactsPrefController
Change-Id: I9b2209825b30a6cc8dfe355632201b8082572dbb Fixes: 80084826 Test: ZenModeStarredContactsPreferenceControllerTest.java
This commit is contained in:
@@ -117,6 +117,7 @@ public class ZenModeStarredContactsPreferenceController extends
|
||||
}
|
||||
}
|
||||
|
||||
// values in displayContacts must not be null
|
||||
mPreference.setSummary(ListFormatter.getInstance().format(displayContacts));
|
||||
}
|
||||
|
||||
@@ -130,22 +131,32 @@ public class ZenModeStarredContactsPreferenceController extends
|
||||
return true;
|
||||
}
|
||||
|
||||
private List<String> getStarredContacts() {
|
||||
@VisibleForTesting
|
||||
List<String> getStarredContacts(Cursor cursor) {
|
||||
List<String> starredContacts = new ArrayList<>();
|
||||
|
||||
Cursor cursor = mContext.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
|
||||
new String[]{ContactsContract.Contacts.DISPLAY_NAME_PRIMARY},
|
||||
ContactsContract.Data.STARRED + "=1", null,
|
||||
ContactsContract.Data.TIMES_CONTACTED);
|
||||
|
||||
if (cursor.moveToFirst()) {
|
||||
do {
|
||||
starredContacts.add(cursor.getString(0));
|
||||
String contact = cursor.getString(0);
|
||||
if (contact != null) {
|
||||
starredContacts.add(contact);
|
||||
}
|
||||
} while (cursor.moveToNext());
|
||||
}
|
||||
return starredContacts;
|
||||
}
|
||||
|
||||
private List<String> getStarredContacts() {
|
||||
return getStarredContacts(queryData());
|
||||
}
|
||||
|
||||
private Cursor queryData() {
|
||||
return mContext.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
|
||||
new String[]{ContactsContract.Contacts.DISPLAY_NAME_PRIMARY},
|
||||
ContactsContract.Data.STARRED + "=1", null,
|
||||
ContactsContract.Data.TIMES_CONTACTED);
|
||||
}
|
||||
|
||||
private boolean isIntentValid() {
|
||||
return mStarredContactsIntent.resolveActivity(mPackageManager) != null
|
||||
|| mFallbackIntent.resolveActivity(mPackageManager) != null;
|
||||
|
Reference in New Issue
Block a user