diff options
author | Eugene Susla <eugenesusla@google.com> | 2019-10-25 13:30:50 -0700 |
---|---|---|
committer | Eugene Susla <eugenesusla@google.com> | 2019-10-30 18:08:00 +0000 |
commit | e62958cb98299e43dfcb979527d330c32c9b8258 (patch) | |
tree | b8b1afe2a481dc23bd28218b5802547c8ee00de2 /services/companion | |
parent | 4a0b1750ef697bb4f329a3beffe88bf46e1e6385 (diff) |
Add CDM system api to check for association presence
Per agreement with wifi team, wifi stack will call into CDM when wifi
connection is requested, treating CDM record similarly to the previously
approved networks records, i.e. skipping UI when association exists.
Test: atest android.os.cts.CompanionDeviceManagerTest
Fixes: 143572863
Change-Id: I28b44076e594fb9357b5a543176d285414ef06f8
Diffstat (limited to 'services/companion')
-rw-r--r-- | services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index 067becbf0c52..8f1e1568ead6 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java @@ -335,6 +335,16 @@ public class CompanionDeviceManagerService extends SystemService implements Bind return new ComponentNameSet(setting).contains(component); } + @Override + public boolean isDeviceAssociated(String packageName, String macAddress, int userId) { + getContext().enforceCallingOrSelfPermission( + android.Manifest.permission.MANAGE_COMPANION_DEVICES, "isDeviceAssociated"); + + return CollectionUtils.any( + readAllAssociations(userId, packageName), + a -> Objects.equals(a.deviceAddress, macAddress)); + } + private void checkCanCallNotificationApi(String callingPackage) throws RemoteException { checkCallerIsSystemOr(callingPackage); int userId = getCallingUserId(); |