Replace the SwitchBar with MainSwitch.
- Update wi-fi calling switch. - Update the switches in Accessibility Fix: 178673860 Fix: 177968565 Test: Run robotest and apply the widget in Settings and see the ui Change-Id: Id10e6a110f418ea500a2eaf3c54752bef4f36507
This commit is contained in:
@@ -38,7 +38,7 @@ public class InvisibleToggleAccessibilityServicePreferenceFragment extends
|
||||
@Override
|
||||
protected void onInstallSwitchPreferenceToggleSwitch() {
|
||||
super.onInstallSwitchPreferenceToggleSwitch();
|
||||
mToggleServiceDividerSwitchPreference.setVisible(false);
|
||||
mToggleServiceSwitchPreference.setVisible(false);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -36,15 +36,14 @@ import android.view.View;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.widget.SettingsMainSwitchPreference;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/** Fragment for providing open activity button. */
|
||||
public class LaunchAccessibilityActivityPreferenceFragment extends
|
||||
ToggleFeaturePreferenceFragment {
|
||||
public class LaunchAccessibilityActivityPreferenceFragment extends ToggleFeaturePreferenceFragment {
|
||||
private static final String TAG = "LaunchA11yActivity";
|
||||
private static final String EMPTY_STRING = "";
|
||||
|
||||
@@ -52,7 +51,7 @@ public class LaunchAccessibilityActivityPreferenceFragment extends
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
mToggleServiceDividerSwitchPreference.setSwitchVisibility(View.GONE);
|
||||
mToggleServiceSwitchPreference.hide();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -61,16 +60,6 @@ public class LaunchAccessibilityActivityPreferenceFragment extends
|
||||
launchShortcutTargetActivity(getPrefContext().getDisplayId(), mComponentName);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onInstallSwitchPreferenceToggleSwitch() {
|
||||
super.onInstallSwitchPreferenceToggleSwitch();
|
||||
mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener((preference) -> {
|
||||
final boolean checked = ((DividerSwitchPreference) preference).isChecked();
|
||||
onPreferenceToggled(mPreferenceKey, checked);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onProcessArguments(Bundle arguments) {
|
||||
super.onProcessArguments(arguments);
|
||||
@@ -111,7 +100,7 @@ public class LaunchAccessibilityActivityPreferenceFragment extends
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateToggleServiceTitle(SwitchPreference switchPreference) {
|
||||
protected void updateToggleServiceTitle(SettingsMainSwitchPreference switchPreference) {
|
||||
final AccessibilityShortcutInfo info = getAccessibilityShortcutInfo();
|
||||
final String switchBarText = (info == null) ? EMPTY_STRING : getString(
|
||||
R.string.accessibility_service_primary_open_title,
|
||||
|
@@ -41,14 +41,15 @@ import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.View;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import android.widget.Switch;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
|
||||
import com.android.settings.password.ConfirmDeviceCredentialActivity;
|
||||
import com.android.settings.widget.SettingsMainSwitchPreference;
|
||||
import com.android.settingslib.accessibility.AccessibilityUtils;
|
||||
|
||||
import java.util.List;
|
||||
@@ -198,7 +199,7 @@ public class ToggleAccessibilityServicePreferenceFragment extends
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateToggleServiceTitle(SwitchPreference switchPreference) {
|
||||
protected void updateToggleServiceTitle(SettingsMainSwitchPreference switchPreference) {
|
||||
final AccessibilityServiceInfo info = getAccessibilityServiceInfo();
|
||||
final String switchBarText = (info == null) ? "" :
|
||||
getString(R.string.accessibility_service_primary_switch_title,
|
||||
@@ -206,13 +207,14 @@ public class ToggleAccessibilityServicePreferenceFragment extends
|
||||
switchPreference.setTitle(switchBarText);
|
||||
}
|
||||
|
||||
private void updateSwitchBarToggleSwitch() {
|
||||
@Override
|
||||
protected void updateSwitchBarToggleSwitch() {
|
||||
final boolean checked = AccessibilityUtils.getEnabledServicesFromSettings(getPrefContext())
|
||||
.contains(mComponentName);
|
||||
if (mToggleServiceDividerSwitchPreference.isChecked() == checked) {
|
||||
if (mToggleServiceSwitchPreference.isChecked() == checked) {
|
||||
return;
|
||||
}
|
||||
mToggleServiceDividerSwitchPreference.setChecked(checked);
|
||||
mToggleServiceSwitchPreference.setChecked(checked);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -263,7 +265,7 @@ public class ToggleAccessibilityServicePreferenceFragment extends
|
||||
}
|
||||
|
||||
private void handleConfirmServiceEnabled(boolean confirmed) {
|
||||
mToggleServiceDividerSwitchPreference.setChecked(confirmed);
|
||||
mToggleServiceSwitchPreference.setChecked(confirmed);
|
||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, confirmed);
|
||||
onPreferenceToggled(mPreferenceKey, confirmed);
|
||||
}
|
||||
@@ -286,9 +288,10 @@ public class ToggleAccessibilityServicePreferenceFragment extends
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onInstallSwitchPreferenceToggleSwitch() {
|
||||
super.onInstallSwitchPreferenceToggleSwitch();
|
||||
mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener(this::onPreferenceClick);
|
||||
public void onSwitchChanged(Switch switchView, boolean isChecked) {
|
||||
if (isChecked != mToggleServiceSwitchPreference.isChecked()) {
|
||||
onPreferenceClick(mToggleServiceSwitchPreference);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -296,7 +299,7 @@ public class ToggleAccessibilityServicePreferenceFragment extends
|
||||
final int shortcutTypes = retrieveUserShortcutType(getPrefContext(),
|
||||
mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
|
||||
if (preference.isChecked()) {
|
||||
if (!mToggleServiceDividerSwitchPreference.isChecked()) {
|
||||
if (!mToggleServiceSwitchPreference.isChecked()) {
|
||||
preference.setChecked(false);
|
||||
showPopupDialog(DialogEnums.ENABLE_WARNING_FROM_SHORTCUT_TOGGLE);
|
||||
} else {
|
||||
@@ -314,7 +317,7 @@ public class ToggleAccessibilityServicePreferenceFragment extends
|
||||
@Override
|
||||
public void onSettingsClicked(ShortcutPreference preference) {
|
||||
final boolean isServiceOnOrShortcutAdded = mShortcutPreference.isChecked()
|
||||
|| mToggleServiceDividerSwitchPreference.isChecked();
|
||||
|| mToggleServiceSwitchPreference.isChecked();
|
||||
showPopupDialog(isServiceOnOrShortcutAdded ? DialogEnums.EDIT_SHORTCUT
|
||||
: DialogEnums.ENABLE_WARNING_FROM_SHORTCUT);
|
||||
}
|
||||
@@ -453,9 +456,14 @@ public class ToggleAccessibilityServicePreferenceFragment extends
|
||||
}
|
||||
|
||||
private boolean onPreferenceClick(Preference preference) {
|
||||
boolean checked = ((DividerSwitchPreference) preference).isChecked();
|
||||
boolean checked = ((SettingsMainSwitchPreference) preference).isChecked();
|
||||
if (checked) {
|
||||
mToggleServiceDividerSwitchPreference.setChecked(false);
|
||||
mToggleServiceSwitchPreference.setChecked(true);
|
||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED,
|
||||
/* enableService */ true);
|
||||
showDialog(DialogEnums.DISABLE_WARNING_FROM_TOGGLE);
|
||||
} else {
|
||||
mToggleServiceSwitchPreference.setChecked(false);
|
||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED,
|
||||
/* disableService */ false);
|
||||
if (!mShortcutPreference.isChecked()) {
|
||||
@@ -466,11 +474,6 @@ public class ToggleAccessibilityServicePreferenceFragment extends
|
||||
showPopupDialog(DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
mToggleServiceDividerSwitchPreference.setChecked(true);
|
||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED,
|
||||
/* enableService */ true);
|
||||
showDialog(DialogEnums.DISABLE_WARNING_FROM_TOGGLE);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@@ -31,15 +31,15 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.widget.SettingsMainSwitchPreference;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/** Settings page for color inversion. */
|
||||
public class ToggleColorInversionPreferenceFragment extends ToggleFeaturePreferenceFragment {
|
||||
public class ToggleColorInversionPreferenceFragment extends
|
||||
ToggleFeaturePreferenceFragment {
|
||||
|
||||
private static final String ENABLED = Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED;
|
||||
private final Handler mHandler = new Handler();
|
||||
@@ -64,25 +64,14 @@ public class ToggleColorInversionPreferenceFragment extends ToggleFeaturePrefere
|
||||
@Override
|
||||
protected void onRemoveSwitchPreferenceToggleSwitch() {
|
||||
super.onRemoveSwitchPreferenceToggleSwitch();
|
||||
mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener(null);
|
||||
mToggleServiceSwitchPreference.setOnPreferenceClickListener(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateToggleServiceTitle(SwitchPreference switchPreference) {
|
||||
protected void updateToggleServiceTitle(SettingsMainSwitchPreference switchPreference) {
|
||||
switchPreference.setTitle(R.string.accessibility_display_inversion_switch_title);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onInstallSwitchPreferenceToggleSwitch() {
|
||||
super.onInstallSwitchPreferenceToggleSwitch();
|
||||
updateSwitchBarToggleSwitch();
|
||||
mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener((preference) -> {
|
||||
boolean checked = ((SwitchPreference) preference).isChecked();
|
||||
onPreferenceToggled(mPreferenceKey, checked);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
@@ -128,11 +117,12 @@ public class ToggleColorInversionPreferenceFragment extends ToggleFeaturePrefere
|
||||
mComponentName);
|
||||
}
|
||||
|
||||
private void updateSwitchBarToggleSwitch() {
|
||||
@Override
|
||||
protected void updateSwitchBarToggleSwitch() {
|
||||
final boolean checked = Settings.Secure.getInt(getContentResolver(), ENABLED, OFF) == ON;
|
||||
if (mToggleServiceDividerSwitchPreference.isChecked() == checked) {
|
||||
if (mToggleServiceSwitchPreference.isChecked() == checked) {
|
||||
return;
|
||||
}
|
||||
mToggleServiceDividerSwitchPreference.setChecked(checked);
|
||||
mToggleServiceSwitchPreference.setChecked(checked);
|
||||
}
|
||||
}
|
||||
|
@@ -33,11 +33,10 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.widget.SettingsMainSwitchPreference;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.search.SearchIndexable;
|
||||
@@ -99,34 +98,19 @@ public final class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePrefe
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
updatePreferenceOrder();
|
||||
}
|
||||
|
||||
/** Customizes the order by preference key. */
|
||||
private List<String> getPreferenceOrderList() {
|
||||
List<String> lists = new ArrayList<>();
|
||||
lists.add(KEY_PREVIEW);
|
||||
protected List<String> getPreferenceOrderList() {
|
||||
final List<String> lists = new ArrayList<>();
|
||||
lists.add(KEY_USE_SERVICE_PREFERENCE);
|
||||
lists.add(KEY_PREVIEW);
|
||||
lists.add(KEY_CATEGORY_MODE);
|
||||
lists.add(KEY_GENERAL_CATEGORY);
|
||||
lists.add(KEY_INTRODUCTION_CATEGORY);
|
||||
return lists;
|
||||
}
|
||||
|
||||
private void updatePreferenceOrder() {
|
||||
List<String> lists = getPreferenceOrderList();
|
||||
final PreferenceScreen preferenceScreen = getPreferenceScreen();
|
||||
preferenceScreen.setOrderingAsAdded(false);
|
||||
|
||||
final int size = lists.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
final Preference preference = preferenceScreen.findPreference(lists.get(i));
|
||||
if (preference != null) {
|
||||
preference.setOrder(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
@@ -175,37 +159,27 @@ public final class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePrefe
|
||||
@Override
|
||||
protected void onRemoveSwitchPreferenceToggleSwitch() {
|
||||
super.onRemoveSwitchPreferenceToggleSwitch();
|
||||
mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener(null);
|
||||
mToggleServiceSwitchPreference.setOnPreferenceClickListener(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateToggleServiceTitle(SwitchPreference switchPreference) {
|
||||
protected void updateToggleServiceTitle(SettingsMainSwitchPreference switchPreference) {
|
||||
switchPreference.setTitle(R.string.accessibility_daltonizer_primary_switch_title);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onInstallSwitchPreferenceToggleSwitch() {
|
||||
super.onInstallSwitchPreferenceToggleSwitch();
|
||||
updateSwitchBarToggleSwitch();
|
||||
mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener((preference) -> {
|
||||
boolean checked = ((SwitchPreference) preference).isChecked();
|
||||
onPreferenceToggled(mPreferenceKey, checked);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
int getUserShortcutTypes() {
|
||||
return AccessibilityUtil.getUserShortcutTypesFromSettings(getPrefContext(),
|
||||
mComponentName);
|
||||
}
|
||||
|
||||
private void updateSwitchBarToggleSwitch() {
|
||||
@Override
|
||||
protected void updateSwitchBarToggleSwitch() {
|
||||
final boolean checked = Settings.Secure.getInt(getContentResolver(), ENABLED, OFF) == ON;
|
||||
if (mToggleServiceDividerSwitchPreference.isChecked() == checked) {
|
||||
if (mToggleServiceSwitchPreference.isChecked() == checked) {
|
||||
return;
|
||||
}
|
||||
mToggleServiceDividerSwitchPreference.setChecked(checked);
|
||||
mToggleServiceSwitchPreference.setChecked(checked);
|
||||
}
|
||||
|
||||
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||
|
@@ -40,20 +40,22 @@ import android.view.accessibility.AccessibilityManager;
|
||||
import android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.Switch;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
|
||||
import com.android.settings.widget.SettingsMainSwitchBar;
|
||||
import com.android.settings.widget.SettingsMainSwitchPreference;
|
||||
import com.android.settingslib.accessibility.AccessibilityUtils;
|
||||
import com.android.settingslib.widget.FooterPreference;
|
||||
import com.android.settingslib.widget.OnMainSwitchChangeListener;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
@@ -66,9 +68,9 @@ import java.util.Locale;
|
||||
* and dialog management.
|
||||
*/
|
||||
public abstract class ToggleFeaturePreferenceFragment extends SettingsPreferenceFragment
|
||||
implements ShortcutPreference.OnClickCallback {
|
||||
implements ShortcutPreference.OnClickCallback, OnMainSwitchChangeListener {
|
||||
|
||||
protected DividerSwitchPreference mToggleServiceDividerSwitchPreference;
|
||||
protected SettingsMainSwitchPreference mToggleServiceSwitchPreference;
|
||||
protected ShortcutPreference mShortcutPreference;
|
||||
protected Preference mSettingsPreference;
|
||||
protected String mPreferenceKey;
|
||||
@@ -88,6 +90,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
|
||||
protected static final String KEY_INTRODUCTION_CATEGORY = "introduction_categories";
|
||||
private static final String KEY_SHORTCUT_PREFERENCE = "shortcut_preference";
|
||||
protected static final String KEY_SAVED_USER_SHORTCUT_TYPE = "shortcut_type";
|
||||
protected static final String KEY_ANIMATED_IMAGE = "animated_image";
|
||||
|
||||
private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
|
||||
private SettingsContentObserver mSettingsContentObserver;
|
||||
@@ -153,7 +156,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
|
||||
onProcessArguments(getArguments());
|
||||
|
||||
initAnimatedImagePreference();
|
||||
initToggleServiceDividerSwitchPreference();
|
||||
initToggleServiceSwitchPreference();
|
||||
initGeneralCategory();
|
||||
initShortcutPreference();
|
||||
initSettingsPreference();
|
||||
@@ -162,7 +165,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
|
||||
|
||||
installActionBarToggleSwitch();
|
||||
|
||||
updateToggleServiceTitle(mToggleServiceDividerSwitchPreference);
|
||||
updateToggleServiceTitle(mToggleServiceSwitchPreference);
|
||||
|
||||
mTouchExplorationStateChangeListener = isTouchExplorationEnabled -> {
|
||||
removeDialog(DialogEnums.EDIT_SHORTCUT);
|
||||
@@ -178,6 +181,8 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
|
||||
final SettingsActivity activity = (SettingsActivity) getActivity();
|
||||
final SettingsMainSwitchBar switchBar = activity.getSwitchBar();
|
||||
switchBar.hide();
|
||||
|
||||
updatePreferenceOrder();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -305,12 +310,17 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
|
||||
removeActionBarToggleSwitch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSwitchChanged(Switch switchView, boolean isChecked) {
|
||||
onPreferenceToggled(mPreferenceKey, isChecked);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the shortcut type list which has been checked by user.
|
||||
*/
|
||||
abstract int getUserShortcutTypes();
|
||||
|
||||
protected void updateToggleServiceTitle(SwitchPreference switchPreference) {
|
||||
protected void updateToggleServiceTitle(SettingsMainSwitchPreference switchPreference) {
|
||||
switchPreference.setTitle(R.string.accessibility_service_primary_switch_title);
|
||||
}
|
||||
|
||||
@@ -318,18 +328,24 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
|
||||
|
||||
protected void onInstallSwitchPreferenceToggleSwitch() {
|
||||
// Implement this to set a checked listener.
|
||||
updateSwitchBarToggleSwitch();
|
||||
mToggleServiceSwitchPreference.addOnSwitchChangeListener(this);
|
||||
}
|
||||
|
||||
protected void onRemoveSwitchPreferenceToggleSwitch() {
|
||||
// Implement this to reset a checked listener.
|
||||
}
|
||||
|
||||
protected void updateSwitchBarToggleSwitch() {
|
||||
// Implement this to update the state of switch.
|
||||
}
|
||||
|
||||
private void installActionBarToggleSwitch() {
|
||||
onInstallSwitchPreferenceToggleSwitch();
|
||||
}
|
||||
|
||||
private void removeActionBarToggleSwitch() {
|
||||
mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener(null);
|
||||
mToggleServiceSwitchPreference.setOnPreferenceClickListener(null);
|
||||
onRemoveSwitchPreferenceToggleSwitch();
|
||||
}
|
||||
|
||||
@@ -361,6 +377,31 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
|
||||
}
|
||||
}
|
||||
|
||||
/** Customizes the order by preference key. */
|
||||
protected List<String> getPreferenceOrderList() {
|
||||
final List<String> lists = new ArrayList<>();
|
||||
lists.add(KEY_USE_SERVICE_PREFERENCE);
|
||||
lists.add(KEY_ANIMATED_IMAGE);
|
||||
lists.add(KEY_GENERAL_CATEGORY);
|
||||
lists.add(KEY_INTRODUCTION_CATEGORY);
|
||||
return lists;
|
||||
}
|
||||
|
||||
private void updatePreferenceOrder() {
|
||||
final List<String> lists = getPreferenceOrderList();
|
||||
|
||||
final PreferenceScreen preferenceScreen = getPreferenceScreen();
|
||||
preferenceScreen.setOrderingAsAdded(false);
|
||||
|
||||
final int size = lists.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
final Preference preference = preferenceScreen.findPreference(lists.get(i));
|
||||
if (preference != null) {
|
||||
preference.setOrder(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Drawable getDrawableFromUri(Uri imageUri) {
|
||||
if (mImageGetterCacheView == null) {
|
||||
mImageGetterCacheView = new ImageView(getPrefContext());
|
||||
@@ -401,19 +442,20 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
|
||||
animatedImagePreference.setImageUri(mImageUri);
|
||||
animatedImagePreference.setSelectable(false);
|
||||
animatedImagePreference.setMaxHeight(screenHalfHeight);
|
||||
animatedImagePreference.setKey(KEY_ANIMATED_IMAGE);
|
||||
|
||||
getPreferenceScreen().addPreference(animatedImagePreference);
|
||||
}
|
||||
|
||||
private void initToggleServiceDividerSwitchPreference() {
|
||||
mToggleServiceDividerSwitchPreference = new DividerSwitchPreference(getPrefContext());
|
||||
mToggleServiceDividerSwitchPreference.setKey(KEY_USE_SERVICE_PREFERENCE);
|
||||
private void initToggleServiceSwitchPreference() {
|
||||
mToggleServiceSwitchPreference = new SettingsMainSwitchPreference(getPrefContext());
|
||||
mToggleServiceSwitchPreference.setKey(KEY_USE_SERVICE_PREFERENCE);
|
||||
if (getArguments().containsKey(AccessibilitySettings.EXTRA_CHECKED)) {
|
||||
final boolean enabled = getArguments().getBoolean(AccessibilitySettings.EXTRA_CHECKED);
|
||||
mToggleServiceDividerSwitchPreference.setChecked(enabled);
|
||||
mToggleServiceSwitchPreference.setChecked(enabled);
|
||||
}
|
||||
|
||||
getPreferenceScreen().addPreference(mToggleServiceDividerSwitchPreference);
|
||||
getPreferenceScreen().addPreference(mToggleServiceSwitchPreference);
|
||||
}
|
||||
|
||||
private void initGeneralCategory() {
|
||||
@@ -598,7 +640,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
|
||||
* This method will be invoked when a button in the edit shortcut dialog is clicked.
|
||||
*
|
||||
* @param dialog The dialog that received the click
|
||||
* @param which The button that was clicked
|
||||
* @param which The button that was clicked
|
||||
*/
|
||||
protected void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) {
|
||||
if (mComponentName == null) {
|
||||
@@ -676,7 +718,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference
|
||||
}
|
||||
|
||||
/**
|
||||
* Setups a configurable default if the setting has never been set.
|
||||
* Setups a configurable default if the setting has never been set.
|
||||
*/
|
||||
private static void setupDefaultShortcutIfNecessary(Context context) {
|
||||
final String targetKey = Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
|
||||
|
@@ -29,13 +29,10 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.internal.accessibility.AccessibilityShortcutController;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.widget.SettingsMainSwitchPreference;
|
||||
import com.android.settingslib.search.SearchIndexable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -44,6 +41,7 @@ import java.util.List;
|
||||
/** Settings for reducing brightness. */
|
||||
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
|
||||
public class ToggleReduceBrightColorsPreferenceFragment extends ToggleFeaturePreferenceFragment {
|
||||
|
||||
private static final String REDUCE_BRIGHT_COLORS_ACTIVATED_KEY =
|
||||
Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED;
|
||||
private static final String KEY_INTENSITY = "rbc_intensity";
|
||||
@@ -73,7 +71,7 @@ public class ToggleReduceBrightColorsPreferenceFragment extends ToggleFeaturePre
|
||||
mSettingsContentObserver = new SettingsContentObserver(mHandler, enableServiceFeatureKeys) {
|
||||
@Override
|
||||
public void onChange(boolean selfChange, Uri uri) {
|
||||
updateSwitchBarToggleSwitch();
|
||||
updateSwitchBarToggleSwitch();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -83,11 +81,10 @@ public class ToggleReduceBrightColorsPreferenceFragment extends ToggleFeaturePre
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
updatePreferenceOrder();
|
||||
}
|
||||
|
||||
/** Customizes the order by preference key. */
|
||||
private List<String> getPreferenceOrderList() {
|
||||
protected List<String> getPreferenceOrderList() {
|
||||
final List<String> lists = new ArrayList<>();
|
||||
lists.add(KEY_USE_SERVICE_PREFERENCE);
|
||||
lists.add(KEY_INTENSITY);
|
||||
@@ -97,20 +94,6 @@ public class ToggleReduceBrightColorsPreferenceFragment extends ToggleFeaturePre
|
||||
return lists;
|
||||
}
|
||||
|
||||
private void updatePreferenceOrder() {
|
||||
final List<String> lists = getPreferenceOrderList();
|
||||
final PreferenceScreen preferenceScreen = getPreferenceScreen();
|
||||
preferenceScreen.setOrderingAsAdded(false);
|
||||
|
||||
final int size = lists.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
final Preference preference = preferenceScreen.findPreference(lists.get(i));
|
||||
if (preference != null) {
|
||||
preference.setOrder(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
@@ -151,41 +134,31 @@ public class ToggleReduceBrightColorsPreferenceFragment extends ToggleFeaturePre
|
||||
@Override
|
||||
protected void onRemoveSwitchPreferenceToggleSwitch() {
|
||||
super.onRemoveSwitchPreferenceToggleSwitch();
|
||||
mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener(
|
||||
mToggleServiceSwitchPreference.setOnPreferenceClickListener(
|
||||
/* onPreferenceClickListener= */ null);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateToggleServiceTitle(SwitchPreference switchPreference) {
|
||||
protected void updateToggleServiceTitle(SettingsMainSwitchPreference switchPreference) {
|
||||
switchPreference.setTitle(R.string.reduce_bright_colors_preference_title);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onInstallSwitchPreferenceToggleSwitch() {
|
||||
super.onInstallSwitchPreferenceToggleSwitch();
|
||||
updateSwitchBarToggleSwitch();
|
||||
mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener((preference) -> {
|
||||
boolean checked = ((SwitchPreference) preference).isChecked();
|
||||
onPreferenceToggled(mPreferenceKey, checked);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
int getUserShortcutTypes() {
|
||||
return AccessibilityUtil.getUserShortcutTypesFromSettings(getPrefContext(),
|
||||
mComponentName);
|
||||
}
|
||||
|
||||
private void updateSwitchBarToggleSwitch() {
|
||||
@Override
|
||||
protected void updateSwitchBarToggleSwitch() {
|
||||
final boolean checked = Settings.Secure.getInt(getContentResolver(),
|
||||
REDUCE_BRIGHT_COLORS_ACTIVATED_KEY, OFF) == ON;
|
||||
mRbcIntensityPreferenceController.updateState(getPreferenceScreen()
|
||||
.findPreference(KEY_INTENSITY));
|
||||
mRbcPersistencePreferenceController.updateState(getPreferenceScreen()
|
||||
.findPreference(KEY_PERSIST));
|
||||
if (mToggleServiceDividerSwitchPreference.isChecked() != checked) {
|
||||
mToggleServiceDividerSwitchPreference.setChecked(checked);
|
||||
if (mToggleServiceSwitchPreference.isChecked() != checked) {
|
||||
mToggleServiceSwitchPreference.setChecked(checked);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -304,8 +304,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
|
||||
@Override
|
||||
protected void onInstallSwitchPreferenceToggleSwitch() {
|
||||
super.onInstallSwitchPreferenceToggleSwitch();
|
||||
mToggleServiceDividerSwitchPreference.setVisible(false);
|
||||
mToggleServiceSwitchPreference.setVisible(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -33,12 +33,12 @@ public class ToggleScreenMagnificationPreferenceFragmentForSetupWizard
|
||||
// Log the final choice in value if it's different from the previous value.
|
||||
Bundle args = getArguments();
|
||||
if ((args != null) && args.containsKey(AccessibilitySettings.EXTRA_CHECKED)) {
|
||||
if (mToggleServiceDividerSwitchPreference.isChecked() != args.getBoolean(
|
||||
if (mToggleServiceSwitchPreference.isChecked() != args.getBoolean(
|
||||
AccessibilitySettings.EXTRA_CHECKED)) {
|
||||
// TODO: Distinguish between magnification modes
|
||||
mMetricsFeatureProvider.action(getContext(),
|
||||
SettingsEnums.SUW_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION,
|
||||
mToggleServiceDividerSwitchPreference.isChecked());
|
||||
mToggleServiceSwitchPreference.isChecked());
|
||||
}
|
||||
}
|
||||
super.onStop();
|
||||
|
@@ -28,7 +28,7 @@ public class ToggleScreenReaderPreferenceFragmentForSetupWizard
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
mToggleSwitchWasInitiallyChecked = mToggleServiceDividerSwitchPreference.isChecked();
|
||||
mToggleSwitchWasInitiallyChecked = mToggleServiceSwitchPreference.isChecked();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -39,10 +39,10 @@ public class ToggleScreenReaderPreferenceFragmentForSetupWizard
|
||||
@Override
|
||||
public void onStop() {
|
||||
// Log the final choice in value if it's different from the previous value.
|
||||
if (mToggleServiceDividerSwitchPreference.isChecked() != mToggleSwitchWasInitiallyChecked) {
|
||||
if (mToggleServiceSwitchPreference.isChecked() != mToggleSwitchWasInitiallyChecked) {
|
||||
mMetricsFeatureProvider.action(getContext(),
|
||||
SettingsEnums.SUW_ACCESSIBILITY_TOGGLE_SCREEN_READER,
|
||||
mToggleServiceDividerSwitchPreference.isChecked());
|
||||
mToggleServiceSwitchPreference.isChecked());
|
||||
}
|
||||
super.onStop();
|
||||
}
|
||||
|
@@ -28,7 +28,7 @@ public class ToggleSelectToSpeakPreferenceFragmentForSetupWizard
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
mToggleSwitchWasInitiallyChecked = mToggleServiceDividerSwitchPreference.isChecked();
|
||||
mToggleSwitchWasInitiallyChecked = mToggleServiceSwitchPreference.isChecked();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -39,10 +39,10 @@ public class ToggleSelectToSpeakPreferenceFragmentForSetupWizard
|
||||
@Override
|
||||
public void onStop() {
|
||||
// Log the final choice in value if it's different from the previous value.
|
||||
if (mToggleServiceDividerSwitchPreference.isChecked() != mToggleSwitchWasInitiallyChecked) {
|
||||
if (mToggleServiceSwitchPreference.isChecked() != mToggleSwitchWasInitiallyChecked) {
|
||||
mMetricsFeatureProvider.action(getContext(),
|
||||
SettingsEnums.SUW_ACCESSIBILITY_TOGGLE_SELECT_TO_SPEAK,
|
||||
mToggleServiceDividerSwitchPreference.isChecked());
|
||||
mToggleServiceSwitchPreference.isChecked());
|
||||
}
|
||||
|
||||
super.onStop();
|
||||
|
@@ -29,7 +29,7 @@ public class VolumeShortcutToggleScreenReaderPreferenceFragmentForSetupWizard
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
mToggleSwitchWasInitiallyChecked = mToggleServiceDividerSwitchPreference.isChecked();
|
||||
mToggleSwitchWasInitiallyChecked = mToggleServiceSwitchPreference.isChecked();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -40,10 +40,10 @@ public class VolumeShortcutToggleScreenReaderPreferenceFragmentForSetupWizard
|
||||
@Override
|
||||
public void onStop() {
|
||||
// Log the final choice in value if it's different from the previous value.
|
||||
if (mToggleServiceDividerSwitchPreference.isChecked() != mToggleSwitchWasInitiallyChecked) {
|
||||
if (mToggleServiceSwitchPreference.isChecked() != mToggleSwitchWasInitiallyChecked) {
|
||||
mMetricsFeatureProvider.action(getContext(),
|
||||
SettingsEnums.SUW_ACCESSIBILITY_TOGGLE_SCREEN_READER,
|
||||
mToggleServiceDividerSwitchPreference.isChecked());
|
||||
mToggleServiceSwitchPreference.isChecked());
|
||||
}
|
||||
|
||||
super.onStop();
|
||||
|
@@ -29,7 +29,7 @@ public class VolumeShortcutToggleSelectToSpeakPreferenceFragmentForSetupWizard
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
mToggleSwitchWasInitiallyChecked = mToggleServiceDividerSwitchPreference.isChecked();
|
||||
mToggleSwitchWasInitiallyChecked = mToggleServiceSwitchPreference.isChecked();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -40,10 +40,10 @@ public class VolumeShortcutToggleSelectToSpeakPreferenceFragmentForSetupWizard
|
||||
@Override
|
||||
public void onStop() {
|
||||
// Log the final choice in value if it's different from the previous value.
|
||||
if (mToggleServiceDividerSwitchPreference.isChecked() != mToggleSwitchWasInitiallyChecked) {
|
||||
if (mToggleServiceSwitchPreference.isChecked() != mToggleSwitchWasInitiallyChecked) {
|
||||
mMetricsFeatureProvider.action(getContext(),
|
||||
SettingsEnums.SUW_ACCESSIBILITY_TOGGLE_SELECT_TO_SPEAK,
|
||||
mToggleServiceDividerSwitchPreference.isChecked());
|
||||
mToggleServiceSwitchPreference.isChecked());
|
||||
}
|
||||
|
||||
super.onStop();
|
||||
|
Reference in New Issue
Block a user