Loading core/java/android/companion/ICompanionDeviceDiscoveryService.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -29,4 +29,6 @@ oneway interface ICompanionDeviceDiscoveryService { in String callingPackage, in IFindDeviceCallback findCallback, in AndroidFuture<Association> serviceCallback); void onAssociationCreated(); } packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java +7 −1 Original line number Diff line number Diff line Loading @@ -254,8 +254,14 @@ public class CompanionDeviceActivity extends Activity { Log.i(LOG_TAG, "onDeviceConfirmed(selectedDevice = " + selectedDevice + ")"); getService().onDeviceSelected( getCallingPackage(), getDeviceMacAddress(selectedDevice.device)); } void setResultAndFinish() { Log.i(LOG_TAG, "setResultAndFinish(selectedDevice = " + getService().mSelectedDevice.device + ")"); setResult(RESULT_OK, new Intent().putExtra(CompanionDeviceManager.EXTRA_DEVICE, selectedDevice.device)); new Intent().putExtra( CompanionDeviceManager.EXTRA_DEVICE, getService().mSelectedDevice.device)); finish(); } Loading packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java +10 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,11 @@ public class CompanionDeviceDiscoveryService extends Service { CompanionDeviceDiscoveryService::startDiscovery, CompanionDeviceDiscoveryService.this, request)); } @Override public void onAssociationCreated() { Handler.getMain().post(CompanionDeviceDiscoveryService.this::onAssociationCreated); } }; private ScanCallback mBLEScanCallback; Loading Loading @@ -222,6 +227,11 @@ public class CompanionDeviceDiscoveryService extends Service { SCAN_TIMEOUT); } @MainThread private void onAssociationCreated() { mActivity.setResultAndFinish(); } private boolean shouldScan(List<? extends DeviceFilter> mediumSpecificFilters) { return !isEmpty(mediumSpecificFilters) || isEmpty(mFilters); } Loading services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +3 −0 Original line number Diff line number Diff line Loading @@ -457,6 +457,9 @@ public class CompanionDeviceManagerService extends SystemService implements Bind }, FgThread.getExecutor()).whenComplete(uncheckExceptions((association, err) -> { if (err == null) { addAssociation(association, userId); mServiceConnectors.forUser(userId).post(service -> { service.onAssociationCreated(); }); } else { Slog.e(LOG_TAG, "Failed to discover device(s)", err); callback.onFailure("No devices found: " + err.getMessage()); Loading Loading
core/java/android/companion/ICompanionDeviceDiscoveryService.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -29,4 +29,6 @@ oneway interface ICompanionDeviceDiscoveryService { in String callingPackage, in IFindDeviceCallback findCallback, in AndroidFuture<Association> serviceCallback); void onAssociationCreated(); }
packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java +7 −1 Original line number Diff line number Diff line Loading @@ -254,8 +254,14 @@ public class CompanionDeviceActivity extends Activity { Log.i(LOG_TAG, "onDeviceConfirmed(selectedDevice = " + selectedDevice + ")"); getService().onDeviceSelected( getCallingPackage(), getDeviceMacAddress(selectedDevice.device)); } void setResultAndFinish() { Log.i(LOG_TAG, "setResultAndFinish(selectedDevice = " + getService().mSelectedDevice.device + ")"); setResult(RESULT_OK, new Intent().putExtra(CompanionDeviceManager.EXTRA_DEVICE, selectedDevice.device)); new Intent().putExtra( CompanionDeviceManager.EXTRA_DEVICE, getService().mSelectedDevice.device)); finish(); } Loading
packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceDiscoveryService.java +10 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,11 @@ public class CompanionDeviceDiscoveryService extends Service { CompanionDeviceDiscoveryService::startDiscovery, CompanionDeviceDiscoveryService.this, request)); } @Override public void onAssociationCreated() { Handler.getMain().post(CompanionDeviceDiscoveryService.this::onAssociationCreated); } }; private ScanCallback mBLEScanCallback; Loading Loading @@ -222,6 +227,11 @@ public class CompanionDeviceDiscoveryService extends Service { SCAN_TIMEOUT); } @MainThread private void onAssociationCreated() { mActivity.setResultAndFinish(); } private boolean shouldScan(List<? extends DeviceFilter> mediumSpecificFilters) { return !isEmpty(mediumSpecificFilters) || isEmpty(mFilters); } Loading
services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +3 −0 Original line number Diff line number Diff line Loading @@ -457,6 +457,9 @@ public class CompanionDeviceManagerService extends SystemService implements Bind }, FgThread.getExecutor()).whenComplete(uncheckExceptions((association, err) -> { if (err == null) { addAssociation(association, userId); mServiceConnectors.forUser(userId).post(service -> { service.onAssociationCreated(); }); } else { Slog.e(LOG_TAG, "Failed to discover device(s)", err); callback.onFailure("No devices found: " + err.getMessage()); Loading