summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/contactsfragment/ContactsFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/contactsfragment/ContactsFragment.java')
-rw-r--r--java/com/android/dialer/contactsfragment/ContactsFragment.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/java/com/android/dialer/contactsfragment/ContactsFragment.java b/java/com/android/dialer/contactsfragment/ContactsFragment.java
index 7d2097692..6aa91575f 100644
--- a/java/com/android/dialer/contactsfragment/ContactsFragment.java
+++ b/java/com/android/dialer/contactsfragment/ContactsFragment.java
@@ -38,6 +38,7 @@ import android.widget.TextView;
import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.preference.ContactsPreferences.ChangeListener;
import com.android.dialer.common.Assert;
+import com.android.dialer.common.FragmentUtils;
import com.android.dialer.common.LogUtil;
import com.android.dialer.performancereport.PerformanceReport;
import com.android.dialer.util.DialerUtils;
@@ -90,6 +91,11 @@ public class ContactsFragment extends Fragment
private @Header int header;
private @ClickAction int clickAction;
+ /** Listener for contacts list scroll state. */
+ public interface OnContactsListScrolledListener {
+ void onContactsListScrolled(int scrollState);
+ }
+
/**
* Used to get a configured instance of ContactsFragment.
*
@@ -239,6 +245,9 @@ public class ContactsFragment extends Fragment
}
String anchoredHeaderString = adapter.getHeaderString(firstCompletelyVisible);
+ FragmentUtils.getParentUnsafe(this, OnContactsListScrolledListener.class)
+ .onContactsListScrolled(recyclerView.getScrollState());
+
// 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.
// To overcome this, we refresh the headers to ensure they are correct.