summaryrefslogtreecommitdiff
path: root/packages/CompanionDeviceManager/src
diff options
context:
space:
mode:
author Evan Chen <evanxinchen@google.com> 2024-06-18 23:47:07 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-06-18 23:47:07 +0000
commitacb871e6327247d3ae56950471c4e71aa365aaac (patch)
treee98093a61dbb523bf1e626da057424c1d09a14ca /packages/CompanionDeviceManager/src
parent12e9cc95423657f79ac2885ef35a8667159f2c7d (diff)
parent98cbbae537632142d0b53c290014268c365de2c0 (diff)
Merge "Fix CDM discovery timeout" into main
Diffstat (limited to 'packages/CompanionDeviceManager/src')
-rw-r--r--packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java10
-rw-r--r--packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java7
2 files changed, 12 insertions, 5 deletions
diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java
index 864de87b918d..5770c5104dee 100644
--- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java
+++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java
@@ -27,6 +27,8 @@ import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTE
import static com.android.companiondevicemanager.CompanionDeviceDiscoveryService.DiscoveryState;
import static com.android.companiondevicemanager.CompanionDeviceDiscoveryService.DiscoveryState.FINISHED_TIMEOUT;
+import static com.android.companiondevicemanager.CompanionDeviceDiscoveryService.LOCK;
+import static com.android.companiondevicemanager.CompanionDeviceDiscoveryService.sDiscoveryStarted;
import static com.android.companiondevicemanager.CompanionDeviceResources.PROFILE_ICONS;
import static com.android.companiondevicemanager.CompanionDeviceResources.PROFILE_NAMES;
import static com.android.companiondevicemanager.CompanionDeviceResources.PROFILE_PERMISSIONS;
@@ -326,8 +328,12 @@ public class CompanionAssociationActivity extends FragmentActivity implements
private void onDiscoveryStateChanged(DiscoveryState newState) {
if (newState == FINISHED_TIMEOUT
&& CompanionDeviceDiscoveryService.getScanResult().getValue().isEmpty()) {
- cancel(/* discoveryTimeOut */ true,
- /* userRejected */ false, /* internalError */ false);
+ synchronized (LOCK) {
+ if (sDiscoveryStarted) {
+ cancel(/* discoveryTimeOut */ true,
+ /* userRejected */ false, /* internalError */ false);
+ }
+ }
}
}
diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java
index 2a8ce87b7bf6..6c1bc4ededce 100644
--- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java
+++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java
@@ -90,9 +90,6 @@ public class CompanionDeviceDiscoveryService extends Service {
new MutableLiveData<>(Collections.emptyList());
private static MutableLiveData<DiscoveryState> sStateLiveData =
new MutableLiveData<>(DiscoveryState.NOT_STARTED);
- private static final Object LOCK = new Object();
- @GuardedBy("LOCK")
- private static boolean sDiscoveryStarted = false;
private BluetoothManager mBtManager;
private BluetoothAdapter mBtAdapter;
@@ -109,6 +106,10 @@ public class CompanionDeviceDiscoveryService extends Service {
private boolean mStopAfterFirstMatch;
+ static final Object LOCK = new Object();
+ @GuardedBy("LOCK")
+ static boolean sDiscoveryStarted = false;
+
/**
* A state enum for devices' discovery.
*/