Cleanup GroupMembers classes
Remove redundant calls and fix some cursor stuff.
Bug: 29160869
Bug: 30287073
Change-Id: Ib38dde331480f9e02eae55ad5f1ba9b9ea55cf0b
diff --git a/src/com/android/contacts/activities/GroupMembersActivity.java b/src/com/android/contacts/activities/GroupMembersActivity.java
index edd93dd..f8efa85 100644
--- a/src/com/android/contacts/activities/GroupMembersActivity.java
+++ b/src/com/android/contacts/activities/GroupMembersActivity.java
@@ -25,7 +25,6 @@
import android.os.Bundle;
import android.provider.ContactsContract.RawContacts;
import android.support.v4.view.GravityCompat;
-import android.support.v7.app.ActionBar;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
diff --git a/src/com/android/contacts/group/GroupMembersAdapter.java b/src/com/android/contacts/group/GroupMembersAdapter.java
index 622db67..af1f61e 100644
--- a/src/com/android/contacts/group/GroupMembersAdapter.java
+++ b/src/com/android/contacts/group/GroupMembersAdapter.java
@@ -73,8 +73,8 @@
public GroupMembersAdapter(Context context) {
super(context, GroupMembersQuery.CONTACT_ID);
+
mUnknownNameText = context.getText(R.string.missing_name);
- setSectionHeaderDisplayEnabled(true);
}
/** Sets the ID of the group whose members will be displayed. */
@@ -83,7 +83,7 @@
}
/** Returns the lookup Uri for the contact at the given position in the underlying cursor. */
- public Uri getContactLookupUri(int position) {
+ public Uri getContactUri(int position) {
final Cursor cursor = (Cursor) getItem(position);
final long contactId = cursor.getLong(GroupMembersQuery.CONTACT_ID);
final String lookupKey = cursor.getString(GroupMembersQuery.CONTACT_LOOKUP_KEY);
@@ -135,13 +135,6 @@
return ((Cursor) getItem(position)).getString(GroupMembersQuery.CONTACT_DISPLAY_NAME);
}
- public Uri getContactUri(int position) {
- final Cursor cursor = (Cursor) getItem(position);
- final long contactId = cursor.getLong(GroupMembersQuery.CONTACT_ID);
- final String lookupKey = cursor.getString(GroupMembersQuery.CONTACT_LOOKUP_KEY);
- return Contacts.getLookupUri(contactId, lookupKey);
- }
-
@Override
protected ContactListItemView newView(Context context, int partition, Cursor cursor,
int position, ViewGroup parent) {
@@ -155,7 +148,6 @@
protected void bindView(View v, int partition, Cursor cursor, int position) {
super.bindView(v, partition, cursor, position);
final ContactListItemView view = (ContactListItemView) v;
- bindViewId(view, cursor, GroupMembersQuery.CONTACT_ID);
bindSectionHeaderAndDivider(view, position);
bindName(view, cursor);
bindPhoto(view, cursor);
diff --git a/src/com/android/contacts/group/GroupMembersFragment.java b/src/com/android/contacts/group/GroupMembersFragment.java
index 266e5fc..a187510 100644
--- a/src/com/android/contacts/group/GroupMembersFragment.java
+++ b/src/com/android/contacts/group/GroupMembersFragment.java
@@ -17,7 +17,6 @@
import android.app.Activity;
import android.app.LoaderManager.LoaderCallbacks;
-import android.content.Context;
import android.content.CursorLoader;
import android.content.Loader;
import android.content.res.Configuration;
@@ -162,8 +161,15 @@
@Override
public boolean moveToPosition(int position) {
- if (position >= mCount || position < 0) return false;
- return super.moveToPosition(mIndex[position]);
+ if (position >= mCount) {
+ mPos = mCount;
+ return false;
+ } else if (position < 0) {
+ mPos = -1;
+ return false;
+ }
+ mPos = mIndex[position];
+ return super.moveToPosition(mPos);
}
@Override
@@ -397,8 +403,7 @@
return;
}
if (mListener != null) {
- final Uri contactLookupUri = getAdapter().getContactLookupUri(position);
- mListener.onGroupMemberListItemClicked(position, contactLookupUri);
+ mListener.onGroupMemberListItemClicked(position, uri);
}
}
diff --git a/src/com/android/contacts/list/GroupMemberPickerFragment.java b/src/com/android/contacts/list/GroupMemberPickerFragment.java
index 519a6a9..6f4d0c0 100644
--- a/src/com/android/contacts/list/GroupMemberPickerFragment.java
+++ b/src/com/android/contacts/list/GroupMemberPickerFragment.java
@@ -148,8 +148,15 @@
@Override
public boolean moveToPosition(int position) {
- if (position >= mCount || position < 0) return false;
- return super.moveToPosition(mIndex[position]);
+ if (position >= mCount) {
+ mPos = mCount;
+ return false;
+ } else if (position < 0) {
+ mPos = -1;
+ return false;
+ }
+ mPos = mIndex[position];
+ return super.moveToPosition(mPos);
}
@Override