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) {