Don't crash if account label is null
Third party sync adapters may return null when we query for account
type display label. Handle that case.
Bug:13083964
Change-Id: I77fb891a5cdf5a583ea4a8901c857f22683e432f
(cherry picked from commit 97b3461d59292363159f1cda0a6fe7fcaa1686d3)
diff --git a/src/com/android/contacts/group/GroupBrowseListAdapter.java b/src/com/android/contacts/group/GroupBrowseListAdapter.java
index f48e0a7..48751e7 100644
--- a/src/com/android/contacts/group/GroupBrowseListAdapter.java
+++ b/src/com/android/contacts/group/GroupBrowseListAdapter.java
@@ -197,7 +197,7 @@
private void bindHeaderView(GroupListItem entry, GroupListItemViewCache viewCache) {
AccountType accountType = mAccountTypeManager.getAccountType(
entry.getAccountType(), entry.getDataSet());
- viewCache.accountType.setText(accountType.getDisplayLabel(mContext).toString());
+ viewCache.accountType.setText(accountType.getDisplayLabel(mContext));
viewCache.accountName.setText(entry.getAccountName());
}
diff --git a/src/com/android/contacts/group/GroupDetailFragment.java b/src/com/android/contacts/group/GroupDetailFragment.java
index 834e2c3..f2d70aa 100644
--- a/src/com/android/contacts/group/GroupDetailFragment.java
+++ b/src/com/android/contacts/group/GroupDetailFragment.java
@@ -319,12 +319,18 @@
if (size == -1) {
groupSizeString = null;
} else {
- String groupSizeTemplateString = getResources().getQuantityString(
- R.plurals.num_contacts_in_group, size);
AccountType accountType = mAccountTypeManager.getAccountType(mAccountTypeString,
mDataSet);
- groupSizeString = String.format(groupSizeTemplateString, size,
- accountType.getDisplayLabel(mContext));
+ final CharSequence dispLabel = accountType.getDisplayLabel(mContext);
+ if (!TextUtils.isEmpty(dispLabel)) {
+ String groupSizeTemplateString = getResources().getQuantityString(
+ R.plurals.num_contacts_in_group, size);
+ groupSizeString = String.format(groupSizeTemplateString, size, dispLabel);
+ } else {
+ String groupSizeTemplateString = getResources().getQuantityString(
+ R.plurals.group_list_num_contacts_in_group, size);
+ groupSizeString = String.format(groupSizeTemplateString, size);
+ }
}
if (mGroupSize != null) {