From be555e2dad5cc7b0a01142d7658d9ce5e0c48867 Mon Sep 17 00:00:00 2001 From: jackqdyulei Date: Fri, 8 Dec 2017 12:55:26 -0800 Subject: [PATCH] Add device name preference in pairing page Also refactor the preference controller 1. Extend from BasePreferenceController. 2. pass in the preference key. Then it could be reused in different places with different key. Bug: 69333961 Test: Screenshot | RunSettingsRoboTests Change-Id: I773ca022baa326481045c1659565c9a21111200a --- res/xml/bluetooth_pairing_detail.xml | 4 ++- ...uetoothDeviceNamePreferenceController.java | 25 +++++++++++++------ ...toothDeviceRenamePreferenceController.java | 25 +++++++++++++------ .../bluetooth/BluetoothPairingDetail.java | 11 ++++---- .../settings/bluetooth/BluetoothSettings.java | 5 +++- ...hDeviceRenamePreferenceControllerTest.java | 5 ++-- 6 files changed, 50 insertions(+), 25 deletions(-) diff --git a/res/xml/bluetooth_pairing_detail.xml b/res/xml/bluetooth_pairing_detail.xml index e60da75f8cc..e654a3cfa2b 100644 --- a/res/xml/bluetooth_pairing_detail.xml +++ b/res/xml/bluetooth_pairing_detail.xml @@ -19,7 +19,9 @@ android:title="@string/bluetooth_pairing_pref_title"> + android:key="bt_pair_rename_devices" + android:title="@string/bluetooth_device_name" + android:summary="@string/summary_placeholder" /> getPreferenceControllers(Context context) { - List controllers = new ArrayList<>(); - mDeviceNamePrefController = new BluetoothDeviceNamePreferenceController(context, - getLifecycle()); - controllers.add(mDeviceNamePrefController); + final List controllers = new ArrayList<>(); + controllers.add( + new BluetoothDeviceRenamePreferenceController(context, KEY_RENAME_DEVICES, this, + getLifecycle())); return controllers; } diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java index 72d8023983a..3acd4775102 100644 --- a/src/com/android/settings/bluetooth/BluetoothSettings.java +++ b/src/com/android/settings/bluetooth/BluetoothSettings.java @@ -73,6 +73,7 @@ public class BluetoothSettings extends DeviceListPreferenceFragment implements I static final String KEY_PAIRED_DEVICES = "paired_devices"; @VisibleForTesting static final String KEY_FOOTER_PREF = "footer_preference"; + private static final String KEY_RENAME_DEVICES = "bt_rename_device"; @VisibleForTesting PreferenceGroup mPairedDevicesCategory; @@ -369,7 +370,9 @@ public class BluetoothSettings extends DeviceListPreferenceFragment implements I controllers.add(mDeviceNamePrefController); controllers.add(mPairingPrefController); controllers.add(new BluetoothFilesPreferenceController(context)); - controllers.add(new BluetoothDeviceRenamePreferenceController(context, this, lifecycle)); + controllers.add( + new BluetoothDeviceRenamePreferenceController(context, KEY_RENAME_DEVICES, this, + lifecycle)); return controllers; } diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceControllerTest.java index cde95cd5b16..62a0d42177d 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceControllerTest.java @@ -47,6 +47,7 @@ import org.robolectric.annotation.Config; public class BluetoothDeviceRenamePreferenceControllerTest { private static final String DEVICE_NAME = "Nightshade"; + private static final String PREF_KEY = "bt_rename_devices"; @Mock private LocalBluetoothAdapter mLocalAdapter; @@ -66,10 +67,10 @@ public class BluetoothDeviceRenamePreferenceControllerTest { mContext = spy(RuntimeEnvironment.application); mPreference = new Preference(mContext); - mPreference.setKey(BluetoothDeviceRenamePreferenceController.PREF_KEY); + mPreference.setKey(PREF_KEY); mController = new BluetoothDeviceRenamePreferenceController( - mContext, mFragment, mLocalAdapter); + mContext, PREF_KEY, mFragment, mLocalAdapter); } @Test