Loading core/java/android/companion/ICompanionDeviceDiscoveryServiceCallback.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -19,4 +19,5 @@ package android.companion; /** @hide */ interface ICompanionDeviceDiscoveryServiceCallback { oneway void onDeviceSelected(String packageName, int userId, String deviceAddress); oneway void onDeviceSelectionCancel(); } packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceChooserActivity.java +16 −6 Original line number Diff line number Diff line Loading @@ -79,15 +79,25 @@ public class DeviceChooserActivity extends Activity { } mPairButton = findViewById(R.id.button_pair); mPairButton.setOnClickListener((view) -> onPairTapped(getService().mSelectedDevice)); mPairButton.setOnClickListener(v -> onPairTapped(getService().mSelectedDevice)); updatePairButtonEnabled(); mCancelButton = findViewById(R.id.button_cancel); mCancelButton.setOnClickListener((view) -> { mCancelButton.setOnClickListener(v -> cancel()); } private void cancel() { getService().onCancel(); setResult(RESULT_CANCELED); finish(); }); } @Override protected void onPause() { super.onPause(); if (!isFinishing()) { cancel(); } } private CharSequence getCallingAppName() { Loading packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceDiscoveryService.java +8 −2 Original line number Diff line number Diff line Loading @@ -202,8 +202,6 @@ public class DeviceDiscoveryService extends Service { reset(); } else if (DEBUG) Log.i(LOG_TAG, "startDiscovery: duplicate request: " + request); if (!ArrayUtils.isEmpty(mDevicesFound)) { onReadyToShowUI(); } Loading Loading @@ -307,6 +305,14 @@ public class DeviceDiscoveryService extends Service { } } void onCancel() { try { mServiceCallback.onDeviceSelectionCancel(); } catch (RemoteException e) { throw new RuntimeException(e); } } class DevicesAdapter extends ArrayAdapter<DeviceFilterPair> { //TODO wifi icon private Drawable BLUETOOTH_ICON = icon(android.R.drawable.stat_sys_data_bluetooth); Loading services/print/java/com/android/server/print/CompanionDeviceManagerService.java +10 −5 Original line number Diff line number Diff line Loading @@ -135,10 +135,10 @@ public class CompanionDeviceManagerService extends SystemService implements Bind @Override public void binderDied() { Handler.getMain().post(this::handleBinderDied); Handler.getMain().post(this::cleanup); } private void handleBinderDied() { private void cleanup() { mServiceConnection = unbind(mServiceConnection); mFindDeviceCallback = unlinkToDeath(mFindDeviceCallback, this, 0); } Loading Loading @@ -201,7 +201,6 @@ public class CompanionDeviceManagerService extends SystemService implements Bind } } @Override public List<String> getAssociations(String callingPackage) { return CollectionUtils.map( Loading Loading @@ -237,7 +236,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind mFindDeviceCallback.asBinder().linkToDeath( CompanionDeviceManagerService.this, 0); } catch (RemoteException e) { handleBinderDied(); cleanup(); return; } try { Loading Loading @@ -266,10 +265,16 @@ public class CompanionDeviceManagerService extends SystemService implements Bind @Override public void onDeviceSelected(String packageName, int userId, String deviceAddress) { //TODO unbind updateSpecialAccessPermissionForAssociatedPackage(packageName, userId); recordAssociation(packageName, deviceAddress); cleanup(); } @Override public void onDeviceSelectionCancel() { cleanup(); } }; } Loading Loading
core/java/android/companion/ICompanionDeviceDiscoveryServiceCallback.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -19,4 +19,5 @@ package android.companion; /** @hide */ interface ICompanionDeviceDiscoveryServiceCallback { oneway void onDeviceSelected(String packageName, int userId, String deviceAddress); oneway void onDeviceSelectionCancel(); }
packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceChooserActivity.java +16 −6 Original line number Diff line number Diff line Loading @@ -79,15 +79,25 @@ public class DeviceChooserActivity extends Activity { } mPairButton = findViewById(R.id.button_pair); mPairButton.setOnClickListener((view) -> onPairTapped(getService().mSelectedDevice)); mPairButton.setOnClickListener(v -> onPairTapped(getService().mSelectedDevice)); updatePairButtonEnabled(); mCancelButton = findViewById(R.id.button_cancel); mCancelButton.setOnClickListener((view) -> { mCancelButton.setOnClickListener(v -> cancel()); } private void cancel() { getService().onCancel(); setResult(RESULT_CANCELED); finish(); }); } @Override protected void onPause() { super.onPause(); if (!isFinishing()) { cancel(); } } private CharSequence getCallingAppName() { Loading
packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceDiscoveryService.java +8 −2 Original line number Diff line number Diff line Loading @@ -202,8 +202,6 @@ public class DeviceDiscoveryService extends Service { reset(); } else if (DEBUG) Log.i(LOG_TAG, "startDiscovery: duplicate request: " + request); if (!ArrayUtils.isEmpty(mDevicesFound)) { onReadyToShowUI(); } Loading Loading @@ -307,6 +305,14 @@ public class DeviceDiscoveryService extends Service { } } void onCancel() { try { mServiceCallback.onDeviceSelectionCancel(); } catch (RemoteException e) { throw new RuntimeException(e); } } class DevicesAdapter extends ArrayAdapter<DeviceFilterPair> { //TODO wifi icon private Drawable BLUETOOTH_ICON = icon(android.R.drawable.stat_sys_data_bluetooth); Loading
services/print/java/com/android/server/print/CompanionDeviceManagerService.java +10 −5 Original line number Diff line number Diff line Loading @@ -135,10 +135,10 @@ public class CompanionDeviceManagerService extends SystemService implements Bind @Override public void binderDied() { Handler.getMain().post(this::handleBinderDied); Handler.getMain().post(this::cleanup); } private void handleBinderDied() { private void cleanup() { mServiceConnection = unbind(mServiceConnection); mFindDeviceCallback = unlinkToDeath(mFindDeviceCallback, this, 0); } Loading Loading @@ -201,7 +201,6 @@ public class CompanionDeviceManagerService extends SystemService implements Bind } } @Override public List<String> getAssociations(String callingPackage) { return CollectionUtils.map( Loading Loading @@ -237,7 +236,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind mFindDeviceCallback.asBinder().linkToDeath( CompanionDeviceManagerService.this, 0); } catch (RemoteException e) { handleBinderDied(); cleanup(); return; } try { Loading Loading @@ -266,10 +265,16 @@ public class CompanionDeviceManagerService extends SystemService implements Bind @Override public void onDeviceSelected(String packageName, int userId, String deviceAddress) { //TODO unbind updateSpecialAccessPermissionForAssociatedPackage(packageName, userId); recordAssociation(packageName, deviceAddress); cleanup(); } @Override public void onDeviceSelectionCancel() { cleanup(); } }; } Loading