Merge "Import revised translations."
diff --git a/res/layout/add_group_menu_item.xml b/res/layout/add_group_menu_item.xml
index 841159e..80c7e32 100644
--- a/res/layout/add_group_menu_item.xml
+++ b/res/layout/add_group_menu_item.xml
@@ -14,40 +14,18 @@
      limitations under the License.
 -->
 
-<LinearLayout
+<!--
+  Custom action bar button for creating new groups. This is a custom view so
+  that we can anchor the account list dropdown from this view when creating a group.
+-->
+
+<ImageView
     xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/icon"
     android:layout_width="wrap_content"
-    android:layout_height="match_parent"
-    android:divider="?android:attr/dividerVertical"
-    android:showDividers="end"
-    android:dividerPadding="12dip"
-    android:orientation="horizontal">
-
-    <LinearLayout
-        style="?android:attr/actionButtonStyle"
-        android:id="@+id/menu_item"
-        android:layout_width="wrap_content"
-        android:layout_height="match_parent"
-        android:orientation="horizontal">
-
-        <ImageView
-            android:id="@+id/icon"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical"
-            android:layout_marginRight="8dip"
-            android:src="@drawable/ic_menu_add_group_holo_dark"
-            android:description="@string/menu_new_group_action_bar" />
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:text="@string/menu_new_group_action_bar"
-            android:textColor="@color/action_bar_button_text_color"
-            style="@android:style/Widget.Holo.ActionBar.TabText" />
-
-    </LinearLayout>
-
-</LinearLayout>
+    android:layout_height="wrap_content"
+    android:layout_gravity="center_vertical"
+    android:layout_marginRight="8dip"
+    android:src="@drawable/ic_menu_add_group_holo_dark"
+    android:description="@string/menu_new_group_action_bar"
+    style="?android:attr/actionButtonStyle" />
\ No newline at end of file
diff --git a/res/menu-sw580dp-w720dp/actions.xml b/res/menu-sw580dp-w720dp/actions.xml
index 0b8303a..3aca102 100644
--- a/res/menu-sw580dp-w720dp/actions.xml
+++ b/res/menu-sw580dp-w720dp/actions.xml
@@ -24,13 +24,13 @@
         android:id="@+id/menu_add_contact"
         android:icon="@drawable/ic_menu_add_contact_holo_dark"
         android:title="@string/menu_new_contact_action_bar"
-        android:showAsAction="withText|always" />
+        android:showAsAction="always" />
 
     <item
         android:id="@+id/menu_custom_add_group"
         android:icon="@drawable/ic_menu_add_group_holo_dark"
         android:title="@string/menu_new_group_action_bar"
-        android:showAsAction="withText|always" />
+        android:showAsAction="always" />
 
     <item
         android:id="@+id/menu_contacts_filter"
diff --git a/res/menu-sw580dp/actions.xml b/res/menu-sw580dp/actions.xml
index 8732927..c2fd3e6 100644
--- a/res/menu-sw580dp/actions.xml
+++ b/res/menu-sw580dp/actions.xml
@@ -23,14 +23,12 @@
     <item
         android:id="@+id/menu_add_contact"
         android:icon="@drawable/ic_menu_add_contact_holo_dark"
-        android:title="@string/menu_new_contact_action_bar"
-        android:showAsAction="withText" />
+        android:title="@string/menu_new_contact_action_bar" />
 
     <item
         android:id="@+id/menu_add_group"
         android:icon="@drawable/ic_menu_add_group_holo_dark"
-        android:title="@string/menu_new_group_action_bar"
-        android:showAsAction="withText" />
+        android:title="@string/menu_new_group_action_bar" />
 
     <!-- Added orderInCategory to keep the following buttons at the end of the menu
          Buttons will be added in the order added/inflated. Ordered buttons will be added
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 1d3fda4..b68bfc9 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -1221,8 +1221,7 @@
         if (addGroup != null) {
             mAddGroupImageView = getLayoutInflater().inflate(
                     R.layout.add_group_menu_item, null, false);
-            View item = mAddGroupImageView.findViewById(R.id.menu_item);
-            item.setOnClickListener(new OnClickListener() {
+            mAddGroupImageView.setOnClickListener(new OnClickListener() {
                 @Override
                 public void onClick(View v) {
                     createNewGroupWithAccountDisambiguation();
diff --git a/src/com/android/contacts/group/GroupBrowseListFragment.java b/src/com/android/contacts/group/GroupBrowseListFragment.java
index 2b9c594..82539e8 100644
--- a/src/com/android/contacts/group/GroupBrowseListFragment.java
+++ b/src/com/android/contacts/group/GroupBrowseListFragment.java
@@ -220,12 +220,9 @@
         }
         mAdapter.setCursor(mGroupListCursor);
 
-        Parcelable listState = mListView.onSaveInstanceState();
         if (mSelectionToScreenRequested) {
+            mSelectionToScreenRequested = false;
             requestSelectionToScreen();
-        } else {
-            // Restore the scroll position.
-            mListView.onRestoreInstanceState(listState);
         }
 
         mSelectedGroupUri = mAdapter.getSelectedGroup();
@@ -262,6 +259,9 @@
     }
 
     protected void requestSelectionToScreen() {
+        if (!mSelectionVisible) {
+            return; // If selection isn't visible we don't care.
+        }
         int selectedPosition = mAdapter.getSelectedGroupPosition();
         if (selectedPosition != -1) {
             mListView.requestPositionToScreen(selectedPosition,
diff --git a/src/com/android/contacts/socialwidget/SocialWidgetProvider.java b/src/com/android/contacts/socialwidget/SocialWidgetProvider.java
index cd6a494..dd44310 100644
--- a/src/com/android/contacts/socialwidget/SocialWidgetProvider.java
+++ b/src/com/android/contacts/socialwidget/SocialWidgetProvider.java
@@ -200,7 +200,11 @@
             views.setTextViewText(R.id.name, sb);
             views.setViewVisibility(R.id.name, View.VISIBLE);
             views.setViewVisibility(R.id.name_and_snippet, View.GONE);
-            views.setOnClickPendingIntent(R.id.widget_container, defaultIntent);
+            // Don't set a pending intent if the intent is null, otherwise the system will try
+            // to write the null intent to a Parcel.
+            if (defaultIntent != null) {
+                views.setOnClickPendingIntent(R.id.widget_container, defaultIntent);
+            }
         } else {
             // TODO: Rotate between all the stream items?
             StreamItemEntry streamItem = streamItems.get(0);
diff --git a/src/com/android/contacts/vcard/ImportVCardActivity.java b/src/com/android/contacts/vcard/ImportVCardActivity.java
index 2baa9cb..054e018 100644
--- a/src/com/android/contacts/vcard/ImportVCardActivity.java
+++ b/src/com/android/contacts/vcard/ImportVCardActivity.java
@@ -170,7 +170,9 @@
         }
         @Override
         public void run() {
-            showDialog(mResId);
+            if (!isFinishing()) {
+                showDialog(mResId);
+            }
         }
     }