Merge "Bring action bar up to spec (E3)"
diff --git a/res/drawable/ic_menu_delete.xml b/res/drawable/ic_menu_delete.xml
index e95a5db..d994368 100644
--- a/res/drawable/ic_menu_delete.xml
+++ b/res/drawable/ic_menu_delete.xml
@@ -21,6 +21,6 @@
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
- android:fillColor="#FFFFFFFF"
+ android:fillColor="@color/actionbar_icon_color_grey"
android:pathData="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"/>
</vector>
diff --git a/res/drawable/ic_menu_link.xml b/res/drawable/ic_menu_link.xml
index b962460..e631034 100644
--- a/res/drawable/ic_menu_link.xml
+++ b/res/drawable/ic_menu_link.xml
@@ -21,6 +21,6 @@
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
- android:fillColor="#FFFFFFFF"
+ android:fillColor="@color/actionbar_icon_color_grey"
android:pathData="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/>
</vector>
diff --git a/res/drawable/ic_menu_share.xml b/res/drawable/ic_menu_share.xml
index 60217e2..99e873b 100644
--- a/res/drawable/ic_menu_share.xml
+++ b/res/drawable/ic_menu_share.xml
@@ -21,6 +21,6 @@
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
- android:fillColor="#FFFFFFFF"
+ android:fillColor="@color/actionbar_icon_color_grey"
android:pathData="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z"/>
</vector>
diff --git a/res/layout/selection_bar.xml b/res/layout/selection_bar.xml
index 6c11a39..f8fd7fc 100644
--- a/res/layout/selection_bar.xml
+++ b/res/layout/selection_bar.xml
@@ -28,16 +28,19 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/action_menu_back_from_edit_select"
android:layout_gravity="center_vertical|start"
- android:tint="@android:color/white" />
+ android:alpha="@dimen/close_icon_alpha" />
<TextView
android:id="@+id/selection_count_text"
android:layout_marginStart="72dp"
+ android:layout_marginEnd="@dimen/edit_group_end_margin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:layout_gravity="center_vertical|start"
- style="@style/ContactsActionBarTitleTextAppCompat" />
+ android:singleLine="true"
+ android:ellipsize="end"
+ style="@style/ContactsActionBarTitleTextBlack" />
<TextView
android:id="@+id/add_contacts"
@@ -47,7 +50,7 @@
android:visibility="gone"
android:layout_gravity="center_vertical|end"
android:text="@string/menu_add_contacts"
- android:textColor="@color/actionbar_text_color"
+ android:textColor="@color/primary_color"
android:textStyle="bold"/>
</FrameLayout>
diff --git a/res/values-sw600dp/dimens.xml b/res/values-sw600dp/dimens.xml
index 68e4e87..f0b28a9 100644
--- a/res/values-sw600dp/dimens.xml
+++ b/res/values-sw600dp/dimens.xml
@@ -45,4 +45,7 @@
<dimen name="account_container_left_padding">16dip</dimen>
<dimen name="contact_detail_list_top_padding">8dip</dimen>
<dimen name="frequently_contacted_title_text_size">24sp</dimen>
+
+ <!-- End margin of edit group title -->
+ <dimen name="edit_group_end_margin">80dp</dimen>
</resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index ee4f55a..8089a2e 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -30,9 +30,9 @@
<color name="actionbar_background_color">@color/primary_color</color>
<color name="actionbar_background_color_dark">@color/primary_color_dark</color>
- <color name="contextual_selection_bar_color">#616161</color>
+ <color name="contextual_selection_bar_color">#f6f6f6</color>
<!-- Color of the status bar above the contextual selection bar. -->
- <color name="contextual_selection_bar_status_bar_color">#424242</color>
+ <color name="contextual_selection_bar_status_bar_color">#bababa</color>
<color name="primary_color_dark">#0277bd</color>
<color name="primary_color">#0288d1</color>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 2badc01..b1fecc8 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -286,4 +286,7 @@
<!-- Width for the image for empty group view-->
<dimen name="empty_group_view_image_width">232dp</dimen>
+
+ <!-- End margin of edit group title -->
+ <dimen name="edit_group_end_margin">72dp</dimen>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index b9a5f58..d72b4b2 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -672,7 +672,7 @@
<string name="enter_contact_name">Search contacts</string>
<!-- Title of edit label view [CHAR LIMIT=20]-->
- <string name="title_edit_group">Edit Label</string>
+ <string name="title_edit_group">Edit Label: <xliff:g id="group_name" example="Friends">%1$s</xliff:g></string>
<!-- Header label in the contact editor for a profile that is local to the device only (and not associated with any account) [CHAR LIMIT=25] -->
<string name="local_profile_title">My local profile</string>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 50d53dc..0af01f7 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -238,6 +238,10 @@
<item name="android:textColor">@color/actionbar_text_color</item>
</style>
+ <style name="ContactsActionBarTitleTextBlack" parent="@style/ContactsActionBarTitleTextAppCompat">
+ <item name="android:textColor">@color/actionbar_text_color_black</item>
+ </style>
+
<!-- Styling for the tab bar; handles styling of the divider line. -->
<style name="ContactsActionBarTabBarStyle"
parent="@android:style/Widget.Material.ActionBar.TabBar">
diff --git a/src/com/android/contacts/activities/ActionBarAdapter.java b/src/com/android/contacts/activities/ActionBarAdapter.java
index be94860..aa48bce 100644
--- a/src/com/android/contacts/activities/ActionBarAdapter.java
+++ b/src/com/android/contacts/activities/ActionBarAdapter.java
@@ -20,6 +20,7 @@
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
+import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.preference.PreferenceManager;
@@ -33,8 +34,10 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.ViewTreeObserver;
import android.view.inputmethod.InputMethodManager;
import android.widget.FrameLayout;
+import android.widget.ImageView;
import android.widget.LinearLayout.LayoutParams;
import android.widget.SearchView.OnCloseListener;
import android.view.View.OnClickListener;
@@ -46,6 +49,8 @@
import com.android.contacts.common.compat.CompatUtils;
import com.android.contacts.list.ContactsRequest;
+import java.util.ArrayList;
+
/**
* Adapter for the action bar at the top of the Contacts activity.
*/
@@ -421,6 +426,8 @@
private void update(boolean skipAnimation) {
updateStatusBarColor();
+ updateOverflowButtonColor();
+
final boolean isSelectionModeChanging
= (mSelectionContainer.getParent() == null) == mSelectionMode;
final boolean isSwitchingFromSearchToSelection =
@@ -502,6 +509,45 @@
}
}
+ /**
+ * Find overflow menu ImageView by its content description and update its color.
+ */
+ private void updateOverflowButtonColor() {
+ final String overflowDescription = mActivity.getResources().getString(
+ R.string.abc_action_menu_overflow_description);
+ final ViewGroup decorView = (ViewGroup) mActivity.getWindow().getDecorView();
+ final ViewTreeObserver viewTreeObserver = decorView.getViewTreeObserver();
+ viewTreeObserver.addOnGlobalLayoutListener(
+ new ViewTreeObserver.OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+ // Find the overflow ImageView.
+ final ArrayList<View> outViews = new ArrayList<>();
+ decorView.findViewsWithText(outViews, overflowDescription,
+ View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION);
+ if (outViews.isEmpty()) {
+ return;
+ }
+ final ImageView overflow = (ImageView) outViews.get(0);
+ overflow.setImageResource(R.drawable.ic_more_vert);
+
+ // Update the overflow image color.
+ final int iconColor;
+ if (mSelectionMode) {
+ iconColor = mActivity.getResources().getColor(
+ R.color.actionbar_color_grey_solid);
+ } else {
+ iconColor = mActivity.getResources().getColor(
+ R.color.actionbar_text_color);
+ }
+ overflow.setImageTintList(ColorStateList.valueOf(iconColor));
+
+ // We're done, remove the listener.
+ decorView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
+ }
+ });
+ }
+
public void setSelectionCount(int selectionCount) {
TextView textView = (TextView) mSelectionContainer.findViewById(R.id.selection_count_text);
if (selectionCount == 0) {
diff --git a/src/com/android/contacts/activities/GroupMembersActivity.java b/src/com/android/contacts/activities/GroupMembersActivity.java
index 88b5db2..34b6b25 100644
--- a/src/com/android/contacts/activities/GroupMembersActivity.java
+++ b/src/com/android/contacts/activities/GroupMembersActivity.java
@@ -495,7 +495,8 @@
if (mMembersFragment != null) {
if (mIsEditMode) {
mMembersFragment.displayDeleteButtons(true);
- mActionBarAdapter.setActionBarTitle(getString(R.string.title_edit_group));
+ mActionBarAdapter.setActionBarTitle(
+ getString(R.string.title_edit_group, mGroupMetadata.groupName));
} else {
mMembersFragment.displayCheckBoxes(true);
}
@@ -544,7 +545,8 @@
@Override
public void onSelectedContactIdsChanged() {
if (mIsEditMode) {
- mActionBarAdapter.setActionBarTitle(getString(R.string.title_edit_group));
+ mActionBarAdapter.setActionBarTitle(
+ getString(R.string.title_edit_group, mGroupMetadata.groupName));
} else {
mActionBarAdapter.setSelectionCount(mMembersFragment.getSelectedContactIds().size());
}