Loading src/com/android/contacts/EditContactActivity.java +75 −43 Original line number Diff line number Diff line Loading @@ -466,6 +466,8 @@ public final class EditContactActivity extends Activity implements View.OnClickL } else { setTitle(getResources().getText(R.string.editContact_title_insert)); } loadCurrentMembership(); } private void setupSections() { Loading Loading @@ -2527,7 +2529,45 @@ public final class EditContactActivity extends Activity implements View.OnClickL CharSequence[] groupsCharSeq = null; boolean[] checkedValues = null; Cursor cursor = mResolver.query(Groups.CONTENT_URI, GROUPS_PROJECTION, null, null, Groups.DEFAULT_SORT_ORDER); try { if (cursor.moveToFirst()) { while (cursor.moveToNext()) { String name = cursor.getString( cursor.getColumnIndex(Groups.NAME)); groups.add(name); } } groupsCharSeq = groups.toArray(new CharSequence[groups.size()]); checkedValues = new boolean[groups.size()]; for (boolean b : checkedValues) { b = false; } if (!(mState == STATE_INSERT)) { for (int i = 0; i < selectedGroups.size(); i++) { int j = groups.indexOf(selectedGroups.get(i)); if (j != -1) { checkedValues[j] = true; } } } } finally { cursor.close(); } builder.setMultiChoiceItems(groupsCharSeq, checkedValues, confirmGroupSelectionListener); // If selected groups already has something inside, we use it /* if (selectedGroups.size() > 0) { groupsCharSeq = groups.toArray( Loading @@ -2553,8 +2593,6 @@ public final class EditContactActivity extends Activity implements View.OnClickL Cursor cursor = mResolver.query(Groups.CONTENT_URI, GROUPS_PROJECTION, null, null, Groups.DEFAULT_SORT_ORDER); try { groups = new ArrayList<CharSequence>(); if (cursor.moveToFirst()) { while (cursor.moveToNext()) { String name = cursor.getString( Loading @@ -2566,40 +2604,6 @@ public final class EditContactActivity extends Activity implements View.OnClickL groupsCharSeq = groups.toArray(new CharSequence[groups.size()]); if (!(mState == STATE_INSERT)) { long personId = ContentUris.parseId(mUri); Cursor groupCursor = mResolver.query(GroupMembership.CONTENT_URI, GROUP_MEMBERSHIP_PROJECTION, GroupMembership.PERSON_ID + "='" + personId + "'", null, null); Cursor cur = null; if (groupCursor != null) { while (groupCursor.moveToNext()) { cur = mResolver.query(Groups.CONTENT_URI, GROUPS_PROJECTION, Contacts.Groups._ID + "='" + groupCursor.getString( groupCursor.getColumnIndex( GroupMembership.GROUP_ID)) + "'", null, null); if (cur != null) { if (cur.moveToFirst()) { currentMembership.add( cur.getString( cur.getColumnIndex(Groups.NAME))); } cur.close(); } } groupCursor.close(); } } checkedValues = new boolean[groups.size()]; for (boolean b : checkedValues) { Loading @@ -2625,6 +2629,34 @@ public final class EditContactActivity extends Activity implements View.OnClickL confirmGroupSelectionListener); } */ } private void loadCurrentMembership() { if (!(mState == STATE_INSERT)) { long personId = ContentUris.parseId(mUri); Cursor groupCursor = mResolver.query(GroupMembership.CONTENT_URI, GROUP_MEMBERSHIP_PROJECTION, GroupMembership.PERSON_ID + "='" + personId + "'", null, null); Cursor cur = null; if (groupCursor != null) { while (groupCursor.moveToNext()) { cur = mResolver.query(Groups.CONTENT_URI, GROUPS_PROJECTION, Contacts.Groups._ID + "='" + groupCursor.getString(groupCursor.getColumnIndex(GroupMembership.GROUP_ID)) + "'", null, null); if (cur != null) { if (cur.moveToFirst()) { currentMembership.add(cur.getString(cur.getColumnIndex(Groups.NAME))); } cur.close(); } } groupCursor.close(); } } selectedGroups = (ArrayList) currentMembership.clone(); } private DialogInterface.OnClickListener confirmGroupChangesListener = new DialogInterface.OnClickListener() { Loading Loading
src/com/android/contacts/EditContactActivity.java +75 −43 Original line number Diff line number Diff line Loading @@ -466,6 +466,8 @@ public final class EditContactActivity extends Activity implements View.OnClickL } else { setTitle(getResources().getText(R.string.editContact_title_insert)); } loadCurrentMembership(); } private void setupSections() { Loading Loading @@ -2527,7 +2529,45 @@ public final class EditContactActivity extends Activity implements View.OnClickL CharSequence[] groupsCharSeq = null; boolean[] checkedValues = null; Cursor cursor = mResolver.query(Groups.CONTENT_URI, GROUPS_PROJECTION, null, null, Groups.DEFAULT_SORT_ORDER); try { if (cursor.moveToFirst()) { while (cursor.moveToNext()) { String name = cursor.getString( cursor.getColumnIndex(Groups.NAME)); groups.add(name); } } groupsCharSeq = groups.toArray(new CharSequence[groups.size()]); checkedValues = new boolean[groups.size()]; for (boolean b : checkedValues) { b = false; } if (!(mState == STATE_INSERT)) { for (int i = 0; i < selectedGroups.size(); i++) { int j = groups.indexOf(selectedGroups.get(i)); if (j != -1) { checkedValues[j] = true; } } } } finally { cursor.close(); } builder.setMultiChoiceItems(groupsCharSeq, checkedValues, confirmGroupSelectionListener); // If selected groups already has something inside, we use it /* if (selectedGroups.size() > 0) { groupsCharSeq = groups.toArray( Loading @@ -2553,8 +2593,6 @@ public final class EditContactActivity extends Activity implements View.OnClickL Cursor cursor = mResolver.query(Groups.CONTENT_URI, GROUPS_PROJECTION, null, null, Groups.DEFAULT_SORT_ORDER); try { groups = new ArrayList<CharSequence>(); if (cursor.moveToFirst()) { while (cursor.moveToNext()) { String name = cursor.getString( Loading @@ -2566,40 +2604,6 @@ public final class EditContactActivity extends Activity implements View.OnClickL groupsCharSeq = groups.toArray(new CharSequence[groups.size()]); if (!(mState == STATE_INSERT)) { long personId = ContentUris.parseId(mUri); Cursor groupCursor = mResolver.query(GroupMembership.CONTENT_URI, GROUP_MEMBERSHIP_PROJECTION, GroupMembership.PERSON_ID + "='" + personId + "'", null, null); Cursor cur = null; if (groupCursor != null) { while (groupCursor.moveToNext()) { cur = mResolver.query(Groups.CONTENT_URI, GROUPS_PROJECTION, Contacts.Groups._ID + "='" + groupCursor.getString( groupCursor.getColumnIndex( GroupMembership.GROUP_ID)) + "'", null, null); if (cur != null) { if (cur.moveToFirst()) { currentMembership.add( cur.getString( cur.getColumnIndex(Groups.NAME))); } cur.close(); } } groupCursor.close(); } } checkedValues = new boolean[groups.size()]; for (boolean b : checkedValues) { Loading @@ -2625,6 +2629,34 @@ public final class EditContactActivity extends Activity implements View.OnClickL confirmGroupSelectionListener); } */ } private void loadCurrentMembership() { if (!(mState == STATE_INSERT)) { long personId = ContentUris.parseId(mUri); Cursor groupCursor = mResolver.query(GroupMembership.CONTENT_URI, GROUP_MEMBERSHIP_PROJECTION, GroupMembership.PERSON_ID + "='" + personId + "'", null, null); Cursor cur = null; if (groupCursor != null) { while (groupCursor.moveToNext()) { cur = mResolver.query(Groups.CONTENT_URI, GROUPS_PROJECTION, Contacts.Groups._ID + "='" + groupCursor.getString(groupCursor.getColumnIndex(GroupMembership.GROUP_ID)) + "'", null, null); if (cur != null) { if (cur.moveToFirst()) { currentMembership.add(cur.getString(cur.getColumnIndex(Groups.NAME))); } cur.close(); } } groupCursor.close(); } } selectedGroups = (ArrayList) currentMembership.clone(); } private DialogInterface.OnClickListener confirmGroupChangesListener = new DialogInterface.OnClickListener() { Loading