Fix CDM association filtering
Null filter should match all associations
Bug: 181344542
Test: presubmit
Change-Id: Ib5c8e78177657e55113e0f9cca28b53d2fb5c002
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
index 4b56845..92af080 100644
--- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
+++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
@@ -963,7 +963,8 @@
private Set<Association> getAllAssociations(int userId, @Nullable String packageFilter) {
return CollectionUtils.filter(
getAllAssociations(userId),
- a -> Objects.equals(packageFilter, a.getPackageName()));
+ // Null filter == get all associations
+ a -> packageFilter == null || Objects.equals(packageFilter, a.getPackageName()));
}
private Set<Association> getAllAssociations() {
@@ -983,8 +984,10 @@
int userId, @Nullable String packageFilter, @Nullable String addressFilter) {
return CollectionUtils.filter(
getAllAssociations(userId),
- a -> Objects.equals(packageFilter, a.getPackageName())
- && Objects.equals(addressFilter, a.getDeviceMacAddress()));
+ // Null filter == get all associations
+ a -> (packageFilter == null || Objects.equals(packageFilter, a.getPackageName()))
+ && (addressFilter == null
+ || Objects.equals(addressFilter, a.getDeviceMacAddress())));
}
private Set<Association> readAllAssociations(int userId) {