From cb4c2a66cdb0e7d6b9a1235d6421bec39976f5a2 Mon Sep 17 00:00:00 2001 From: Vadim Caen Date: Mon, 21 Feb 2022 22:01:59 +0100 Subject: [PATCH] Fix callbacks not being unregistered from ProxyDispatcher Test: Manual Bug: N/A Change-Id: I1caae0fe212ca7915d6d689183e615e9c421dbfa --- core/java/android/window/ProxyOnBackInvokedDispatcher.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/java/android/window/ProxyOnBackInvokedDispatcher.java b/core/java/android/window/ProxyOnBackInvokedDispatcher.java index 4de977a91d05b..cdbd0789a9c9b 100644 --- a/core/java/android/window/ProxyOnBackInvokedDispatcher.java +++ b/core/java/android/window/ProxyOnBackInvokedDispatcher.java @@ -81,6 +81,10 @@ public class ProxyOnBackInvokedDispatcher implements OnBackInvokedDispatcher { } synchronized (mLock) { mCallbacks.removeIf((p) -> p.first.equals(callback)); + if (mActualDispatcherOwner != null) { + mActualDispatcherOwner.getOnBackInvokedDispatcher().unregisterOnBackInvokedCallback( + callback); + } } }