From 3b12be137d1686c45cdd084a714df2f81ebba9b0 Mon Sep 17 00:00:00 2001 From: Shen Lin Date: Mon, 17 Oct 2022 09:43:24 +0800 Subject: [PATCH] Fix potential NPE when preference is null findPreference is a nullable method so we need a null-check before calling its method. Bug: 253904634 Test: atest Change-Id: I497ba76a61b19bab9602849f1aef725829193ff2 --- .../settingslib/core/AbstractPreferenceController.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/core/AbstractPreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/core/AbstractPreferenceController.java index 988055e7d8db1..9567a3b38896e 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/AbstractPreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/AbstractPreferenceController.java @@ -41,8 +41,10 @@ public abstract class AbstractPreferenceController { setVisible(screen, prefKey, true /* visible */); if (this instanceof Preference.OnPreferenceChangeListener) { final Preference preference = screen.findPreference(prefKey); - preference.setOnPreferenceChangeListener( - (Preference.OnPreferenceChangeListener) this); + if (preference != null) { + preference.setOnPreferenceChangeListener( + (Preference.OnPreferenceChangeListener) this); + } } } else { setVisible(screen, prefKey, false /* visible */);