From 406de13ab4326bbedae0262709a004da2211d04c Mon Sep 17 00:00:00 2001 From: yueg Date: Tue, 19 Jun 2018 16:54:38 -0700 Subject: Drag favorite to remove Test: RemoveViewHolderTest, SpeedDialAdapterTest PiperOrigin-RevId: 201266033 Change-Id: Ie7ed9bac8ad9c7bbc35c351409b629e3fbad3de8 --- .../android/dialer/speeddial/SpeedDialAdapter.java | 128 +++++++++++++++++++-- 1 file changed, 116 insertions(+), 12 deletions(-) (limited to 'java/com/android/dialer/speeddial/SpeedDialAdapter.java') diff --git a/java/com/android/dialer/speeddial/SpeedDialAdapter.java b/java/com/android/dialer/speeddial/SpeedDialAdapter.java index a382b1a6b..ff52a0745 100644 --- a/java/com/android/dialer/speeddial/SpeedDialAdapter.java +++ b/java/com/android/dialer/speeddial/SpeedDialAdapter.java @@ -21,6 +21,7 @@ import android.content.Context; import android.os.Build.VERSION_CODES; import android.support.annotation.IntDef; import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.support.v7.widget.GridLayoutManager.SpanSizeLookup; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; @@ -28,6 +29,8 @@ import android.support.v7.widget.helper.ItemTouchHelper; import android.util.ArrayMap; import android.view.LayoutInflater; import android.view.ViewGroup; +import android.view.animation.AnticipateInterpolator; +import android.widget.FrameLayout; import com.android.dialer.common.Assert; import com.android.dialer.speeddial.FavoritesViewHolder.FavoriteContactsListener; import com.android.dialer.speeddial.HeaderViewHolder.SpeedDialHeaderListener; @@ -58,13 +61,20 @@ import java.util.Map; public final class SpeedDialAdapter extends RecyclerView.Adapter implements ItemTouchHelperAdapter { + private static final int NON_CONTACT_ITEM_NUMBER_BEFORE_FAVORITES = 2; + private static final int NON_CONTACT_ITEM_NUMBER_BEFORE_SUGGESTION = 3; + + private static final float IN_REMOVE_VIEW_SCALE = 0.5f; + private static final float IN_REMOVE_VIEW_ALPHA = 0.5f; + @Retention(RetentionPolicy.SOURCE) @IntDef({RowType.STARRED_HEADER, RowType.SUGGESTION_HEADER, RowType.STARRED, RowType.SUGGESTION}) @interface RowType { - int STARRED_HEADER = 0; - int SUGGESTION_HEADER = 1; - int STARRED = 2; - int SUGGESTION = 3; + int REMOVE_VIEW = 0; + int STARRED_HEADER = 1; + int SUGGESTION_HEADER = 2; + int STARRED = 3; + int SUGGESTION = 4; } private final Context context; @@ -78,6 +88,9 @@ public final class SpeedDialAdapter extends RecyclerView.Adapter