From 2fed4d4256bd2c77b8b6de50579ec2916649f019 Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Mon, 8 Sep 2014 12:40:59 -0700 Subject: [PATCH] Use correct list index for search highlighting BUG: 14974443 Change-Id: Iad3d3efb2449fc61636c221bde92169293bf5356 --- .../settings/SettingsPreferenceFragment.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java index 6cf3330cd46..e87f676df33 100644 --- a/src/com/android/settings/SettingsPreferenceFragment.java +++ b/src/com/android/settings/SettingsPreferenceFragment.java @@ -230,12 +230,15 @@ public class SettingsPreferenceFragment extends PreferenceFragment implements Di listView.postDelayed(new Runnable() { @Override public void run() { - final View v = listView.getChildAt(0); - final int centerX = v.getWidth() / 2; - final int centerY = v.getHeight() / 2; - highlight.setHotspot(centerX, centerY); - v.setPressed(true); - v.setPressed(false); + final int index = position - listView.getFirstVisiblePosition(); + if (index >= 0 && index < listView.getChildCount()) { + final View v = listView.getChildAt(index); + final int centerX = v.getWidth() / 2; + final int centerY = v.getHeight() / 2; + highlight.setHotspot(centerX, centerY); + v.setPressed(true); + v.setPressed(false); + } } }, DELAY_HIGHLIGHT_DURATION_MILLIS); }