Loading src/com/android/settings/accessibility/FloatingMenuTransparencyPreferenceController.java +2 −3 Original line number Diff line number Diff line Loading @@ -51,9 +51,7 @@ public class FloatingMenuTransparencyPreferenceController extends SliderPreferen private final ContentResolver mContentResolver; @VisibleForTesting final ContentObserver mContentObserver; @VisibleForTesting SeekBarPreference mPreference; private SeekBarPreference mPreference; public FloatingMenuTransparencyPreferenceController(Context context, String preferenceKey) { Loading Loading @@ -83,6 +81,7 @@ public class FloatingMenuTransparencyPreferenceController extends SliderPreferen mPreference.setMin(getMin()); mPreference.setHapticFeedbackMode(SeekBarPreference.HAPTIC_FEEDBACK_MODE_ON_ENDS); updateAvailabilityStatus(); updateState(mPreference); } Loading tests/robotests/src/com/android/settings/accessibility/FloatingMenuTransparencyPreferenceControllerTest.java +65 −3 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import static com.android.settings.core.BasePreferenceController.DISABLED_DEPEND import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; Loading @@ -34,6 +35,7 @@ import android.content.ContentResolver; import android.content.Context; import android.provider.Settings; import androidx.preference.PreferenceScreen; import androidx.test.core.app.ApplicationProvider; import com.android.settings.widget.SeekBarPreference; Loading @@ -60,11 +62,18 @@ public class FloatingMenuTransparencyPreferenceControllerTest { @Mock private ContentResolver mContentResolver; private FloatingMenuTransparencyPreferenceController mController; private SeekBarPreference mSeekBarPreference; @Mock private PreferenceScreen mScreen; @Before public void setUp() { when(mContext.getContentResolver()).thenReturn(mContentResolver); mController = new FloatingMenuTransparencyPreferenceController(mContext, "test_key"); mSeekBarPreference = new SeekBarPreference(mContext); doReturn(mSeekBarPreference).when(mScreen).findPreference("test_key"); } @Test Loading @@ -84,14 +93,67 @@ public class FloatingMenuTransparencyPreferenceControllerTest { } @Test public void onChange_a11yBtnModeChangeToNavigationBar_preferenceDisabled() { mController.mPreference = new SeekBarPreference(mContext); public void displayPreference_floatingMenuMode_fadeEnabled_preferenceEnabled() { Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU); Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, /* ON */ 1); mController.displayPreference(mScreen); assertThat(mSeekBarPreference.isEnabled()).isTrue(); } @Test public void displayPreference_floatingMenuMode_fadeDisabled_preferenceDisabled() { Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU); Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, /* OFF */ 0); mController.displayPreference(mScreen); assertThat(mSeekBarPreference.isEnabled()).isFalse(); } @Test public void displayPreference_navigationBarMode_preferenceDisabled() { Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR); mController.displayPreference(mScreen); assertThat(mSeekBarPreference.isEnabled()).isFalse(); } @Test public void onChange_floatingMenuModeChangeToNavigationBar_preferenceDisabled() { Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU); Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, /* ON */ 1); mController.displayPreference(mScreen); Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR); mController.mContentObserver.onChange(false); assertThat(mSeekBarPreference.isEnabled()).isFalse(); } @Test public void onChange_navigationBarModeChangeToFloatingMenu_preferenceDisabled() { Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR); Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, /* ON */ 1); mController.displayPreference(mScreen); Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU); mController.mContentObserver.onChange(false); assertThat(mController.mPreference.isEnabled()).isFalse(); assertThat(mSeekBarPreference.isEnabled()).isTrue(); } @Test Loading Loading
src/com/android/settings/accessibility/FloatingMenuTransparencyPreferenceController.java +2 −3 Original line number Diff line number Diff line Loading @@ -51,9 +51,7 @@ public class FloatingMenuTransparencyPreferenceController extends SliderPreferen private final ContentResolver mContentResolver; @VisibleForTesting final ContentObserver mContentObserver; @VisibleForTesting SeekBarPreference mPreference; private SeekBarPreference mPreference; public FloatingMenuTransparencyPreferenceController(Context context, String preferenceKey) { Loading Loading @@ -83,6 +81,7 @@ public class FloatingMenuTransparencyPreferenceController extends SliderPreferen mPreference.setMin(getMin()); mPreference.setHapticFeedbackMode(SeekBarPreference.HAPTIC_FEEDBACK_MODE_ON_ENDS); updateAvailabilityStatus(); updateState(mPreference); } Loading
tests/robotests/src/com/android/settings/accessibility/FloatingMenuTransparencyPreferenceControllerTest.java +65 −3 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import static com.android.settings.core.BasePreferenceController.DISABLED_DEPEND import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; Loading @@ -34,6 +35,7 @@ import android.content.ContentResolver; import android.content.Context; import android.provider.Settings; import androidx.preference.PreferenceScreen; import androidx.test.core.app.ApplicationProvider; import com.android.settings.widget.SeekBarPreference; Loading @@ -60,11 +62,18 @@ public class FloatingMenuTransparencyPreferenceControllerTest { @Mock private ContentResolver mContentResolver; private FloatingMenuTransparencyPreferenceController mController; private SeekBarPreference mSeekBarPreference; @Mock private PreferenceScreen mScreen; @Before public void setUp() { when(mContext.getContentResolver()).thenReturn(mContentResolver); mController = new FloatingMenuTransparencyPreferenceController(mContext, "test_key"); mSeekBarPreference = new SeekBarPreference(mContext); doReturn(mSeekBarPreference).when(mScreen).findPreference("test_key"); } @Test Loading @@ -84,14 +93,67 @@ public class FloatingMenuTransparencyPreferenceControllerTest { } @Test public void onChange_a11yBtnModeChangeToNavigationBar_preferenceDisabled() { mController.mPreference = new SeekBarPreference(mContext); public void displayPreference_floatingMenuMode_fadeEnabled_preferenceEnabled() { Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU); Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, /* ON */ 1); mController.displayPreference(mScreen); assertThat(mSeekBarPreference.isEnabled()).isTrue(); } @Test public void displayPreference_floatingMenuMode_fadeDisabled_preferenceDisabled() { Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU); Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, /* OFF */ 0); mController.displayPreference(mScreen); assertThat(mSeekBarPreference.isEnabled()).isFalse(); } @Test public void displayPreference_navigationBarMode_preferenceDisabled() { Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR); mController.displayPreference(mScreen); assertThat(mSeekBarPreference.isEnabled()).isFalse(); } @Test public void onChange_floatingMenuModeChangeToNavigationBar_preferenceDisabled() { Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU); Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, /* ON */ 1); mController.displayPreference(mScreen); Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR); mController.mContentObserver.onChange(false); assertThat(mSeekBarPreference.isEnabled()).isFalse(); } @Test public void onChange_navigationBarModeChangeToFloatingMenu_preferenceDisabled() { Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR); Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, /* ON */ 1); mController.displayPreference(mScreen); Settings.Secure.putInt(mContentResolver, Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU); mController.mContentObserver.onChange(false); assertThat(mController.mPreference.isEnabled()).isFalse(); assertThat(mSeekBarPreference.isEnabled()).isTrue(); } @Test Loading