Merge "Use Objects from guava library."
diff --git a/res/layout-sw580dp/quickcontact_activity.xml b/res/layout-sw580dp/quickcontact_activity.xml
index b0291fc..34e932d 100644
--- a/res/layout-sw580dp/quickcontact_activity.xml
+++ b/res/layout-sw580dp/quickcontact_activity.xml
@@ -42,6 +42,7 @@
             android:background="@color/quickcontact_tab_indicator" />
         <android.support.v4.view.ViewPager
             android:id="@+id/item_list_pager"
+            android:background="@color/quickcontact_list_background"
             android:layout_width="match_parent"
             android:layout_height="160dip" />
     </LinearLayout>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ed0c799..4a84751 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -133,11 +133,11 @@
     <!-- Menu item that deletes the currently selected group [CHAR LIMIT=30] -->
     <string name="menu_deleteGroup">Delete</string>
 
-    <!-- Menu item (in the action bar) that creates a new contacts [CHAR LIMIT=12] -->
-    <string name="menu_new_contact_action_bar">New</string>
+    <!-- Menu item (in the action bar) that creates a new contact [CHAR LIMIT=30] -->
+    <string name="menu_new_contact_action_bar">Add Contact</string>
 
-    <!-- Menu item (in the action bar) that creates a new group [CHAR LIMIT=12] -->
-    <string name="menu_new_group_action_bar">New</string>
+    <!-- Menu item (in the action bar) that creates a new group [CHAR LIMIT=30] -->
+    <string name="menu_new_group_action_bar">Add Group</string>
 
     <!-- Title of the confirmation dialog for separating contacts into multiple instances [CHAR LIMIT=26] -->
     <string name="splitConfirmation_title">Separate contact?</string>
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index 17b6e50..b019542 100644
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -118,9 +118,6 @@
     private static final String KEY_IS_USER_PROFILE = "isUserProfile";
     private static final String KEY_UPDATED_PHOTOS = "updatedPhotos";
 
-    private static final String[] VALID_ACTIONS = {Intent.ACTION_EDIT, Intent.ACTION_INSERT,
-            ContactEditorActivity.ACTION_SAVE_COMPLETED};
-
     public static final String SAVE_MODE_EXTRA_KEY = "saveMode";
 
 
@@ -405,13 +402,13 @@
      * @throws IllegalArgumentException when the action is invalid.
      */
     private void validateAction(String action) {
-        for (String validAction : VALID_ACTIONS) {
-            if (validAction.equals(action)) {
-                return;
-            }
+        if (Intent.ACTION_EDIT.equals(action) || Intent.ACTION_INSERT.equals(action) ||
+                ContactEditorActivity.ACTION_SAVE_COMPLETED.equals(action)) {
+            return;
         }
         throw new IllegalArgumentException("Unknown Action String " + mAction +
-                ". Only support " + Intent.ACTION_EDIT + " or " + Intent.ACTION_INSERT);
+                ". Only support " + Intent.ACTION_EDIT + " or " + Intent.ACTION_INSERT + " or " +
+                ContactEditorActivity.ACTION_SAVE_COMPLETED);
     }
 
     @Override
diff --git a/src/com/android/contacts/group/GroupDetailFragment.java b/src/com/android/contacts/group/GroupDetailFragment.java
index 89cb63c..3ab6bc8 100644
--- a/src/com/android/contacts/group/GroupDetailFragment.java
+++ b/src/com/android/contacts/group/GroupDetailFragment.java
@@ -154,6 +154,7 @@
                 R.id.group_source_view_container);
         mEmptyView = mRootView.findViewById(android.R.id.empty);
         mMemberListView = (ListView) mRootView.findViewById(android.R.id.list);
+        mMemberListView.setItemsCanFocus(true);
         mMemberListView.setAdapter(mAdapter);
 
         return mRootView;
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 9044e32..ede911e 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -592,13 +592,18 @@
             final CheckableImageView actionView = getActionViewAt(position);
             mTrackScroller.requestChildRectangleOnScreen(actionView,
                     new Rect(0, 0, actionView.getWidth(), actionView.getHeight()), false);
+            renderSelectedRectangle(position, 0);
         }
 
         @Override
         public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+            renderSelectedRectangle(position, positionOffset);
+        }
+
+        private void renderSelectedRectangle(int position, float positionOffset) {
             final RelativeLayout.LayoutParams layoutParams =
                     (RelativeLayout.LayoutParams) mSelectedTabRectangle.getLayoutParams();
-            final int width = mSelectedTabRectangle.getWidth();
+            final int width = layoutParams.width;
             layoutParams.leftMargin = (int) ((position + positionOffset) * width);
             mSelectedTabRectangle.setLayoutParams(layoutParams);
         }