Fix potential NPE with Preference highlighting
- there are some cases where the ListView adapter is null
Change-Id: I9dcd171f57d9ca7b8032d890f5a18c3a01fd38cf
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 55f4aa5..e27c9ed 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -138,14 +138,16 @@
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;
+ }
}
}
}