From 1b6759795650def029481f43baca6d0945f826b1 Mon Sep 17 00:00:00 2001 From: Evan Chen Date: Mon, 9 May 2022 17:21:38 -0700 Subject: [PATCH] Clear liveData when startForRequest We should not clear the liveData in onDestory. Because the device list will be empty when finish the discovery and the UI will show empty device list. Instead, we need to clear/reset the livedata when startForRequest, so we update the devicelist before the UI pop up. Bug: 211836059 Test: atest CtsCompanionDeviceManagerCoreTestCases atest CtsCompanionDeviceManagerUiAutomationTestCases atest CtsOsTestCases:CompanionDeviceManagerTest Change-Id: I78f3137f5fa1329b52138d221ba7abc38c9f563e --- .../CompanionDeviceDiscoveryService.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java index f333b86d4d525..fc5ff085139cc 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java @@ -123,6 +123,7 @@ public class CompanionDeviceDiscoveryService extends Service { intent.setAction(ACTION_START_DISCOVERY); intent.putExtra(EXTRA_ASSOCIATION_REQUEST, associationRequest); sStateLiveData.setValue(DiscoveryState.STARTING); + sScanResultsLiveData.setValue(Collections.emptyList()); context.startService(intent); } @@ -173,7 +174,6 @@ public class CompanionDeviceDiscoveryService extends Service { @Override public void onDestroy() { - sScanResultsLiveData.setValue(Collections.emptyList()); super.onDestroy(); if (DEBUG) Log.d(TAG, "onDestroy()"); } @@ -187,7 +187,6 @@ public class CompanionDeviceDiscoveryService extends Service { mStopAfterFirstMatch = request.isSingleDevice(); mDiscoveryStarted = true; sStateLiveData.setValue(DiscoveryState.DISCOVERY_IN_PROGRESS); - sScanResultsLiveData.setValue(Collections.emptyList()); final List> allFilters = request.getDeviceFilters(); final List btFilters =