diff options
| author | Rohit Yengisetty <rohit@cyngn.com> | 2016-04-21 16:07:31 -0700 |
|---|---|---|
| committer | Rohit Yengisetty <rohit@cyngn.com> | 2016-04-21 16:07:31 -0700 |
| commit | 416100f010119e244d8cd2aeeffe74821e3d1acc (patch) | |
| tree | 33c8e4f1e9f5597d25513e322ce74069e36fa08f /src | |
| parent | 9f9dfa514ababbf5ba76ad17018bdbc15123c2c3 (diff) | |
| download | android_packages_apps_Dialer-416100f010119e244d8cd2aeeffe74821e3d1acc.tar.gz android_packages_apps_Dialer-416100f010119e244d8cd2aeeffe74821e3d1acc.tar.bz2 android_packages_apps_Dialer-416100f010119e244d8cd2aeeffe74821e3d1acc.zip | |
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/com/android/dialer/settings/LookupSettingsFragment.java | 5 |
1 files changed, 5 insertions, 0 deletions
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) { |
