Loading src/com/android/contacts/group/GroupDetailFragment.java +28 −15 Original line number Diff line number Diff line Loading @@ -305,26 +305,39 @@ public class GroupDetailFragment extends Fragment implements OnScrollListener { updateSize(data.getCount()); mAdapter.setContactCursor(data); mMemberListView.setEmptyView(mEmptyView); getGroupMemberPhoneNumber(data); } @Override public void onLoaderReset(Loader<Cursor> loader) {} }; private void getGroupMemberPhoneNumber(final Cursor data) { new Thread () { @Override public void run() { // For starting RCS group-chat. StringBuilder sb = new StringBuilder(); mGroupMembersPhonesList.clear(); while (data.moveToNext()) { Long id = data.getLong(0); String phoneNumber = RCSUtil.getPhoneforContactId(mContext, id); String phoneNumber = RCSUtil.getPhoneforContactId(mContext, id); sb.append(phoneNumber).append(";"); String[] groupMemberPhones = RCSUtil.getAllPhoneNumberFromContactId(mContext, id) String[] groupMemberPhones = RCSUtil .getAllPhoneNumberFromContactId(mContext, id) .split(";"); for (int i = 0; i < groupMemberPhones.length; i++) { mGroupMembersPhonesList.add(RCSUtil.getFormatNumber(groupMemberPhones[i])); mGroupMembersPhonesList.add(RCSUtil .getFormatNumber(groupMemberPhones[i])); } } Log.d(TAG,"mGroupMembersPhonesList:"+mGroupMembersPhonesList.toString()); Log.d(TAG,"mGroupMembersPhonesList:" + mGroupMembersPhonesList.toString()); mGroupMembersPhones = sb.toString(); } @Override public void onLoaderReset(Loader<Cursor> loader) {} }; }.start(); } private void bindGroupMetaData(Cursor cursor) { cursor.moveToPosition(-1); Loading src/com/android/contacts/util/RCSUtil.java +57 −48 Original line number Diff line number Diff line Loading @@ -2585,15 +2585,17 @@ public class RCSUtil { public static String getPhoneforContactId(Context context, long contactId) { String phone = null; String phone = ""; Cursor phonesCursor = null; phonesCursor = RCSUtil.queryPhoneNumbers(context, contactId); if (phonesCursor == null) { return ""; } try { if(null != phonesCursor) { if (phonesCursor.getCount() == 0) { // No valid number // signalError(); if (!phonesCursor.isClosed()) { phonesCursor.close(); } return phone; } else if (phonesCursor.getCount() == 1) { // only one number, call it. Loading @@ -2619,38 +2621,45 @@ public class RCSUtil { } } } } } finally { if (null != phonesCursor) { phonesCursor.close(); } } return phone; } public static String getAllPhoneNumberFromContactId(Context context, long contactId) { String phone = null; String phone = ""; Cursor phonesCursor = null; StringBuilder sb = new StringBuilder(); phonesCursor = RCSUtil.queryPhoneNumbers(context, contactId); if (phonesCursor == null) { return ""; } try { if (phonesCursor != null) { if (phonesCursor.getCount() == 0) { // No valid number // signalError(); phonesCursor.close(); return phone; phone = ""; } else if (phonesCursor.getCount() == 1) { // only one number, call it. phone = phonesCursor.getString(phonesCursor .getColumnIndex(Phone.NUMBER)); } else { while (phonesCursor.moveToNext()) { // phone = phonesCursor.getString(phonesCursor .getColumnIndex(Phone.NUMBER)); sb.append(phone).append(";"); } phone = sb.toString(); } } } finally { if (null != phonesCursor) { phonesCursor.close(); } } return phone; } Loading Loading
src/com/android/contacts/group/GroupDetailFragment.java +28 −15 Original line number Diff line number Diff line Loading @@ -305,26 +305,39 @@ public class GroupDetailFragment extends Fragment implements OnScrollListener { updateSize(data.getCount()); mAdapter.setContactCursor(data); mMemberListView.setEmptyView(mEmptyView); getGroupMemberPhoneNumber(data); } @Override public void onLoaderReset(Loader<Cursor> loader) {} }; private void getGroupMemberPhoneNumber(final Cursor data) { new Thread () { @Override public void run() { // For starting RCS group-chat. StringBuilder sb = new StringBuilder(); mGroupMembersPhonesList.clear(); while (data.moveToNext()) { Long id = data.getLong(0); String phoneNumber = RCSUtil.getPhoneforContactId(mContext, id); String phoneNumber = RCSUtil.getPhoneforContactId(mContext, id); sb.append(phoneNumber).append(";"); String[] groupMemberPhones = RCSUtil.getAllPhoneNumberFromContactId(mContext, id) String[] groupMemberPhones = RCSUtil .getAllPhoneNumberFromContactId(mContext, id) .split(";"); for (int i = 0; i < groupMemberPhones.length; i++) { mGroupMembersPhonesList.add(RCSUtil.getFormatNumber(groupMemberPhones[i])); mGroupMembersPhonesList.add(RCSUtil .getFormatNumber(groupMemberPhones[i])); } } Log.d(TAG,"mGroupMembersPhonesList:"+mGroupMembersPhonesList.toString()); Log.d(TAG,"mGroupMembersPhonesList:" + mGroupMembersPhonesList.toString()); mGroupMembersPhones = sb.toString(); } @Override public void onLoaderReset(Loader<Cursor> loader) {} }; }.start(); } private void bindGroupMetaData(Cursor cursor) { cursor.moveToPosition(-1); Loading
src/com/android/contacts/util/RCSUtil.java +57 −48 Original line number Diff line number Diff line Loading @@ -2585,15 +2585,17 @@ public class RCSUtil { public static String getPhoneforContactId(Context context, long contactId) { String phone = null; String phone = ""; Cursor phonesCursor = null; phonesCursor = RCSUtil.queryPhoneNumbers(context, contactId); if (phonesCursor == null) { return ""; } try { if(null != phonesCursor) { if (phonesCursor.getCount() == 0) { // No valid number // signalError(); if (!phonesCursor.isClosed()) { phonesCursor.close(); } return phone; } else if (phonesCursor.getCount() == 1) { // only one number, call it. Loading @@ -2619,38 +2621,45 @@ public class RCSUtil { } } } } } finally { if (null != phonesCursor) { phonesCursor.close(); } } return phone; } public static String getAllPhoneNumberFromContactId(Context context, long contactId) { String phone = null; String phone = ""; Cursor phonesCursor = null; StringBuilder sb = new StringBuilder(); phonesCursor = RCSUtil.queryPhoneNumbers(context, contactId); if (phonesCursor == null) { return ""; } try { if (phonesCursor != null) { if (phonesCursor.getCount() == 0) { // No valid number // signalError(); phonesCursor.close(); return phone; phone = ""; } else if (phonesCursor.getCount() == 1) { // only one number, call it. phone = phonesCursor.getString(phonesCursor .getColumnIndex(Phone.NUMBER)); } else { while (phonesCursor.moveToNext()) { // phone = phonesCursor.getString(phonesCursor .getColumnIndex(Phone.NUMBER)); sb.append(phone).append(";"); } phone = sb.toString(); } } } finally { if (null != phonesCursor) { phonesCursor.close(); } } return phone; } Loading