Merge "[Flag cleanup] remove separate_accessibility_vibration_settings_fragments" into main

This commit is contained in:
Chun-Ku Lin
2024-04-12 18:10:11 +00:00
committed by Android (Google) Code Review
6 changed files with 12 additions and 100 deletions

View File

@@ -30,7 +30,6 @@ import androidx.recyclerview.widget.RecyclerView;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.flags.Flags;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable;
@@ -65,11 +64,7 @@ public class VibrationIntensitySettingsFragment extends DashboardFragment {
final int supportedIntensityLevels = context.getResources().getInteger(
R.integer.config_vibration_supported_intensity_levels);
final boolean hasVibrator = context.getSystemService(Vibrator.class).hasVibrator();
if (Flags.separateAccessibilityVibrationSettingsFragments()) {
return hasVibrator && supportedIntensityLevels > 1;
} else {
return false;
}
return hasVibrator && supportedIntensityLevels > 1;
}
@Override

View File

@@ -29,7 +29,6 @@ import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.flags.Flags;
/** Controller for "Vibration & haptics" settings page. */
public class VibrationPreferenceController extends BasePreferenceController {
@@ -66,8 +65,7 @@ public class VibrationPreferenceController extends BasePreferenceController {
@Override
public boolean handlePreferenceTreeClick(Preference preference) {
if (Flags.separateAccessibilityVibrationSettingsFragments()
&& TextUtils.equals(preference.getKey(), getPreferenceKey())) {
if (TextUtils.equals(preference.getKey(), getPreferenceKey())) {
if (mContext.getResources().getInteger(
R.integer.config_vibration_supported_intensity_levels) > 1) {
launchVibrationSettingsFragment(VibrationIntensitySettingsFragment.class);

View File

@@ -18,44 +18,23 @@ package com.android.settings.accessibility;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.Vibrator;
import android.provider.SearchIndexableResource;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.VisibleForTesting;
import androidx.recyclerview.widget.RecyclerView;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.flags.Flags;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable;
import java.util.ArrayList;
import java.util.List;
/** Accessibility settings for the vibration. */
/**
* Accessibility settings for the vibration.
*/
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class VibrationSettings extends DashboardFragment {
private static final String TAG = "VibrationSettings";
private static int getVibrationXmlResourceId(Context context) {
if (Flags.separateAccessibilityVibrationSettingsFragments()) {
return R.xml.accessibility_vibration_settings;
}
final int supportedIntensities = context.getResources().getInteger(
R.integer.config_vibration_supported_intensity_levels);
return supportedIntensities > 1
? R.xml.accessibility_vibration_intensity_settings
: R.xml.accessibility_vibration_settings;
}
@Override
public int getMetricsCategory() {
return SettingsEnums.ACCESSIBILITY_VIBRATION;
@@ -68,7 +47,7 @@ public class VibrationSettings extends DashboardFragment {
@Override
protected int getPreferenceScreenResId() {
return getVibrationXmlResourceId(getContext());
return R.xml.accessibility_vibration_settings;
}
@Override
@@ -76,53 +55,19 @@ public class VibrationSettings extends DashboardFragment {
return TAG;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (Flags.separateAccessibilityVibrationSettingsFragments()) {
return super.onCreateView(inflater, container, savedInstanceState);
}
final View view = super.onCreateView(inflater, container, savedInstanceState);
final RecyclerView rv = getListView();
final Resources res = view.getResources();
final int supportedIntensities = res.getInteger(
R.integer.config_vibration_supported_intensity_levels);
if (rv != null && supportedIntensities > 1) {
final int bottom_padding = res.getDimensionPixelSize(
com.android.settingslib.widget.theme.R.dimen.settingslib_listPreferredItemPaddingEnd);
rv.setPaddingRelative(rv.getPaddingStart(), rv.getPaddingTop(), rv.getPaddingEnd(),
rv.getPaddingBottom() + bottom_padding);
}
return view;
}
@VisibleForTesting
static boolean isPageSearchEnabled(Context context) {
final int supportedIntensityLevels = context.getResources().getInteger(
R.integer.config_vibration_supported_intensity_levels);
final boolean hasVibrator = context.getSystemService(Vibrator.class).hasVibrator();
if (Flags.separateAccessibilityVibrationSettingsFragments()) {
return hasVibrator && supportedIntensityLevels == 1;
} else {
return hasVibrator;
}
return hasVibrator && supportedIntensityLevels == 1;
}
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
new BaseSearchIndexProvider(R.xml.accessibility_vibration_settings) {
@Override
protected boolean isPageSearchEnabled(Context context) {
return VibrationSettings.isPageSearchEnabled(context);
}
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
boolean enabled) {
final List<SearchIndexableResource> resourceData = new ArrayList<>();
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = getVibrationXmlResourceId(context);
resourceData.add(sir);
return resourceData;
}
};
}