summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Susla <eugenesusla@google.com>2017-07-13 14:41:32 -0700
committerEugene Susla <eugenesusla@google.com>2017-07-13 14:56:03 -0700
commit38dff3b78a63e2700477afe277d8b7c90776abbc (patch)
tree555bd395f0dd256e6d8a7b83c030a364143725d5
parent5abc58313fd968dc6bd65c1cfbc247a3236cc780 (diff)
[Companion] Close chooser dialog on device tap
Fixes: 63597808 Test: Ensure list selection is now 1-tap Change-Id: If99fc5e5c9b24526ac48dfc1c87659b01e713989
-rw-r--r--packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceChooserActivity.java22
1 files changed, 14 insertions, 8 deletions
diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceChooserActivity.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceChooserActivity.java
index 0cf21d236041..30c1fff5e6ee 100644
--- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceChooserActivity.java
+++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceChooserActivity.java
@@ -55,6 +55,8 @@ public class DeviceChooserActivity extends Activity {
Log.e(LOG_TAG, "About to show UI, but no devices to show");
}
+ mPairButton = findViewById(R.id.button_pair);
+
if (getService().mRequest.isSingleDevice()) {
setContentView(R.layout.device_confirmation);
final DeviceFilterPair selectedDevice = getService().mDevicesFound.get(0);
@@ -62,9 +64,12 @@ public class DeviceChooserActivity extends Activity {
R.string.confirmation_title,
getCallingAppName(),
selectedDevice.getDisplayName()), 0));
+ mPairButton.setOnClickListener(v -> onDeviceConfirmed(getService().mSelectedDevice));
getService().mSelectedDevice = selectedDevice;
+ onSelectionUpdate();
} else {
setContentView(R.layout.device_chooser);
+ mPairButton.setVisibility(View.GONE);
setTitle(Html.fromHtml(getString(R.string.chooser_title, getCallingAppName()), 0));
mDeviceListView = findViewById(R.id.device_list);
final DeviceDiscoveryService.DevicesAdapter adapter = getService().mDevicesAdapter;
@@ -72,16 +77,12 @@ public class DeviceChooserActivity extends Activity {
adapter.registerDataSetObserver(new DataSetObserver() {
@Override
public void onChanged() {
- updatePairButtonEnabled();
+ onSelectionUpdate();
}
});
mDeviceListView.addFooterView(getProgressBar(), null, false);
}
- mPairButton = findViewById(R.id.button_pair);
- mPairButton.setOnClickListener(v -> onPairTapped(getService().mSelectedDevice));
- updatePairButtonEnabled();
-
mCancelButton = findViewById(R.id.button_cancel);
mCancelButton.setOnClickListener(v -> cancel());
}
@@ -134,15 +135,20 @@ public class DeviceChooserActivity extends Activity {
return r.getDimensionPixelSize(R.dimen.padding);
}
- private void updatePairButtonEnabled() {
- mPairButton.setEnabled(getService().mSelectedDevice != null);
+ private void onSelectionUpdate() {
+ DeviceFilterPair selectedDevice = getService().mSelectedDevice;
+ if (mPairButton.getVisibility() != View.VISIBLE && selectedDevice != null) {
+ onDeviceConfirmed(selectedDevice);
+ } else {
+ mPairButton.setEnabled(selectedDevice != null);
+ }
}
private DeviceDiscoveryService getService() {
return DeviceDiscoveryService.sInstance;
}
- protected void onPairTapped(DeviceFilterPair selectedDevice) {
+ protected void onDeviceConfirmed(DeviceFilterPair selectedDevice) {
getService().onDeviceSelected(
getCallingPackage(), getDeviceMacAddress(selectedDevice.device));
setResult(RESULT_OK,