Loading src/com/android/settings/accessibility/VibrationIntensitySettingsFragment.java +1 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } } @Override Loading src/com/android/settings/accessibility/VibrationPreferenceController.java +1 −3 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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); Loading src/com/android/settings/accessibility/VibrationSettings.java +6 −61 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -68,7 +47,7 @@ public class VibrationSettings extends DashboardFragment { @Override protected int getPreferenceScreenResId() { return getVibrationXmlResourceId(getContext()); return R.xml.accessibility_vibration_settings; } @Override Loading @@ -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; } } 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; } }; } tests/robotests/src/com/android/settings/accessibility/VibrationIntensitySettingsFragmentTest.java +1 −9 Original line number Diff line number Diff line Loading @@ -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; Loading tests/robotests/src/com/android/settings/accessibility/VibrationPreferenceControllerTest.java +2 −11 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading Loading @@ -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); Loading @@ -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); Loading Loading
src/com/android/settings/accessibility/VibrationIntensitySettingsFragment.java +1 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } } @Override Loading
src/com/android/settings/accessibility/VibrationPreferenceController.java +1 −3 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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); Loading
src/com/android/settings/accessibility/VibrationSettings.java +6 −61 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -68,7 +47,7 @@ public class VibrationSettings extends DashboardFragment { @Override protected int getPreferenceScreenResId() { return getVibrationXmlResourceId(getContext()); return R.xml.accessibility_vibration_settings; } @Override Loading @@ -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; } } 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; } }; }
tests/robotests/src/com/android/settings/accessibility/VibrationIntensitySettingsFragmentTest.java +1 −9 Original line number Diff line number Diff line Loading @@ -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; Loading
tests/robotests/src/com/android/settings/accessibility/VibrationPreferenceControllerTest.java +2 −11 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading Loading @@ -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); Loading @@ -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); Loading