Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 879be426 authored by Flavio Lerda's avatar Flavio Lerda Committed by Android (Google) Code Review
Browse files

Merge "Update highlight state for primary/secondary targets."

parents f698f7f5 44d8fbe0
Loading
Loading
Loading
Loading
+40 −39
Original line number Diff line number Diff line
@@ -18,26 +18,26 @@
-->

<!-- Note: padding might be controlled programatically -->
<LinearLayout
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center_vertical"
    android:minHeight="@dimen/detail_min_line_item_height">
    android:paddingLeft="16dip">

    <!-- Note: padding might be controlled programatically -->
    <com.android.contacts.detail.PrimaryActionViewContainer
        android:id="@+id/primary_action_view_container"
        android:layout_width="0dip"
        android:layout_weight="1"
    <com.android.contacts.detail.ActionsViewContainer
        android:id="@+id/actions_view_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="@dimen/detail_min_line_item_height"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:layout_gravity="center_vertical"
        android:focusable="true"
        android:background="?android:attr/selectableItemBackground">
        android:background="?android:attr/selectableItemBackground"
        android:nextFocusRight="@+id/secondary_action_view_container">

        <!-- Note: padding might be controlled programatically -->
        <LinearLayout
            android:id="@+id/primary_action_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
@@ -80,7 +80,7 @@
            android:id="@+id/type"
            style="@style/ContactDetailItemType"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:paddingRight="16dip" />

@@ -92,7 +92,6 @@
            android:layout_gravity="center_vertical"
            android:background="@drawable/ic_menu_mark" />

    </com.android.contacts.detail.PrimaryActionViewContainer>

        <View
            android:id="@+id/vertical_divider"
@@ -111,7 +110,8 @@
            android:paddingRight="@dimen/detail_item_icon_margin"
            android:duplicateParentState="false"
            android:focusable="true"
        android:background="?android:attr/selectableItemBackground">
            android:background="?android:attr/selectableItemBackground"
            android:nextFocusLeft="@id/actions_view_container">
            <ImageView
                android:id="@+id/secondary_action_button"
                android:layout_width="32dip"
@@ -121,4 +121,5 @@
                android:scaleType="center"
                android:duplicateParentState="false" />
        </FrameLayout>
</LinearLayout>
    </com.android.contacts.detail.ActionsViewContainer>
</FrameLayout>
+35 −33
Original line number Diff line number Diff line
@@ -18,27 +18,28 @@
-->

<!-- Note: padding might be controlled programatically -->
<LinearLayout
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center_vertical"
    android:paddingLeft="16dip"
    android:paddingTop="8dip"
    android:paddingBottom="8dip"
    android:minHeight="@dimen/detail_min_line_item_height">

    <!-- Note: padding might be controlled programatically -->
    <com.android.contacts.detail.PrimaryActionViewContainer
        android:id="@+id/primary_action_view_container"
        android:layout_width="0dip"
        android:layout_weight="1"
    <com.android.contacts.detail.ActionsViewContainer
        android:id="@+id/actions_view_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:focusable="true"
        android:background="?android:attr/selectableItemBackground">
        android:background="?android:attr/selectableItemBackground"
        android:nextFocusRight="@+id/secondary_action_view_container">

        <!-- Note: padding might be controlled programatically -->
        <LinearLayout
            android:id="@+id/primary_action_view"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
@@ -93,7 +94,6 @@
                android:visibility="gone" />

        </LinearLayout>
    </com.android.contacts.detail.PrimaryActionViewContainer>

        <View
            android:id="@+id/vertical_divider"
@@ -111,7 +111,8 @@
            android:paddingLeft="@dimen/detail_item_icon_margin"
            android:paddingRight="@dimen/detail_item_icon_margin"
            android:focusable="true"
        android:background="?android:attr/selectableItemBackground">
            android:background="?android:attr/selectableItemBackground"
            android:nextFocusLeft="@id/actions_view_container">
            <ImageView
                android:id="@+id/secondary_action_button"
                android:layout_width="32dip"
@@ -119,4 +120,5 @@
                android:layout_gravity="center_vertical"
                android:duplicateParentState="false" />
        </FrameLayout>
</LinearLayout>
    </com.android.contacts.detail.ActionsViewContainer>
</FrameLayout>
+9 −7
Original line number Diff line number Diff line
@@ -16,22 +16,23 @@

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/actions_view_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:orientation="horizontal"
    android:background="@drawable/quickcontact_list_item_background"
    android:gravity="center_vertical">
    android:gravity="center_vertical"
    android:background="?android:attr/selectableItemBackground"
    android:nextFocusRight="@+id/secondary_action_button">
    <LinearLayout
        android:id="@+id/primary_action_view_container"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:minHeight="?android:attr/listPreferredItemHeight"
        android:layout_weight="1"
        android:orientation="vertical"
        android:paddingLeft="16dip"
        android:paddingRight="16dip"
        android:gravity="center_vertical"
        android:background="?android:attr/selectableItemBackground">
        android:orientation="vertical"
    >
        <TextView
            android:id="@android:id/text1"
            android:layout_width="wrap_content"
@@ -61,5 +62,6 @@
        android:paddingLeft="@dimen/detail_item_icon_margin"
        android:paddingRight="@dimen/detail_item_icon_margin"
        android:background="?android:attr/selectableItemBackground"
        android:duplicateParentState="false" />
        android:duplicateParentState="false"
        android:nextFocusLeft="@id/actions_view_container" />
</LinearLayout>
+5 −5
Original line number Diff line number Diff line
@@ -25,21 +25,21 @@ import android.widget.ListView;

/**
 * Custom {@link LinearLayout} which remembers its position in the {@link ListView}. Should be
 * used for primary touch targets in {@link ContactDetailFragment}.
 * used for action touch targets in {@link ContactDetailFragment}.
 */
/* package */ class PrimaryActionViewContainer extends LinearLayout {
/* package */ class ActionsViewContainer extends LinearLayout {

    private ContextMenuInfo mContextMenuInfo;

    public PrimaryActionViewContainer(Context context) {
    public ActionsViewContainer(Context context) {
        super(context);
    }

    public PrimaryActionViewContainer(Context context, AttributeSet attrs) {
    public ActionsViewContainer(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public PrimaryActionViewContainer(Context context, AttributeSet attrs, int defStyle) {
    public ActionsViewContainer(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

+21 −16
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import com.android.contacts.ContactPresenceIconUtil;
import com.android.contacts.ContactSaveService;
import com.android.contacts.ContactsUtils;
import com.android.contacts.GroupMetaData;
import com.android.contacts.NfcHandler;
import com.android.contacts.R;
import com.android.contacts.TypePrecedence;
import com.android.contacts.activities.ContactDetailActivity.FragmentKeyListener;
@@ -1411,7 +1410,8 @@ public class ContactDetailFragment extends Fragment implements FragmentKeyListen
        public final TextView footer;
        public final ImageView presenceIcon;
        public final ImageView secondaryActionButton;
        public final View primaryActionViewContainer;
        public final View actionsViewContainer;
        public final View primaryActionView;
        public final View secondaryActionViewContainer;
        public final View secondaryActionDivider;
        public final View primaryIndicator;
@@ -1425,8 +1425,9 @@ public class ContactDetailFragment extends Fragment implements FragmentKeyListen
            primaryIndicator = view.findViewById(R.id.primary_indicator);
            presenceIcon = (ImageView) view.findViewById(R.id.presence_icon);

            primaryActionViewContainer = view.findViewById(R.id.primary_action_view_container);
            primaryActionViewContainer.setOnClickListener(primaryActionClickListener);
            actionsViewContainer = view.findViewById(R.id.actions_view_container);
            actionsViewContainer.setOnClickListener(primaryActionClickListener);
            primaryActionView = view.findViewById(R.id.primary_action_view);

            secondaryActionViewContainer = view.findViewById(
                    R.id.secondary_action_view_container);
@@ -1625,11 +1626,11 @@ public class ContactDetailFragment extends Fragment implements FragmentKeyListen
                presenceIconView.setVisibility(View.GONE);
            }

            final PrimaryActionViewContainer primaryActionButtonContainer =
                    (PrimaryActionViewContainer) views.primaryActionViewContainer;
            primaryActionButtonContainer.setTag(entry);
            primaryActionButtonContainer.setPosition(position);
            registerForContextMenu(primaryActionButtonContainer);
            final ActionsViewContainer actionsButtonContainer =
                    (ActionsViewContainer) views.actionsViewContainer;
            actionsButtonContainer.setTag(entry);
            actionsButtonContainer.setPosition(position);
            registerForContextMenu(actionsButtonContainer);

            // Set the secondary action button
            final ImageView secondaryActionView = views.secondaryActionButton;
@@ -1655,14 +1656,18 @@ public class ContactDetailFragment extends Fragment implements FragmentKeyListen
                views.secondaryActionDivider.setVisibility(View.GONE);
            }

            // Right padding should not have "pressed" effect.
            view.setPadding(0, 0, mViewEntryDimensions.getPaddingRight(), 0);
            // Top, left, and bottom paddings should have "pressed" effect.
            primaryActionButtonContainer.setPadding(entry.isInSubSection() ?
                    mViewEntryDimensions.getWidePaddingLeft() :
                            mViewEntryDimensions.getPaddingLeft(),
            // Right and left padding should not have "pressed" effect.
            view.setPadding(
                    entry.isInSubSection()
                            ? mViewEntryDimensions.getWidePaddingLeft()
                            : mViewEntryDimensions.getPaddingLeft(),
                    0, mViewEntryDimensions.getPaddingRight(), 0);
            // Top and bottom padding should have "pressed" effect.
            final View primaryActionView = views.primaryActionView;
            primaryActionView.setPadding(
                    primaryActionView.getPaddingLeft(),
                    mViewEntryDimensions.getPaddingTop(),
                    0,
                    primaryActionView.getPaddingRight(),
                    mViewEntryDimensions.getPaddingBottom());
            secondaryActionViewContainer.setPadding(
                    secondaryActionViewContainer.getPaddingLeft(),
Loading