From e8d7752e920b6f31874a770c9ddcbbaaee0627cb Mon Sep 17 00:00:00 2001 From: Android Dialer Date: Mon, 16 Oct 2017 11:33:58 -0700 Subject: Keep promo state on rotate Promo was being collapsed because rotate causes list to be scrolled at IDLE state. Make the drag more explicit by including the fastScroller drag state instead manually verified fast scrolling still minimizes promo and rotating while promo is expanded keeps it expanded Bug: 67670326 Test: ContactsPromoFragmentTest PiperOrigin-RevId: 172352966 Change-Id: Iab5438501db1d54b7ffac3339faecde0256a3632 --- java/com/android/dialer/contactsfragment/ContactsFragment.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'java/com/android/dialer/contactsfragment/ContactsFragment.java') diff --git a/java/com/android/dialer/contactsfragment/ContactsFragment.java b/java/com/android/dialer/contactsfragment/ContactsFragment.java index 759897f91..a8daa546a 100644 --- a/java/com/android/dialer/contactsfragment/ContactsFragment.java +++ b/java/com/android/dialer/contactsfragment/ContactsFragment.java @@ -93,7 +93,7 @@ public class ContactsFragment extends Fragment /** Listener for contacts list scroll state. */ public interface OnContactsListScrolledListener { - void onContactsListScrolled(int scrollState); + void onContactsListScrolled(boolean isDragging); } /** @@ -248,7 +248,9 @@ public class ContactsFragment extends Fragment String anchoredHeaderString = adapter.getHeaderString(firstCompletelyVisible); FragmentUtils.getParentUnsafe(this, OnContactsListScrolledListener.class) - .onContactsListScrolled(recyclerView.getScrollState()); + .onContactsListScrolled( + recyclerView.getScrollState() == RecyclerView.SCROLL_STATE_DRAGGING + || fastScroller.isDragStarted()); // If the user swipes to the top of the list very quickly, there is some strange behavior // between this method updating headers and adapter#onBindViewHolder updating headers. -- cgit v1.2.3