From ed5f0951f8799dae445cf1505a87b2456a8e070f Mon Sep 17 00:00:00 2001 From: Phil Weaver Date: Mon, 22 May 2017 16:57:11 -0700 Subject: [PATCH] Follow O patterns for a11y settings Move the summary for the toggled features to a footer. Make the settings appear as a preference. Bug: 36780887 Test: Start settings and observe the new UI looks a lot like the mocks referenced in the bug. Also added unit test to verify that summary text shows up. Change-Id: I1d002b194991d0901ecb27198ba5de73bd23a5a9 --- res/xml/accessibility_daltonizer_settings.xml | 6 -- .../accessibility/AccessibilitySettings.java | 17 ++-- ...ccessibilityServicePreferenceFragment.java | 9 --- .../ToggleDaltonizerPreferenceFragment.java | 4 + .../ToggleFeaturePreferenceFragment.java | 60 +++----------- ...ScreenMagnificationPreferenceFragment.java | 1 - .../ToggleFeaturePreferenceFragmentTest.java | 80 +++++++++++++++++++ 7 files changed, 107 insertions(+), 70 deletions(-) create mode 100644 tests/unit/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java diff --git a/res/xml/accessibility_daltonizer_settings.xml b/res/xml/accessibility_daltonizer_settings.xml index 9f084003827..9b553ac5a51 100644 --- a/res/xml/accessibility_daltonizer_settings.xml +++ b/res/xml/accessibility_daltonizer_settings.xml @@ -17,12 +17,6 @@ - - mActivityRule = + new ActivityTestRule<>(AccessibilitySettingsActivity.class, true); + + private final Instrumentation mInstrumentation = InstrumentationRegistry.getInstrumentation(); + + @BeforeClass + public static void oneTimeSetup() { + if (Looper.myLooper() == null) { + Looper.prepare(); + } + } + + @Before + public void setUp() { + mInstrumentation.runOnMainSync(() -> { + MyToggleFeaturePreferenceFragment fragment = new MyToggleFeaturePreferenceFragment(); + Bundle args = new Bundle(); + args.putString(AccessibilitySettings.EXTRA_SUMMARY, SUMMARY_TEXT); + fragment.setArguments(args); + mActivityRule.getActivity().startPreferenceFragment(fragment, false); + }); + } + + @Test + public void testSummaryTestDisplayed() { + onView(withText(SUMMARY_TEXT)).check(matches(isDisplayed())); + } + + public static class MyToggleFeaturePreferenceFragment extends ToggleFeaturePreferenceFragment { + @Override + protected void onPreferenceToggled(String preferenceKey, boolean enabled) {} + + @Override + public int getMetricsCategory() { + return 0; + } + } +} \ No newline at end of file