diff options
author | jackqdyulei <jackqdyulei@google.com> | 2017-12-08 12:55:26 -0800 |
---|---|---|
committer | jackqdyulei <jackqdyulei@google.com> | 2017-12-11 15:52:57 -0800 |
commit | be555e2dad5cc7b0a01142d7658d9ce5e0c48867 (patch) | |
tree | 23dddff0cb3d4a6942e10af2badfafed01291076 /src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java | |
parent | ae1011ee5d2be47ea1d12b155b9e86836cbdafb2 (diff) | |
download | packages_apps_Settings-be555e2dad5cc7b0a01142d7658d9ce5e0c48867.tar.gz packages_apps_Settings-be555e2dad5cc7b0a01142d7658d9ce5e0c48867.tar.bz2 packages_apps_Settings-be555e2dad5cc7b0a01142d7658d9ce5e0c48867.zip |
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
Diffstat (limited to 'src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java')
-rw-r--r-- | src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java b/src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java index 8b07bcbb51..2d0ce6021a 100644 --- a/src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java +++ b/src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java @@ -29,10 +29,9 @@ import android.text.TextUtils; import android.util.Log; import com.android.settings.R; -import com.android.settings.core.PreferenceControllerMixin; +import com.android.settings.core.BasePreferenceController; import com.android.settingslib.bluetooth.LocalBluetoothAdapter; import com.android.settingslib.bluetooth.LocalBluetoothManager; -import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; @@ -41,8 +40,8 @@ import com.android.settingslib.core.lifecycle.events.OnStop; /** * Controller that shows and updates the bluetooth device name */ -public class BluetoothDeviceNamePreferenceController extends AbstractPreferenceController - implements PreferenceControllerMixin, LifecycleObserver, OnStart, OnStop { +public class BluetoothDeviceNamePreferenceController extends BasePreferenceController implements + LifecycleObserver, OnStart, OnStop { private static final String TAG = "BluetoothNamePrefCtrl"; public static final String KEY_DEVICE_NAME = "device_name"; @@ -62,12 +61,22 @@ public class BluetoothDeviceNamePreferenceController extends AbstractPreferenceC return; } mLocalAdapter = mLocalManager.getBluetoothAdapter(); - lifecycle.addObserver(this); + + if (lifecycle != null) { + lifecycle.addObserver(this); + } + } + + /** + * Constructor exclusively used for Slice. + */ + public BluetoothDeviceNamePreferenceController(Context context) { + this(context, (Lifecycle) null); } @VisibleForTesting BluetoothDeviceNamePreferenceController(Context context, LocalBluetoothAdapter localAdapter) { - super(context); + super(context, KEY_DEVICE_NAME); mLocalAdapter = localAdapter; } @@ -89,8 +98,8 @@ public class BluetoothDeviceNamePreferenceController extends AbstractPreferenceC } @Override - public boolean isAvailable() { - return mLocalAdapter != null; + public int getAvailabilityStatus() { + return mLocalAdapter != null ? AVAILABLE : DISABLED_UNSUPPORTED; } @Override |