No longer scrolling list if selection already visible
Change-Id: I2829e717c2605f6bd8d33d0c07aad50a1313250f
diff --git a/src/com/android/contacts/widget/ListViewUtils.java b/src/com/android/contacts/widget/ListViewUtils.java
index f5af63b..cd77d22 100644
--- a/src/com/android/contacts/widget/ListViewUtils.java
+++ b/src/com/android/contacts/widget/ListViewUtils.java
@@ -37,6 +37,12 @@
*/
public static void requestPositionToScreen(
final ListView listView, final int position, boolean smoothScroll) {
+ int firstPosition = listView.getFirstVisiblePosition() + 1;
+ int lastPosition = listView.getLastVisiblePosition();
+ if (position >= firstPosition && position <= lastPosition) {
+ return; // Already on screen
+ }
+
if (!smoothScroll) {
final int offset = (int) (listView.getHeight() * PREFERRED_SELECTION_OFFSET_FROM_TOP);
listView.setSelectionFromTop(position, offset);