Merge "chore(onefingerpan): update onefingerpan preference summary and magnification settings page footer description" into main

This commit is contained in:
Roy Chou
2024-06-27 01:11:31 +00:00
committed by Android (Google) Code Review
6 changed files with 162 additions and 40 deletions

View File

@@ -133,23 +133,23 @@ public class MagnificationOneFingerPanningPreferenceControllerTest {
}
@Test
public void getSummary_switchModeAndSettingsOff_disabledSummaryTextUsed() {
public void getSummary_switchModeAndSettingsOff_defaultSummaryTextUsed() {
MagnificationCapabilities.setCapabilities(mContext, MagnificationMode.ALL);
Settings.Secure.putInt(mContext.getContentResolver(), ONE_FINGER_PANNING_KEY, OFF);
mController.updateState(mSwitchPreference);
assertThat(mController.getSummary()).isEqualTo(disabledSummary());
assertThat(mController.getSummary().toString()).isEqualTo(defaultSummary());
}
@Test
public void getSummary_switchModeAndSettingsOn_enabledSummaryTextUsed() {
public void getSummary_switchModeAndSettingsOn_defaultSummaryTextUsed() {
MagnificationCapabilities.setCapabilities(mContext, MagnificationMode.ALL);
Settings.Secure.putInt(mContext.getContentResolver(), ONE_FINGER_PANNING_KEY, ON);
mController.updateState(mSwitchPreference);
assertThat(mController.getSummary()).isEqualTo(enabledSummary());
assertThat(mController.getSummary().toString()).isEqualTo(defaultSummary());
}
@Test
@@ -158,7 +158,7 @@ public class MagnificationOneFingerPanningPreferenceControllerTest {
mController.updateState(mSwitchPreference);
assertThat(mController.getSummary()).isEqualTo(unavailableSummary());
assertThat(mController.getSummary().toString()).isEqualTo(unavailableSummary());
}
@Test
@@ -199,14 +199,9 @@ public class MagnificationOneFingerPanningPreferenceControllerTest {
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
}
private String enabledSummary() {
private String defaultSummary() {
return mContext.getString(
R.string.accessibility_magnification_one_finger_panning_summary_on);
}
private String disabledSummary() {
return mContext.getString(
R.string.accessibility_magnification_one_finger_panning_summary_off);
R.string.accessibility_magnification_one_finger_panning_summary);
}
private String unavailableSummary() {

View File

@@ -24,6 +24,7 @@ import static com.android.settings.accessibility.ToggleFeaturePreferenceFragment
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
@@ -393,6 +394,40 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
Settings.Secure.ACCESSIBILITY_QS_TARGETS))).hasSize(0);
}
@Test
@EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE)
public void onResume_oneFingerPanningFlagOn_registerToSpecificUri() {
ShadowContentResolver shadowContentResolver = Shadows.shadowOf(
mContext.getContentResolver());
Uri observedUri = Settings.Secure.getUriFor(
Settings.Secure.ACCESSIBILITY_SINGLE_FINGER_PANNING_ENABLED);
// verify no one finger panning settings observer registered before launching the fragment
assertThat(shadowContentResolver.getContentObservers(observedUri)).isEmpty();
mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
Collection<ContentObserver> observers =
shadowContentResolver.getContentObservers(observedUri);
assertThat(observers.size()).isEqualTo(1);
assertThat(observers.stream().findFirst().get()).isInstanceOf(
AccessibilitySettingsContentObserver.class);
}
@Test
@DisableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE)
public void onResume_oneFingerPanningFlagOff_notRegisterToSpecificUri() {
ShadowContentResolver shadowContentResolver = Shadows.shadowOf(
mContext.getContentResolver());
Uri observedUri = Settings.Secure.getUriFor(
Settings.Secure.ACCESSIBILITY_SINGLE_FINGER_PANNING_ENABLED);
// verify no one finger panning settings observer registered before launching the fragment
assertThat(shadowContentResolver.getContentObservers(observedUri)).isEmpty();
mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
// verify no one finger panning settings observer registered after launching the fragment
assertThat(shadowContentResolver.getContentObservers(observedUri)).isEmpty();
}
@Test
public void hasValueInSettings_putValue_hasValue() {
setMagnificationTripleTapEnabled(/* enabled= */ true);
@@ -934,7 +969,9 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
public void onProcessArguments_defaultArgumentUnavailable_shouldSetDefaultArguments() {
@DisableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE)
public void
onProcessArguments_defaultArgumentUnavailableAndFlagOff_shouldSetDefaultArguments() {
ToggleScreenMagnificationPreferenceFragment fragment =
mFragController.create(
R.id.main_content, /* bundle= */ null).start().resume().get();
@@ -947,6 +984,32 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
assertTrue(arguments.containsKey(AccessibilitySettings.EXTRA_HTML_DESCRIPTION));
}
@Test
@EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE)
public void
onProcessArguments_defaultArgumentUnavailableAndFlagOn_shouldSetDefaultArguments() {
ToggleScreenMagnificationPreferenceFragment fragment =
mFragController.create(
R.id.main_content, /* bundle= */ null).start().resume().get();
Bundle arguments = new Bundle();
fragment.onProcessArguments(arguments);
assertTrue(arguments.containsKey(AccessibilitySettings.EXTRA_PREFERENCE_KEY));
assertTrue(arguments.containsKey(AccessibilitySettings.EXTRA_INTRO));
// If OneFingerPanning flag is on, the EXTRA_HTML_DESCRIPTION should not be set. The html
// description would be decided dynamically based on the OneFingerPanning preference state.
assertFalse(arguments.containsKey(AccessibilitySettings.EXTRA_HTML_DESCRIPTION));
}
@Test
public void getCurrentHtmlDescription_shouldNotBeEmpty() {
ToggleScreenMagnificationPreferenceFragment fragment =
mFragController.create(
R.id.main_content, /* bundle= */ null).start().resume().get();
assertThat(fragment.getCurrentHtmlDescription().toString()).isNotEmpty();
}
@Test
public void getSummary_magnificationEnabled_returnShortcutOnWithSummary() {
setMagnificationTripleTapEnabled(true);