From fb2affac5f624e570497f63882461166924981d9 Mon Sep 17 00:00:00 2001 From: Schneider Victor-tulias Date: Fri, 26 May 2023 15:09:41 -0700 Subject: [PATCH] Fix flaky null pointer in LauncherWidgetHolder - LauncherWidgetHolder.startListening is called before Launcher.setupView, so it's possible for getWorkspace() to be called as part of the appWidgetRemovedCallback. Reordered these calls to fix this null pointer Flag: not needed Fixes: 283850341 Test: Screenshot tests Change-Id: Ied1f23647721fc4199eab2a5a79def1e306b00f3 --- src/com/android/launcher3/Launcher.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 0b75c4509e..28f378d128 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -518,11 +518,12 @@ public class Launcher extends StatefulActivity // TODO: move the SearchConfig to SearchState when new LauncherState is created. mBaseSearchConfig = new BaseSearchConfig(); + setupViews(); + mAppWidgetManager = new WidgetManagerHelper(this); mAppWidgetHolder = createAppWidgetHolder(); mAppWidgetHolder.startListening(); - setupViews(); mPopupDataProvider = new PopupDataProvider(this::updateNotificationDots); boolean internalStateHandled = ACTIVITY_TRACKER.handleCreate(this);