From 5035ec6944d907864977c19f356a11d39c41e0c5 Mon Sep 17 00:00:00 2001 From: Fabrice Di Meglio Date: Wed, 16 Apr 2014 18:26:19 -0700 Subject: [PATCH] Fix potential NPE with Preference highlighting - there are some cases where the ListView adapter is null Change-Id: I9dcd171f57d9ca7b8032d890f5a18c3a01fd38cf --- .../settings/SettingsPreferenceFragment.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java index 55f4aa50a59..e27c9ed00db 100644 --- a/src/com/android/settings/SettingsPreferenceFragment.java +++ b/src/com/android/settings/SettingsPreferenceFragment.java @@ -138,14 +138,16 @@ public class SettingsPreferenceFragment extends PreferenceFragment implements Di private int findPositionFromKey(String key) { final ListAdapter adapter = getListView().getAdapter(); - final int count = adapter.getCount(); - for (int n = 0; n < count; n++) { - Object item = adapter.getItem(n); - if (item instanceof Preference) { - Preference preference = (Preference) item; - final String preferenceKey = preference.getKey(); - if (preferenceKey != null && preferenceKey.equals(key)) { - return n; + if (adapter != null) { + final int count = adapter.getCount(); + for (int n = 0; n < count; n++) { + Object item = adapter.getItem(n); + if (item instanceof Preference) { + Preference preference = (Preference) item; + final String preferenceKey = preference.getKey(); + if (preferenceKey != null && preferenceKey.equals(key)) { + return n; + } } } }