Convert more pages to use ActionButtonPreference

- text to speech page
- blue tooth detail page
- installed app page

Change-Id: Ib743a144cc6025055cd496ec077f13fce4db0c69
Bug: 63991885
Test: robotests
This commit is contained in:
Fan Zhang
2017-07-28 17:18:44 -07:00
parent 3eb22656eb
commit 1105a1a465
11 changed files with 248 additions and 296 deletions

View File

@@ -19,11 +19,9 @@ package com.android.settings.bluetooth;
import android.content.Context;
import android.support.v14.preference.PreferenceFragment;
import android.support.v7.preference.PreferenceScreen;
import android.text.TextUtils;
import android.widget.Button;
import com.android.settings.R;
import com.android.settings.applications.LayoutPreference;
import com.android.settings.widget.ActionButtonPreference;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -35,7 +33,8 @@ public class BluetoothDetailsButtonsController extends BluetoothDetailsControlle
private static final String KEY_ACTION_BUTTONS = "action_buttons";
private boolean mIsConnected;
private LayoutPreference mActionButtons;
private boolean mButton1Initialized;
private ActionButtonPreference mActionButtons;
public BluetoothDetailsButtonsController(Context context, PreferenceFragment fragment,
CachedBluetoothDevice device, Lifecycle lifecycle) {
@@ -51,35 +50,35 @@ public class BluetoothDetailsButtonsController extends BluetoothDetailsControlle
@Override
protected void init(PreferenceScreen screen) {
mActionButtons = (LayoutPreference) screen.findPreference(getPreferenceKey());
Button rightButton = (Button) mActionButtons.findViewById(R.id.right_button);
rightButton.setText(R.string.forget);
rightButton.setOnClickListener((view) -> {
onForgetButtonPressed();
});
mActionButtons = ((ActionButtonPreference) screen.findPreference(getPreferenceKey()))
.setButton2Text(R.string.forget)
.setButton2OnClickListener((view) -> onForgetButtonPressed())
.setButton2Positive(false)
.setButton2Enabled(true);
}
@Override
protected void refresh() {
Button leftButton = (Button) mActionButtons.findViewById(R.id.left_button);
leftButton.setEnabled(!mCachedDevice.isBusy());
boolean notInitialized = TextUtils.isEmpty(leftButton.getText());
mActionButtons.setButton1Enabled(!mCachedDevice.isBusy());
boolean previouslyConnected = mIsConnected;
mIsConnected = mCachedDevice.isConnected();
if (mIsConnected) {
if (notInitialized || !previouslyConnected) {
leftButton.setText(R.string.bluetooth_device_context_disconnect);
leftButton.setOnClickListener((view) -> {
mCachedDevice.disconnect();
});
if (!mButton1Initialized || !previouslyConnected) {
mActionButtons
.setButton1Text(R.string.bluetooth_device_context_disconnect)
.setButton1OnClickListener(view -> mCachedDevice.disconnect())
.setButton1Positive(false);
mButton1Initialized = true;
}
} else {
if (notInitialized || previouslyConnected) {
leftButton.setText(R.string.bluetooth_device_context_connect);
leftButton.setOnClickListener((view) -> {
mCachedDevice.connect(true);
});
if (!mButton1Initialized || previouslyConnected) {
mActionButtons
.setButton1Text(R.string.bluetooth_device_context_connect)
.setButton1OnClickListener(
view -> mCachedDevice.connect(true /* connectAllProfiles */))
.setButton1Positive(true);
mButton1Initialized = true;
}
}
}
@@ -88,4 +87,5 @@ public class BluetoothDetailsButtonsController extends BluetoothDetailsControlle
public String getPreferenceKey() {
return KEY_ACTION_BUTTONS;
}
}