summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java
diff options
context:
space:
mode:
authorjackqdyulei <jackqdyulei@google.com>2017-12-08 12:55:26 -0800
committerjackqdyulei <jackqdyulei@google.com>2017-12-11 15:52:57 -0800
commitbe555e2dad5cc7b0a01142d7658d9ce5e0c48867 (patch)
tree23dddff0cb3d4a6942e10af2badfafed01291076 /src/com/android/settings/bluetooth/BluetoothDeviceNamePreferenceController.java
parentae1011ee5d2be47ea1d12b155b9e86836cbdafb2 (diff)
downloadpackages_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.java25
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