From 416100f010119e244d8cd2aeeffe74821e3d1acc Mon Sep 17 00:00:00 2001 From: Rohit Yengisetty Date: Thu, 21 Apr 2016 16:07:31 -0700 Subject: Fix crash in Settings when clicking on Phone Number Lookup List preferences in Phone Number Lookup can have zero entries. Disable those preferences. Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0 at android.preference.ListPreference.setValueIndex(ListPreference.java:199) at com.android.dialer.settings.LookupSettingsFragment.restoreLookupProvider(LookupSettingsFragment.java:160) at com.android.dialer.settings.LookupSettingsFragment.restoreLookupProviders(LookupSettingsFragment.java:151) at com.android.dialer.settings.LookupSettingsFragment.onResume(LookupSettingsFragment.java:83) Change-Id: I21eda536eaecb569716927fd47db3408a191a91c Issue-Id: CYNGNOS-2547 --- src/com/android/dialer/settings/LookupSettingsFragment.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/com/android/dialer/settings/LookupSettingsFragment.java b/src/com/android/dialer/settings/LookupSettingsFragment.java index 1621c923a..74861b2f8 100644 --- a/src/com/android/dialer/settings/LookupSettingsFragment.java +++ b/src/com/android/dialer/settings/LookupSettingsFragment.java @@ -154,6 +154,11 @@ public class LookupSettingsFragment extends PreferenceFragment } private void restoreLookupProvider(ListPreference pref, String key) { + if (pref.getEntries().length < 1) { + pref.setEnabled(false); + return; + } + final ContentResolver cr = getActivity().getContentResolver(); String provider = CMSettings.System.getString(cr, key); if (provider == null) { -- cgit v1.2.3