summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/contactsfragment
diff options
context:
space:
mode:
authorAndroid Dialer <noreply@google.com>2017-10-16 11:33:58 -0700
committerEric Erfanian <erfanian@google.com>2017-10-16 14:18:55 -0700
commite8d7752e920b6f31874a770c9ddcbbaaee0627cb (patch)
tree37a4eaebaa8922b4b4731861884027290d85e741 /java/com/android/dialer/contactsfragment
parente8c8389ce36a4eb10e039ffe86f8b699813ca7e3 (diff)
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
Diffstat (limited to 'java/com/android/dialer/contactsfragment')
-rw-r--r--java/com/android/dialer/contactsfragment/ContactsFragment.java6
-rw-r--r--java/com/android/dialer/contactsfragment/FastScroller.java7
2 files changed, 10 insertions, 3 deletions
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.
diff --git a/java/com/android/dialer/contactsfragment/FastScroller.java b/java/com/android/dialer/contactsfragment/FastScroller.java
index 2a86a3bb6..2bd07ac5d 100644
--- a/java/com/android/dialer/contactsfragment/FastScroller.java
+++ b/java/com/android/dialer/contactsfragment/FastScroller.java
@@ -81,8 +81,13 @@ public class FastScroller extends RelativeLayout {
container.setVisibility(INVISIBLE);
scrollBar.setSelected(false);
return true;
+ default:
+ return super.onTouchEvent(event);
}
- return super.onTouchEvent(event);
+ }
+
+ public boolean isDragStarted() {
+ return dragStarted;
}
private void setRecyclerViewPosition(float y) {