From 13c63260a35388e45c85832f7c6214e4994fdd62 Mon Sep 17 00:00:00 2001 From: David Liu Date: Mon, 11 Dec 2023 20:58:31 +0000 Subject: [PATCH] fixed NPE while initializing controllers by commenting out the failure one for temporal fix Added @Nullable in parameters of buildPreferenceControllers() to prevent using nullable parameter to functions requires non-nullable. Bug: 315330037 Test: see developer options preferences show/hide based on the controllers isAvailable() Change-Id: If42faea900a2220d9b1f5e38e1befbd5a555e78a --- res/xml/development_settings.xml | 9 +++++---- .../DevelopmentSettingsDashboardFragment.java | 8 +++++--- .../android/settings/search/BaseSearchIndexProvider.java | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml index f0a288181a9..e1ccad8dd00 100644 --- a/res/xml/development_settings.xml +++ b/res/xml/development_settings.xml @@ -727,10 +727,11 @@ android:title="@string/enable_non_resizable_multi_window" android:summary="@string/enable_non_resizable_multi_window_summary" /> - + // TODO(b/315859328): Temporally removed since causing search indexing failure. + + + + buildPreferenceControllers(Context context, - Activity activity, Lifecycle lifecycle, DevelopmentSettingsDashboardFragment fragment, - BluetoothA2dpConfigStore bluetoothA2dpConfigStore) { + @Nullable Activity activity, @Nullable Lifecycle lifecycle, + @Nullable DevelopmentSettingsDashboardFragment fragment, + @Nullable BluetoothA2dpConfigStore bluetoothA2dpConfigStore) { final List controllers = new ArrayList<>(); controllers.add(new MemoryUsagePreferenceController(context)); controllers.add(new BugReportPreferenceController(context)); @@ -735,7 +737,7 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra controllers.add(new OverlaySettingsPreferenceController(context)); controllers.add(new StylusHandwritingPreferenceController(context)); controllers.add(new IngressRateLimitPreferenceController((context))); - controllers.add(new BackAnimationPreferenceController(context, fragment)); + // controllers.add(new BackAnimationPreferenceController(context, fragment)); controllers.add(new PhantomProcessPreferenceController(context)); controllers.add(new ContrastPreferenceController( context, context.getSystemService(UiModeManager.class))); diff --git a/src/com/android/settings/search/BaseSearchIndexProvider.java b/src/com/android/settings/search/BaseSearchIndexProvider.java index 581eb2eb538..d21d983eae6 100644 --- a/src/com/android/settings/search/BaseSearchIndexProvider.java +++ b/src/com/android/settings/search/BaseSearchIndexProvider.java @@ -136,7 +136,7 @@ public class BaseSearchIndexProvider implements Indexable.SearchIndexProvider { try { controllersFromCode = createPreferenceControllers(context); } catch (Exception e) { - Log.w(TAG, "Error initial controller"); + Log.w(TAG, "Error initializing controller in fragment: " + this + ", e: " + e); } final List res = getXmlResourcesToIndex(context, true);