Merge "UI refresh on bluetooth list page" into oc-dr1-dev
am: c0ca084622
Change-Id: I92846eec6bcbb67862b8ad1cf6447623a2dc3ab0
This commit is contained in:
@@ -16,12 +16,12 @@
|
||||
|
||||
package com.android.settings.bluetooth;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.bluetooth.BluetoothAdapter;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
import android.text.Spannable;
|
||||
@@ -30,7 +30,6 @@ import android.text.TextUtils;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.PreferenceController;
|
||||
import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
|
||||
@@ -48,15 +47,15 @@ public class BluetoothDeviceNamePreferenceController extends PreferenceControlle
|
||||
private static final String TAG = "BluetoothNamePrefCtrl";
|
||||
|
||||
public static final String KEY_DEVICE_NAME = "device_name";
|
||||
private int mAccentColor;
|
||||
private Fragment mFragment;
|
||||
|
||||
private final int mAccentColor;
|
||||
|
||||
private LocalBluetoothManager mLocalManager;
|
||||
private LocalBluetoothAdapter mLocalAdapter;
|
||||
private Preference mPreference;
|
||||
|
||||
public BluetoothDeviceNamePreferenceController(Context context, Fragment fragment,
|
||||
Lifecycle lifecycle) {
|
||||
this(context, fragment, (LocalBluetoothAdapter) null);
|
||||
public BluetoothDeviceNamePreferenceController(Context context, Lifecycle lifecycle) {
|
||||
this(context, (LocalBluetoothAdapter) null);
|
||||
|
||||
mLocalManager = Utils.getLocalBtManager(context);
|
||||
if (mLocalManager == null) {
|
||||
@@ -68,17 +67,16 @@ public class BluetoothDeviceNamePreferenceController extends PreferenceControlle
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
BluetoothDeviceNamePreferenceController(Context context, Fragment fragment,
|
||||
LocalBluetoothAdapter localAdapter) {
|
||||
BluetoothDeviceNamePreferenceController(Context context, LocalBluetoothAdapter localAdapter) {
|
||||
super(context);
|
||||
mAccentColor = com.android.settingslib.Utils.getColorAccent(context);
|
||||
mFragment = fragment;
|
||||
mLocalAdapter = localAdapter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
mPreference = screen.findPreference(KEY_DEVICE_NAME);
|
||||
super.displayPreference(screen);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -107,22 +105,11 @@ public class BluetoothDeviceNamePreferenceController extends PreferenceControlle
|
||||
updateDeviceName(preference, mLocalAdapter.getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handlePreferenceTreeClick(Preference preference) {
|
||||
if (KEY_DEVICE_NAME.equals(preference.getKey())) {
|
||||
LocalDeviceNameDialogFragment.newInstance()
|
||||
.show(mFragment.getFragmentManager(), LocalDeviceNameDialogFragment.TAG);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create preference to show bluetooth device name
|
||||
*
|
||||
* @param screen to add the preference in
|
||||
* @param order to decide position of the preference
|
||||
* @param order to decide position of the preference
|
||||
* @return bluetooth preference that created in this method
|
||||
*/
|
||||
public Preference createBluetoothDeviceNamePreference(PreferenceScreen screen, int order) {
|
||||
@@ -140,7 +127,7 @@ public class BluetoothDeviceNamePreferenceController extends PreferenceControlle
|
||||
* @param preference to set the summary for
|
||||
* @param deviceName bluetooth device name to show in the summary
|
||||
*/
|
||||
public void updateDeviceName(final Preference preference, final String deviceName) {
|
||||
protected void updateDeviceName(final Preference preference, final String deviceName) {
|
||||
if (deviceName == null) {
|
||||
// TODO: show error message in preference subtitle
|
||||
return;
|
||||
|
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
* Copyright (C) 2017 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.bluetooth;
|
||||
|
||||
import android.app.Fragment;
|
||||
import android.content.Context;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
import android.support.v7.preference.Preference;
|
||||
|
||||
import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
|
||||
public class BluetoothDeviceRenamePreferenceController extends
|
||||
BluetoothDeviceNamePreferenceController {
|
||||
|
||||
public static final String PREF_KEY = "bt_rename_device";
|
||||
|
||||
private final Fragment mFragment;
|
||||
|
||||
public BluetoothDeviceRenamePreferenceController(Context context, Fragment fragment,
|
||||
Lifecycle lifecycle) {
|
||||
super(context, lifecycle);
|
||||
mFragment = fragment;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
BluetoothDeviceRenamePreferenceController(Context context, Fragment fragment,
|
||||
LocalBluetoothAdapter localAdapter) {
|
||||
super(context, localAdapter);
|
||||
mFragment = fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPreferenceKey() {
|
||||
return PREF_KEY;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateDeviceName(final Preference preference, final String deviceName) {
|
||||
preference.setSummary(deviceName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handlePreferenceTreeClick(Preference preference) {
|
||||
if (PREF_KEY.equals(preference.getKey())) {
|
||||
LocalDeviceNameDialogFragment.newInstance()
|
||||
.show(mFragment.getFragmentManager(), LocalDeviceNameDialogFragment.TAG);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
@@ -24,6 +24,7 @@ import android.content.res.Configuration;
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
import android.text.InputFilter;
|
||||
import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -111,6 +112,9 @@ abstract class BluetoothNameDialogFragment extends InstrumentedDialogFragment
|
||||
new Utf8ByteLengthFilter(BLUETOOTH_NAME_MAX_LENGTH_BYTES)
|
||||
});
|
||||
mDeviceNameView.setText(deviceName); // set initial value before adding listener
|
||||
if (!TextUtils.isEmpty(deviceName)) {
|
||||
mDeviceNameView.setSelection(deviceName.length());
|
||||
}
|
||||
mDeviceNameView.addTextChangedListener(this);
|
||||
mDeviceNameView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
|
||||
@Override
|
||||
|
@@ -186,7 +186,7 @@ public class BluetoothPairingDetail extends DeviceListPreferenceFragment impleme
|
||||
protected List<PreferenceController> getPreferenceControllers(Context context) {
|
||||
List<PreferenceController> controllers = new ArrayList<>();
|
||||
mDeviceNamePrefController = new BluetoothDeviceNamePreferenceController(context,
|
||||
this, getLifecycle());
|
||||
getLifecycle());
|
||||
controllers.add(mDeviceNamePrefController);
|
||||
|
||||
return controllers;
|
||||
|
@@ -22,7 +22,6 @@ import android.bluetooth.BluetoothAdapter;
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.os.SystemProperties;
|
||||
@@ -55,6 +54,8 @@ import com.android.settingslib.bluetooth.BluetoothDeviceFilter;
|
||||
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||
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.widget.FooterPreference;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -66,7 +67,6 @@ import static android.os.UserManager.DISALLOW_CONFIG_BLUETOOTH;
|
||||
/**
|
||||
* BluetoothSettings is the Settings screen for Bluetooth configuration and
|
||||
* connection management.
|
||||
*
|
||||
*/
|
||||
public class BluetoothSettings extends DeviceListPreferenceFragment implements Indexable {
|
||||
private static final String TAG = "BluetoothSettings";
|
||||
@@ -87,7 +87,6 @@ public class BluetoothSettings extends DeviceListPreferenceFragment implements I
|
||||
|
||||
private SwitchBar mSwitchBar;
|
||||
|
||||
private final IntentFilter mIntentFilter;
|
||||
private BluetoothDeviceNamePreferenceController mDeviceNamePrefController;
|
||||
@VisibleForTesting
|
||||
BluetoothPairingPreferenceController mPairingPrefController;
|
||||
@@ -98,7 +97,6 @@ public class BluetoothSettings extends DeviceListPreferenceFragment implements I
|
||||
|
||||
public BluetoothSettings() {
|
||||
super(DISALLOW_CONFIG_BLUETOOTH);
|
||||
mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_LOCAL_NAME_CHANGED);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -356,14 +354,15 @@ public class BluetoothSettings extends DeviceListPreferenceFragment implements I
|
||||
|
||||
@Override
|
||||
protected List<PreferenceController> getPreferenceControllers(Context context) {
|
||||
List<PreferenceController> controllers = new ArrayList<>();
|
||||
mDeviceNamePrefController = new BluetoothDeviceNamePreferenceController(context,
|
||||
this, getLifecycle());
|
||||
final List<PreferenceController> controllers = new ArrayList<>();
|
||||
final Lifecycle lifecycle = getLifecycle();
|
||||
mDeviceNamePrefController = new BluetoothDeviceNamePreferenceController(context, lifecycle);
|
||||
mPairingPrefController = new BluetoothPairingPreferenceController(context, this,
|
||||
(SettingsActivity) getActivity());
|
||||
controllers.add(mDeviceNamePrefController);
|
||||
controllers.add(mPairingPrefController);
|
||||
controllers.add(new BluetoothFilesPreferenceController(context));
|
||||
controllers.add(new BluetoothDeviceRenamePreferenceController(context, this, lifecycle));
|
||||
|
||||
return controllers;
|
||||
}
|
||||
|
Reference in New Issue
Block a user