Merge "[Flag cleanup] remove separate_accessibility_vibration_settings_fragments" into main
This commit is contained in:
@@ -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
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@@ -17,35 +17,27 @@
|
||||
package com.android.settings.accessibility;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.platform.test.annotations.RequiresFlagsEnabled;
|
||||
import android.platform.test.flag.junit.CheckFlagsRule;
|
||||
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.flags.Flags;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
|
||||
/** Tests for {@link VibrationIntensitySettingsFragment}. */
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@RequiresFlagsEnabled(Flags.FLAG_SEPARATE_ACCESSIBILITY_VIBRATION_SETTINGS_FRAGMENTS)
|
||||
public class VibrationIntensitySettingsFragmentTest {
|
||||
|
||||
@Rule
|
||||
public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
|
||||
|
||||
private Context mContext;
|
||||
private Resources mResources;
|
||||
private VibrationIntensitySettingsFragment mFragment;
|
||||
|
@@ -18,7 +18,9 @@ package com.android.settings.accessibility;
|
||||
|
||||
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
|
||||
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.doNothing;
|
||||
@@ -29,9 +31,6 @@ import static org.mockito.Mockito.when;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Vibrator;
|
||||
import android.platform.test.annotations.RequiresFlagsEnabled;
|
||||
import android.platform.test.flag.junit.CheckFlagsRule;
|
||||
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
|
||||
import android.provider.Settings;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
@@ -39,10 +38,8 @@ import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.flags.Flags;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
@@ -51,10 +48,6 @@ import org.robolectric.RobolectricTestRunner;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class VibrationPreferenceControllerTest {
|
||||
|
||||
@Rule
|
||||
public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
|
||||
|
||||
private static final String PREFERENCE_KEY = "preference_key";
|
||||
private static final int OFF = 0;
|
||||
private static final int ON = 1;
|
||||
@@ -130,7 +123,6 @@ public class VibrationPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@RequiresFlagsEnabled(Flags.FLAG_SEPARATE_ACCESSIBILITY_VIBRATION_SETTINGS_FRAGMENTS)
|
||||
public void handlePreferenceTreeClick_oneIntensityLevel_opensVibrationSettings() {
|
||||
when(mResources.getInteger(R.integer.config_vibration_supported_intensity_levels))
|
||||
.thenReturn(1);
|
||||
@@ -143,7 +135,6 @@ public class VibrationPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@RequiresFlagsEnabled(Flags.FLAG_SEPARATE_ACCESSIBILITY_VIBRATION_SETTINGS_FRAGMENTS)
|
||||
public void handlePreferenceTreeClick_multipleIntensityLevels_opensVibrationIntensity() {
|
||||
when(mResources.getInteger(R.integer.config_vibration_supported_intensity_levels))
|
||||
.thenReturn(2);
|
||||
|
@@ -17,35 +17,26 @@
|
||||
package com.android.settings.accessibility;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.platform.test.annotations.RequiresFlagsEnabled;
|
||||
import android.platform.test.flag.junit.CheckFlagsRule;
|
||||
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.flags.Flags;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
|
||||
/** Tests for {@link VibrationSettings} fragment. */
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@RequiresFlagsEnabled(Flags.FLAG_SEPARATE_ACCESSIBILITY_VIBRATION_SETTINGS_FRAGMENTS)
|
||||
public class VibrationSettingsTest {
|
||||
|
||||
@Rule
|
||||
public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
|
||||
|
||||
private Context mContext;
|
||||
private Resources mResources;
|
||||
private VibrationSettings mFragment;
|
||||
|
Reference in New Issue
Block a user