Accept new bluetooth device name on enter press.
When physical keyboard is connected, on enter press accept the new name
and dismiss the dialog.
Bug: 319621722
Test: atest BluetoothNameDialogFragmentTest
Flag: NA
Change-Id: Ibc4812ad559d65eb97156d83d2a6124893ffd3a6
diff --git a/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
index 74c39b6..c5b29f3 100644
--- a/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
@@ -132,7 +132,7 @@
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
- if (actionId == EditorInfo.IME_ACTION_DONE) {
+ if (actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_NULL) {
setDeviceName(v.getText().toString());
if (mAlertDialog != null && mAlertDialog.isShowing()) {
mAlertDialog.dismiss();
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java
index c3956d3..376c7ed 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java
@@ -33,6 +33,8 @@
private TestBluetoothNameDialogFragment mBluetoothNameDialogFragment;
private TextView mTextView;
+ private static final String NAME_FOR_TEST = "test_device_name";
+
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
@@ -51,12 +53,24 @@
null)).isTrue();
}
+ @Test
+ public void onEditorAction_ImeNull_setsDeviceName() {
+
+
+ mTextView.setText(NAME_FOR_TEST);
+ assertThat(
+ mBluetoothNameDialogFragment.onEditorAction(mTextView, EditorInfo.IME_NULL,
+ null)).isTrue();
+ assertThat(mBluetoothNameDialogFragment.getDeviceName()).isEqualTo(NAME_FOR_TEST);
+ }
/**
* Test fragment for {@link BluetoothNameDialogFragment} to test common methods
*/
public static class TestBluetoothNameDialogFragment extends BluetoothNameDialogFragment {
+ private String mName;
+
@Override
protected int getDialogTitle() {
return 0;
@@ -64,12 +78,12 @@
@Override
protected String getDeviceName() {
- return null;
+ return mName;
}
@Override
protected void setDeviceName(String deviceName) {
-
+ mName = deviceName;
}
@Override