diff options
Diffstat (limited to 'java/com/android/dialer/contactsfragment/ContactsFragment.java')
-rw-r--r-- | java/com/android/dialer/contactsfragment/ContactsFragment.java | 9 |
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. |