From dd5a3ff6e06e765f1582179e5dfcd29396a81698 Mon Sep 17 00:00:00 2001 From: Raphael Kim Date: Fri, 14 Oct 2022 10:43:35 -0700 Subject: [PATCH] Ignore scheduled onDeviceGone call on simulated device if it is already no longer present. Bug: 259286481 Bug: 253637009 Test: atest CtsCompanionDeviceManagerCoreTestCases atest CtsCompanionDeviceManagerUiAutomationTestCases Change-Id: Ia7f5eabde8879ff4f6bc5b5cc19455bbd4164ac9 Merged-In: Ia7f5eabde8879ff4f6bc5b5cc19455bbd4164ac9 (cherry picked from commit bfbf0e4b3b32f8e672a306d19bd83072c6ee0bee) --- .../companion/presence/CompanionDevicePresenceMonitor.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/companion/java/com/android/server/companion/presence/CompanionDevicePresenceMonitor.java b/services/companion/java/com/android/server/companion/presence/CompanionDevicePresenceMonitor.java index 0e4870af99307..a1e734dead777 100644 --- a/services/companion/java/com/android/server/companion/presence/CompanionDevicePresenceMonitor.java +++ b/services/companion/java/com/android/server/companion/presence/CompanionDevicePresenceMonitor.java @@ -363,7 +363,9 @@ public class CompanionDevicePresenceMonitor implements AssociationStore.OnChange @Override public void handleMessage(@NonNull Message msg) { final int associationId = msg.what; - onDeviceGone(mSimulated, associationId, /* sourceLoggingTag */ "simulated"); + if (mSimulated.contains(associationId)) { + onDeviceGone(mSimulated, associationId, /* sourceLoggingTag */ "simulated"); + } } } }