diff options
author | 2025-03-18 13:23:12 -0700 | |
---|---|---|
committer | 2025-03-18 13:23:12 -0700 | |
commit | 91a790754b24e8b44090498cd930fc74a79973a9 (patch) | |
tree | 2e2c63844c642fcabec2142f37427af81bface25 /quickstep/src | |
parent | 1588bb1a577facceaec0b0b4680646cdcf6b4879 (diff) | |
parent | ff41a8bf66fb2ee763747bd7c941106f8d25f990 (diff) |
Merge "Only accessing mListeningHolders on main thread" into main
Diffstat (limited to 'quickstep/src')
-rw-r--r-- | quickstep/src/com/android/launcher3/uioverrides/QuickstepWidgetHolder.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepWidgetHolder.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepWidgetHolder.java index 9970a7dcf8..c7eedb0a1d 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepWidgetHolder.java +++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepWidgetHolder.java @@ -30,7 +30,6 @@ import android.widget.RemoteViews; import androidx.annotation.AnyThread; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.annotation.UiThread; import com.android.launcher3.util.IntSet; import com.android.launcher3.util.SafeCloseable; @@ -167,7 +166,7 @@ public final class QuickstepWidgetHolder extends LauncherWidgetHolder { }; QuickstepWidgetHolderListener holderListener = getHolderListener(appWidgetId); holderListener.addHolder(handler); - return () -> holderListener.mListeningHolders.remove(handler); + return () -> holderListener.removeHolder(handler); } /** @@ -211,7 +210,7 @@ public final class QuickstepWidgetHolder extends LauncherWidgetHolder { public void clearViews() { mViews.clear(); for (int i = sListeners.size() - 1; i >= 0; i--) { - sListeners.valueAt(i).mListeningHolders.remove(mUpdateHandler); + sListeners.valueAt(i).removeHolder(mUpdateHandler); } } @@ -238,13 +237,15 @@ public final class QuickstepWidgetHolder extends LauncherWidgetHolder { mWidgetId = widgetId; } - @UiThread - @Nullable public RemoteViews addHolder(@NonNull UpdateHandler holder) { - mListeningHolders.add(holder); + MAIN_EXECUTOR.execute(() -> mListeningHolders.add(holder)); return mRemoteViews; } + public void removeHolder(@NonNull UpdateHandler holder) { + MAIN_EXECUTOR.execute(() -> mListeningHolders.remove(holder)); + } + @Override @AnyThread public void onUpdateProviderInfo(@Nullable AppWidgetProviderInfo info) { |