Loading core/java/android/companion/ICompanionDeviceDiscoveryService.aidl +1 −2 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package android.companion; import android.companion.Association; import android.companion.AssociationRequest; import android.companion.IFindDeviceCallback; import com.android.internal.infra.AndroidFuture; Loading @@ -28,5 +27,5 @@ oneway interface ICompanionDeviceDiscoveryService { in AssociationRequest request, in String callingPackage, in IFindDeviceCallback findCallback, in AndroidFuture<Association> serviceCallback); in AndroidFuture<String> serviceCallback); } packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java +3 −6 Original line number Diff line number Diff line Loading @@ -38,7 +38,6 @@ import android.bluetooth.le.ScanCallback; import android.bluetooth.le.ScanFilter; import android.bluetooth.le.ScanResult; import android.bluetooth.le.ScanSettings; import android.companion.Association; import android.companion.AssociationRequest; import android.companion.BluetoothDeviceFilter; import android.companion.BluetoothLeDeviceFilter; Loading Loading @@ -95,7 +94,7 @@ public class CompanionDeviceDiscoveryService extends Service { DeviceFilterPair mSelectedDevice; IFindDeviceCallback mFindCallback; AndroidFuture<Association> mServiceCallback; AndroidFuture<String> mServiceCallback; boolean mIsScanning = false; @Nullable CompanionDeviceActivity mActivity = null; Loading @@ -106,7 +105,7 @@ public class CompanionDeviceDiscoveryService extends Service { public void startDiscovery(AssociationRequest request, String callingPackage, IFindDeviceCallback findCallback, AndroidFuture serviceCallback) { AndroidFuture<String> serviceCallback) { Log.i(LOG_TAG, "startDiscovery() called with: filter = [" + request + "], findCallback = [" + findCallback + "]" Loading Loading @@ -320,9 +319,7 @@ public class CompanionDeviceDiscoveryService extends Service { if (callingPackage == null || deviceAddress == null) { return; } mServiceCallback.complete(new Association( getUserId(), deviceAddress, callingPackage, mRequest.getDeviceProfile(), false, System.currentTimeMillis())); mServiceCallback.complete(deviceAddress); } void onCancel() { Loading services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +7 −4 Original line number Diff line number Diff line Loading @@ -208,7 +208,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind private ScanCallback mBleScanCallback = new BleScanCallback(); private AssociationRequest mRequest; private String mCallingPackage; private AndroidFuture<Association> mOngoingDeviceDiscovery; private AndroidFuture<?> mOngoingDeviceDiscovery; private PermissionControllerManager mPermissionControllerManager; private BluetoothDeviceConnectedListener mBluetoothDeviceConnectedListener = Loading Loading @@ -383,7 +383,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind Slog.d(LOG_TAG, "cleanup(); discovery = " + mOngoingDeviceDiscovery + ", request = " + mRequest); synchronized (mLock) { AndroidFuture<Association> ongoingDeviceDiscovery = mOngoingDeviceDiscovery; AndroidFuture<?> ongoingDeviceDiscovery = mOngoingDeviceDiscovery; if (ongoingDeviceDiscovery != null && !ongoingDeviceDiscovery.isDone()) { ongoingDeviceDiscovery.cancel(true); } Loading Loading @@ -458,13 +458,16 @@ public class CompanionDeviceManagerService extends SystemService implements Bind return mServiceConnectors.forUser(userId).postAsync(service -> { Slog.d(LOG_TAG, "Connected to CDM service; starting discovery for " + request); AndroidFuture<Association> future = new AndroidFuture<>(); AndroidFuture<String> future = new AndroidFuture<>(); service.startDiscovery(request, callingPackage, callback, future); return future; }).cancelTimeout(); }, FgThread.getExecutor()).whenComplete(uncheckExceptions((association, err) -> { }, FgThread.getExecutor()).whenComplete(uncheckExceptions((deviceAddress, err) -> { if (err == null) { Association association = new Association(userId, deviceAddress, callingPackage, mRequest.getDeviceProfile(), false, System.currentTimeMillis()); addAssociation(association, userId); } else { Slog.e(LOG_TAG, "Failed to discover device(s)", err); Loading Loading
core/java/android/companion/ICompanionDeviceDiscoveryService.aidl +1 −2 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package android.companion; import android.companion.Association; import android.companion.AssociationRequest; import android.companion.IFindDeviceCallback; import com.android.internal.infra.AndroidFuture; Loading @@ -28,5 +27,5 @@ oneway interface ICompanionDeviceDiscoveryService { in AssociationRequest request, in String callingPackage, in IFindDeviceCallback findCallback, in AndroidFuture<Association> serviceCallback); in AndroidFuture<String> serviceCallback); }
packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java +3 −6 Original line number Diff line number Diff line Loading @@ -38,7 +38,6 @@ import android.bluetooth.le.ScanCallback; import android.bluetooth.le.ScanFilter; import android.bluetooth.le.ScanResult; import android.bluetooth.le.ScanSettings; import android.companion.Association; import android.companion.AssociationRequest; import android.companion.BluetoothDeviceFilter; import android.companion.BluetoothLeDeviceFilter; Loading Loading @@ -95,7 +94,7 @@ public class CompanionDeviceDiscoveryService extends Service { DeviceFilterPair mSelectedDevice; IFindDeviceCallback mFindCallback; AndroidFuture<Association> mServiceCallback; AndroidFuture<String> mServiceCallback; boolean mIsScanning = false; @Nullable CompanionDeviceActivity mActivity = null; Loading @@ -106,7 +105,7 @@ public class CompanionDeviceDiscoveryService extends Service { public void startDiscovery(AssociationRequest request, String callingPackage, IFindDeviceCallback findCallback, AndroidFuture serviceCallback) { AndroidFuture<String> serviceCallback) { Log.i(LOG_TAG, "startDiscovery() called with: filter = [" + request + "], findCallback = [" + findCallback + "]" Loading Loading @@ -320,9 +319,7 @@ public class CompanionDeviceDiscoveryService extends Service { if (callingPackage == null || deviceAddress == null) { return; } mServiceCallback.complete(new Association( getUserId(), deviceAddress, callingPackage, mRequest.getDeviceProfile(), false, System.currentTimeMillis())); mServiceCallback.complete(deviceAddress); } void onCancel() { Loading
services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +7 −4 Original line number Diff line number Diff line Loading @@ -208,7 +208,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind private ScanCallback mBleScanCallback = new BleScanCallback(); private AssociationRequest mRequest; private String mCallingPackage; private AndroidFuture<Association> mOngoingDeviceDiscovery; private AndroidFuture<?> mOngoingDeviceDiscovery; private PermissionControllerManager mPermissionControllerManager; private BluetoothDeviceConnectedListener mBluetoothDeviceConnectedListener = Loading Loading @@ -383,7 +383,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind Slog.d(LOG_TAG, "cleanup(); discovery = " + mOngoingDeviceDiscovery + ", request = " + mRequest); synchronized (mLock) { AndroidFuture<Association> ongoingDeviceDiscovery = mOngoingDeviceDiscovery; AndroidFuture<?> ongoingDeviceDiscovery = mOngoingDeviceDiscovery; if (ongoingDeviceDiscovery != null && !ongoingDeviceDiscovery.isDone()) { ongoingDeviceDiscovery.cancel(true); } Loading Loading @@ -458,13 +458,16 @@ public class CompanionDeviceManagerService extends SystemService implements Bind return mServiceConnectors.forUser(userId).postAsync(service -> { Slog.d(LOG_TAG, "Connected to CDM service; starting discovery for " + request); AndroidFuture<Association> future = new AndroidFuture<>(); AndroidFuture<String> future = new AndroidFuture<>(); service.startDiscovery(request, callingPackage, callback, future); return future; }).cancelTimeout(); }, FgThread.getExecutor()).whenComplete(uncheckExceptions((association, err) -> { }, FgThread.getExecutor()).whenComplete(uncheckExceptions((deviceAddress, err) -> { if (err == null) { Association association = new Association(userId, deviceAddress, callingPackage, mRequest.getDeviceProfile(), false, System.currentTimeMillis()); addAssociation(association, userId); } else { Slog.e(LOG_TAG, "Failed to discover device(s)", err); Loading