merge from open-source master

Change-Id: I54c494ff5f594baedbda1692e76423f21780f570
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 1fae984..09bdb1d 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -17,6 +17,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.android.contacts"
     android:sharedUserId="android.uid.shared"
+    android:sharedUserLabel="@string/sharedUserLabel"
 >
 
     <original-package android:name="com.android.contacts" />
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 893394c..2a426fe 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -14,6 +14,10 @@
      limitations under the License.
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Label for this app's shared user ID (and thus for all other
+         apps sharing the uid). -->
+    <string name="sharedUserLabel">Android Core Apps</string>
+
     <!-- Title for the activity that shows contacts.  This is the name
          used in the Launcher icon. -->
     <string name="contactsList">Contacts</string>
diff --git a/src/com/android/contacts/RecentCallsListActivity.java b/src/com/android/contacts/RecentCallsListActivity.java
index ccd1ce3..e3213a3 100644
--- a/src/com/android/contacts/RecentCallsListActivity.java
+++ b/src/com/android/contacts/RecentCallsListActivity.java
@@ -1070,8 +1070,8 @@
             // most recent entry.
             position = 0;
         }
-        final Cursor cursor = mAdapter.getCursor();
-        if (cursor != null && cursor.moveToPosition(position)) {
+        final Cursor cursor = (Cursor)mAdapter.getItem(position);
+        if (cursor != null) {
             String number = cursor.getString(NUMBER_COLUMN_INDEX);
             if (TextUtils.isEmpty(number)
                     || number.equals(CallerInfo.UNKNOWN_NUMBER)