Merge "Replace Large mouse pointer setting with Pointer Scale" into main

This commit is contained in:
Pat Manning
2024-08-28 12:22:36 +00:00
committed by Android (Google) Code Review
4 changed files with 34 additions and 3 deletions

View File

@@ -72,6 +72,17 @@
android:title="@string/accessibility_toggle_large_pointer_icon_title"
settings:controller="com.android.settings.accessibility.LargePointerIconPreferenceController"/>
<com.android.settings.widget.LabeledSeekBarPreference
android:key="large_pointer_scale"
android:title="@string/accessibility_toggle_large_pointer_icon_title"
android:summary="@string/accessibility_toggle_large_pointer_icon_summary"
android:max="@integer/pointer_scale_seek_bar_end"
settings:iconStart="@drawable/ic_remove_24dp"
settings:iconStartContentDescription="@string/pointer_scale_decrease_content_description"
settings:iconEnd="@drawable/ic_add_24dp"
settings:iconEndContentDescription="@string/pointer_scale_increase_content_description"
settings:controller="com.android.settings.inputmethod.PointerScaleSeekBarController" />
<PreferenceCategory
android:key="experimental_category"
android:persistent="false"

View File

@@ -80,6 +80,7 @@
android:order="70"
android:max="@integer/pointer_scale_seek_bar_end"
settings:iconStart="@drawable/ic_remove_24dp"
settings:searchable="false"
settings:iconStartContentDescription="@string/pointer_scale_decrease_content_description"
settings:iconEnd="@drawable/ic_add_24dp"
settings:iconEndContentDescription="@string/pointer_scale_increase_content_description"

View File

@@ -49,7 +49,8 @@ public class LargePointerIconPreferenceController extends TogglePreferenceContro
@Override
public int getAvailabilityStatus() {
return AVAILABLE;
return android.view.flags.Flags.enableVectorCursorA11ySettings() ? CONDITIONALLY_UNAVAILABLE
: AVAILABLE;
}
@Override

View File

@@ -16,12 +16,18 @@
package com.android.settings.accessibility;
import static android.view.flags.Flags.FLAG_ENABLE_VECTOR_CURSOR_A11Y_SETTINGS;
import static com.android.settings.accessibility.LargePointerIconPreferenceController.OFF;
import static com.android.settings.accessibility.LargePointerIconPreferenceController.ON;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import android.platform.test.annotations.RequiresFlagsDisabled;
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.SwitchPreference;
@@ -31,12 +37,16 @@ import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.settings.core.BasePreferenceController;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class)
public class LargePointerIconPreferenceControllerTest {
@Rule
public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
private static final int UNKNOWN = -1;
private Context mContext;
@@ -51,9 +61,17 @@ public class LargePointerIconPreferenceControllerTest {
}
@Test
@RequiresFlagsDisabled(FLAG_ENABLE_VECTOR_CURSOR_A11Y_SETTINGS)
public void getAvailabilityStatus_shouldReturnAvailable() {
assertThat(mController.getAvailabilityStatus()).isEqualTo(
BasePreferenceController.AVAILABLE);
assertThat(mController.getAvailabilityStatus())
.isEqualTo(BasePreferenceController.AVAILABLE);
}
@Test
@RequiresFlagsEnabled(FLAG_ENABLE_VECTOR_CURSOR_A11Y_SETTINGS)
public void getAvailabilityStatus_shouldReturnConditionallyUnavailable() {
assertThat(mController.getAvailabilityStatus())
.isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
}
@Test