Fixing CursorIndexOutOfBoundsException in call log UI
Bug: 2419501
Change-Id: I98bc08f60555d4d46685a95fa802d7c501737abb
diff --git a/src/com/android/contacts/GroupingListAdapter.java b/src/com/android/contacts/GroupingListAdapter.java
index 885007f..9d494a3 100644
--- a/src/com/android/contacts/GroupingListAdapter.java
+++ b/src/com/android/contacts/GroupingListAdapter.java
@@ -419,13 +419,20 @@
public Object getItem(int position) {
obtainPositionMetadata(mPositionMetadata, position);
- mCursor.moveToPosition(mPositionMetadata.cursorPosition);
- return mCursor;
+ if (mCursor.moveToPosition(mPositionMetadata.cursorPosition)) {
+ return mCursor;
+ } else {
+ return null;
+ }
}
public long getItemId(int position) {
- getItem(position);
- return mCursor.getLong(mRowIdColumnIndex);
+ Object item = getItem(position);
+ if (item != null) {
+ return mCursor.getLong(mRowIdColumnIndex);
+ } else {
+ return -1;
+ }
}
public View getView(int position, View convertView, ViewGroup parent) {