From b429213e00c1db87d762fa9aede4d2597885c677 Mon Sep 17 00:00:00 2001 From: tmfang Date: Mon, 14 Jan 2019 16:47:11 +0800 Subject: [PATCH] Fix crash on Storage and Privacy page The implementation in PreferenceGroup is changed, contentEquals doesn't accept null value. So, we won't call findPreference when key of controller is null. Test: robotest, maunal test Fixes: 122805831 Change-Id: Ia6df5c536ca5a32448f66b5308e7ec2334f1fe7b (cherry picked from commit 3314cd05d5b97368e7c8f7ea7470f7321fbcdf95) --- src/com/android/settings/dashboard/DashboardFragment.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java index 11858a79b6c..f8740799acc 100644 --- a/src/com/android/settings/dashboard/DashboardFragment.java +++ b/src/com/android/settings/dashboard/DashboardFragment.java @@ -369,6 +369,11 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment mPreferenceControllers.values()) { for (AbstractPreferenceController controller : controllerList) { final String key = controller.getPreferenceKey(); + if(TextUtils.isEmpty(key)) { + Log.d(TAG, String.format("Preference key is %s in Controller %s", + key, controller.getClass().getSimpleName())); + continue; + } final Preference preference = screen.findPreference(key); if (preference != null) { preference.setVisible(visible && controller.isAvailable());