Loading packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationSettings.java +18 −65 Original line number Diff line number Diff line Loading @@ -104,6 +104,8 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest private ImageButton mFullScreenButton; private int mLastSelectedButtonIndex = MagnificationSize.DEFAULT; private boolean mAllowDiagonalScrolling = false; private boolean mAllowMagnifyTyping = false; private boolean mAllowMagnifyKeyboard = false; /** * Amount by which magnification scale changes compared to seekbar in settings. Loading @@ -114,12 +116,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest private WindowMagnificationSettingsCallback mCallback; @VisibleForTesting ContentObserver mMagnificationCapabilityObserver; @VisibleForTesting ContentObserver mMagnifyTypingObserver; @VisibleForTesting ContentObserver mMagnifyKeyboardObserver; private ContentObserver mMagnificationCapabilityObserver; @Retention(RetentionPolicy.SOURCE) @IntDef({ Loading Loading @@ -154,6 +151,17 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest Settings.Secure.ACCESSIBILITY_ALLOW_DIAGONAL_SCROLLING, 1, UserHandle.USER_CURRENT) == 1; if (Flags.enableMagnificationMagnifyNavBarAndIme()) { mAllowMagnifyTyping = mSecureSettings.getIntForUser( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED, 1, UserHandle.USER_CURRENT) == 1; mAllowMagnifyKeyboard = mSecureSettings.getIntForUser( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME, AccessibilityUtils.getMagnificationMagnifyKeyboardDefaultValue(mContext), UserHandle.USER_CURRENT) == 1; } mParams = createLayoutParams(context); mWindowInsetChangeRunnable = this::onWindowInsetChanged; Loading @@ -171,28 +179,6 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest }); } }; if (Flags.enableMagnificationMagnifyNavBarAndIme()) { mMagnifyTypingObserver = new ContentObserver( mContext.getMainThreadHandler()) { @Override public void onChange(boolean selfChange) { mSettingView.post(() -> { updateMagnifyTypingUI(); }); } }; mMagnifyKeyboardObserver = new ContentObserver( mContext.getMainThreadHandler()) { @Override public void onChange(boolean selfChange) { mSettingView.post(() -> { updateMagnifyKeyboardUI(); }); } }; } } private class ZoomSeekbarChangeListener implements Loading Loading @@ -350,10 +336,6 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest // Unregister observer before removing view mSecureSettings.unregisterContentObserverSync(mMagnificationCapabilityObserver); if (Flags.enableMagnificationMagnifyNavBarAndIme()) { mSecureSettings.unregisterContentObserverSync(mMagnifyTypingObserver); mSecureSettings.unregisterContentObserverSync(mMagnifyKeyboardObserver); } mWindowManager.removeView(mSettingView); mIsVisible = false; if (resetPosition) { Loading Loading @@ -405,8 +387,6 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest private void showSettingPanel(boolean resetPosition) { if (!mIsVisible) { updateUIControlsIfNeeded(); updateMagnifyTypingUI(); updateMagnifyKeyboardUI(); setScaleSeekbar(getMagnificationScale()); if (resetPosition) { mDraggableWindowBounds.set(getDraggableWindowBounds()); Loading @@ -421,18 +401,6 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest mMagnificationCapabilityObserver, UserHandle.USER_CURRENT); if (Flags.enableMagnificationMagnifyNavBarAndIme()) { mSecureSettings.registerContentObserverForUserSync( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED, mMagnifyTypingObserver, UserHandle.USER_CURRENT); mSecureSettings.registerContentObserverForUserSync( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME, mMagnifyKeyboardObserver, UserHandle.USER_CURRENT); } // Exclude magnification switch button from system gesture area. setSystemGestureExclusion(); mIsVisible = true; Loading Loading @@ -469,17 +437,12 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest @VisibleForTesting boolean isMagnifyTypingEnabled() { return mSecureSettings.getIntForUser( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED, 1, UserHandle.USER_CURRENT) == 1; return mAllowMagnifyTyping; } @VisibleForTesting boolean isMagnifyKeyboardEnabled() { return mSecureSettings.getIntForUser( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME, AccessibilityUtils.getMagnificationMagnifyKeyboardDefaultValue(mContext), UserHandle.USER_CURRENT) == 1; return mAllowMagnifyKeyboard; } /** Loading Loading @@ -567,16 +530,6 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest mSettingView.requestLayout(); } private void updateMagnifyTypingUI() { mMagnifyTypingSwitch.setChecked(isMagnifyTypingEnabled()); mSettingView.requestLayout(); } private void updateMagnifyKeyboardUI() { mMagnifyKeyboardSwitch.setChecked(isMagnifyKeyboardEnabled()); mSettingView.requestLayout(); } private final BroadcastReceiver mScreenOffReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Loading Loading @@ -621,7 +574,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest (LinearLayout) mSettingView.findViewById(R.id.magnifier_typing_view); mMagnifyTypingSwitch = (MaterialSwitch) mSettingView.findViewById(R.id.magnifier_typing_switch); mMagnifyTypingSwitch.setChecked(isMagnifyTypingEnabled()); mMagnifyTypingSwitch.setChecked(mAllowMagnifyTyping); mMagnifyTypingSwitch.setOnCheckedChangeListener( (view, isChecked) -> setMagnifyTyping(isChecked)); Loading @@ -629,7 +582,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest (LinearLayout) mSettingView.findViewById(R.id.magnifier_keyboard_view); mMagnifyKeyboardSwitch = (MaterialSwitch) mSettingView.findViewById(R.id.magnifier_keyboard_switch); mMagnifyKeyboardSwitch.setChecked(isMagnifyKeyboardEnabled()); mMagnifyKeyboardSwitch.setChecked(mAllowMagnifyKeyboard); mMagnifyKeyboardSwitch.setOnCheckedChangeListener( (view, isChecked) -> setMagnifyKeyboard(isChecked)); } Loading packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationSettingsTest.java +3 −128 Original line number Diff line number Diff line Loading @@ -17,8 +17,6 @@ package com.android.systemui.accessibility; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_CAPABILITY; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_ALL; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; Loading Loading @@ -77,8 +75,6 @@ import com.android.systemui.common.ui.view.SeekBarWithIconButtonsView.OnSeekBarW import com.android.systemui.res.R; import com.android.systemui.util.settings.SecureSettings; import com.google.android.material.materialswitch.MaterialSwitch; import org.junit.After; import org.junit.Before; import org.junit.Test; Loading @@ -99,8 +95,6 @@ public class WindowMagnificationSettingsTest extends SysuiTestCase { private ViewGroup mSettingView; private SeekBarWithIconButtonsView mZoomSeekbar; private MaterialSwitch mMagnifyTypingSwitch; private MaterialSwitch mMagnifyKeyboardSwitch; @Mock private AccessibilityManager mAccessibilityManager; @Mock Loading Loading @@ -136,10 +130,6 @@ public class WindowMagnificationSettingsTest extends SysuiTestCase { mSettingView = mWindowMagnificationSettings.getSettingView(); mZoomSeekbar = mSettingView.findViewById(R.id.magnifier_zoom_slider); mMagnifyTypingSwitch = (MaterialSwitch) mSettingView.findViewById(R.id.magnifier_typing_switch); mMagnifyKeyboardSwitch = (MaterialSwitch) mSettingView.findViewById(R.id.magnifier_keyboard_switch); mCallbackMagnifierScaleCaptor = ArgumentCaptor.forClass(Float.class); } Loading Loading @@ -464,7 +454,7 @@ public class WindowMagnificationSettingsTest extends SysuiTestCase { } @Test public void showSettingsPanel_magnificationCapabilityObserverRegistered() { public void showSettingsPanel_observerRegistered() { setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); Loading @@ -478,51 +468,7 @@ public class WindowMagnificationSettingsTest extends SysuiTestCase { } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void showSettingsPanel_MagnifyTypingObserverRegistered() { setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); mWindowMagnificationSettings.showSettingPanel(); verify(mSecureSettings).registerContentObserverForUserSync( eq(ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED), any(ContentObserver.class), eq(UserHandle.USER_CURRENT)); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void showSettingsPanel_MagnifyKeyboardObserverRegistered() { setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); mWindowMagnificationSettings.showSettingPanel(); verify(mSecureSettings).registerContentObserverForUserSync( eq(ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME), any(ContentObserver.class), eq(UserHandle.USER_CURRENT)); } @Test public void hideSettingsPanel_MagnificationCapabilityObserverUnregistered() { setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); mWindowMagnificationSettings.showSettingPanel(); mWindowMagnificationSettings.hideSettingPanel(); verify(mSecureSettings).unregisterContentObserverSync( mWindowMagnificationSettings.mMagnificationCapabilityObserver); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void hideSettingsPanel_magnifyTypingObserverUnregistered() { public void hideSettingsPanel_observerUnregistered() { setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); Loading @@ -530,78 +476,7 @@ public class WindowMagnificationSettingsTest extends SysuiTestCase { mWindowMagnificationSettings.showSettingPanel(); mWindowMagnificationSettings.hideSettingPanel(); verify(mSecureSettings).unregisterContentObserverSync( mWindowMagnificationSettings.mMagnifyTypingObserver); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void hideSettingsPanel_magnifyKeyboardObserverUnregistered() { setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); mWindowMagnificationSettings.showSettingPanel(); mWindowMagnificationSettings.hideSettingPanel(); verify(mSecureSettings).unregisterContentObserverSync( mWindowMagnificationSettings.mMagnifyKeyboardObserver); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void magnifyTypingSwitch_settingsValueIsTrue_switchIsChecked() { when(mSecureSettings.getIntForUser(eq(ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED), anyInt(), eq(UserHandle.USER_CURRENT))).thenReturn(1); setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); mWindowMagnificationSettings.showSettingPanel(); assertThat(mMagnifyTypingSwitch.isChecked()).isEqualTo(true); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void magnifyTypingSwitch_settingsValueIsFalse_switchIsUnchecked() { when(mSecureSettings.getIntForUser(eq(ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED), anyInt(), eq(UserHandle.USER_CURRENT))).thenReturn(0); setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); mWindowMagnificationSettings.showSettingPanel(); assertThat(mMagnifyTypingSwitch.isChecked()).isEqualTo(false); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void magnifyKeyboardSwitch_settingsValueIsTrue_switchIsChecked() { when(mSecureSettings.getIntForUser(eq(ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME), anyInt(), eq(UserHandle.USER_CURRENT))).thenReturn(1); setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN); mWindowMagnificationSettings.showSettingPanel(); assertThat(mMagnifyKeyboardSwitch.isChecked()).isEqualTo(true); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void magnifyKeyboardSwitch_settingsValueIsFalse_switchIsUnchecked() { when(mSecureSettings.getIntForUser(eq(ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME), anyInt(), eq(UserHandle.USER_CURRENT))).thenReturn(0); setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN); mWindowMagnificationSettings.showSettingPanel(); assertThat(mMagnifyKeyboardSwitch.isChecked()).isEqualTo(false); verify(mSecureSettings).unregisterContentObserverSync(any(ContentObserver.class)); } @Test Loading Loading
packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationSettings.java +18 −65 Original line number Diff line number Diff line Loading @@ -104,6 +104,8 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest private ImageButton mFullScreenButton; private int mLastSelectedButtonIndex = MagnificationSize.DEFAULT; private boolean mAllowDiagonalScrolling = false; private boolean mAllowMagnifyTyping = false; private boolean mAllowMagnifyKeyboard = false; /** * Amount by which magnification scale changes compared to seekbar in settings. Loading @@ -114,12 +116,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest private WindowMagnificationSettingsCallback mCallback; @VisibleForTesting ContentObserver mMagnificationCapabilityObserver; @VisibleForTesting ContentObserver mMagnifyTypingObserver; @VisibleForTesting ContentObserver mMagnifyKeyboardObserver; private ContentObserver mMagnificationCapabilityObserver; @Retention(RetentionPolicy.SOURCE) @IntDef({ Loading Loading @@ -154,6 +151,17 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest Settings.Secure.ACCESSIBILITY_ALLOW_DIAGONAL_SCROLLING, 1, UserHandle.USER_CURRENT) == 1; if (Flags.enableMagnificationMagnifyNavBarAndIme()) { mAllowMagnifyTyping = mSecureSettings.getIntForUser( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED, 1, UserHandle.USER_CURRENT) == 1; mAllowMagnifyKeyboard = mSecureSettings.getIntForUser( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME, AccessibilityUtils.getMagnificationMagnifyKeyboardDefaultValue(mContext), UserHandle.USER_CURRENT) == 1; } mParams = createLayoutParams(context); mWindowInsetChangeRunnable = this::onWindowInsetChanged; Loading @@ -171,28 +179,6 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest }); } }; if (Flags.enableMagnificationMagnifyNavBarAndIme()) { mMagnifyTypingObserver = new ContentObserver( mContext.getMainThreadHandler()) { @Override public void onChange(boolean selfChange) { mSettingView.post(() -> { updateMagnifyTypingUI(); }); } }; mMagnifyKeyboardObserver = new ContentObserver( mContext.getMainThreadHandler()) { @Override public void onChange(boolean selfChange) { mSettingView.post(() -> { updateMagnifyKeyboardUI(); }); } }; } } private class ZoomSeekbarChangeListener implements Loading Loading @@ -350,10 +336,6 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest // Unregister observer before removing view mSecureSettings.unregisterContentObserverSync(mMagnificationCapabilityObserver); if (Flags.enableMagnificationMagnifyNavBarAndIme()) { mSecureSettings.unregisterContentObserverSync(mMagnifyTypingObserver); mSecureSettings.unregisterContentObserverSync(mMagnifyKeyboardObserver); } mWindowManager.removeView(mSettingView); mIsVisible = false; if (resetPosition) { Loading Loading @@ -405,8 +387,6 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest private void showSettingPanel(boolean resetPosition) { if (!mIsVisible) { updateUIControlsIfNeeded(); updateMagnifyTypingUI(); updateMagnifyKeyboardUI(); setScaleSeekbar(getMagnificationScale()); if (resetPosition) { mDraggableWindowBounds.set(getDraggableWindowBounds()); Loading @@ -421,18 +401,6 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest mMagnificationCapabilityObserver, UserHandle.USER_CURRENT); if (Flags.enableMagnificationMagnifyNavBarAndIme()) { mSecureSettings.registerContentObserverForUserSync( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED, mMagnifyTypingObserver, UserHandle.USER_CURRENT); mSecureSettings.registerContentObserverForUserSync( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME, mMagnifyKeyboardObserver, UserHandle.USER_CURRENT); } // Exclude magnification switch button from system gesture area. setSystemGestureExclusion(); mIsVisible = true; Loading Loading @@ -469,17 +437,12 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest @VisibleForTesting boolean isMagnifyTypingEnabled() { return mSecureSettings.getIntForUser( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED, 1, UserHandle.USER_CURRENT) == 1; return mAllowMagnifyTyping; } @VisibleForTesting boolean isMagnifyKeyboardEnabled() { return mSecureSettings.getIntForUser( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME, AccessibilityUtils.getMagnificationMagnifyKeyboardDefaultValue(mContext), UserHandle.USER_CURRENT) == 1; return mAllowMagnifyKeyboard; } /** Loading Loading @@ -567,16 +530,6 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest mSettingView.requestLayout(); } private void updateMagnifyTypingUI() { mMagnifyTypingSwitch.setChecked(isMagnifyTypingEnabled()); mSettingView.requestLayout(); } private void updateMagnifyKeyboardUI() { mMagnifyKeyboardSwitch.setChecked(isMagnifyKeyboardEnabled()); mSettingView.requestLayout(); } private final BroadcastReceiver mScreenOffReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Loading Loading @@ -621,7 +574,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest (LinearLayout) mSettingView.findViewById(R.id.magnifier_typing_view); mMagnifyTypingSwitch = (MaterialSwitch) mSettingView.findViewById(R.id.magnifier_typing_switch); mMagnifyTypingSwitch.setChecked(isMagnifyTypingEnabled()); mMagnifyTypingSwitch.setChecked(mAllowMagnifyTyping); mMagnifyTypingSwitch.setOnCheckedChangeListener( (view, isChecked) -> setMagnifyTyping(isChecked)); Loading @@ -629,7 +582,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest (LinearLayout) mSettingView.findViewById(R.id.magnifier_keyboard_view); mMagnifyKeyboardSwitch = (MaterialSwitch) mSettingView.findViewById(R.id.magnifier_keyboard_switch); mMagnifyKeyboardSwitch.setChecked(isMagnifyKeyboardEnabled()); mMagnifyKeyboardSwitch.setChecked(mAllowMagnifyKeyboard); mMagnifyKeyboardSwitch.setOnCheckedChangeListener( (view, isChecked) -> setMagnifyKeyboard(isChecked)); } Loading
packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationSettingsTest.java +3 −128 Original line number Diff line number Diff line Loading @@ -17,8 +17,6 @@ package com.android.systemui.accessibility; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_CAPABILITY; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_ALL; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; Loading Loading @@ -77,8 +75,6 @@ import com.android.systemui.common.ui.view.SeekBarWithIconButtonsView.OnSeekBarW import com.android.systemui.res.R; import com.android.systemui.util.settings.SecureSettings; import com.google.android.material.materialswitch.MaterialSwitch; import org.junit.After; import org.junit.Before; import org.junit.Test; Loading @@ -99,8 +95,6 @@ public class WindowMagnificationSettingsTest extends SysuiTestCase { private ViewGroup mSettingView; private SeekBarWithIconButtonsView mZoomSeekbar; private MaterialSwitch mMagnifyTypingSwitch; private MaterialSwitch mMagnifyKeyboardSwitch; @Mock private AccessibilityManager mAccessibilityManager; @Mock Loading Loading @@ -136,10 +130,6 @@ public class WindowMagnificationSettingsTest extends SysuiTestCase { mSettingView = mWindowMagnificationSettings.getSettingView(); mZoomSeekbar = mSettingView.findViewById(R.id.magnifier_zoom_slider); mMagnifyTypingSwitch = (MaterialSwitch) mSettingView.findViewById(R.id.magnifier_typing_switch); mMagnifyKeyboardSwitch = (MaterialSwitch) mSettingView.findViewById(R.id.magnifier_keyboard_switch); mCallbackMagnifierScaleCaptor = ArgumentCaptor.forClass(Float.class); } Loading Loading @@ -464,7 +454,7 @@ public class WindowMagnificationSettingsTest extends SysuiTestCase { } @Test public void showSettingsPanel_magnificationCapabilityObserverRegistered() { public void showSettingsPanel_observerRegistered() { setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); Loading @@ -478,51 +468,7 @@ public class WindowMagnificationSettingsTest extends SysuiTestCase { } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void showSettingsPanel_MagnifyTypingObserverRegistered() { setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); mWindowMagnificationSettings.showSettingPanel(); verify(mSecureSettings).registerContentObserverForUserSync( eq(ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED), any(ContentObserver.class), eq(UserHandle.USER_CURRENT)); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void showSettingsPanel_MagnifyKeyboardObserverRegistered() { setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); mWindowMagnificationSettings.showSettingPanel(); verify(mSecureSettings).registerContentObserverForUserSync( eq(ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME), any(ContentObserver.class), eq(UserHandle.USER_CURRENT)); } @Test public void hideSettingsPanel_MagnificationCapabilityObserverUnregistered() { setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); mWindowMagnificationSettings.showSettingPanel(); mWindowMagnificationSettings.hideSettingPanel(); verify(mSecureSettings).unregisterContentObserverSync( mWindowMagnificationSettings.mMagnificationCapabilityObserver); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void hideSettingsPanel_magnifyTypingObserverUnregistered() { public void hideSettingsPanel_observerUnregistered() { setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); Loading @@ -530,78 +476,7 @@ public class WindowMagnificationSettingsTest extends SysuiTestCase { mWindowMagnificationSettings.showSettingPanel(); mWindowMagnificationSettings.hideSettingPanel(); verify(mSecureSettings).unregisterContentObserverSync( mWindowMagnificationSettings.mMagnifyTypingObserver); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void hideSettingsPanel_magnifyKeyboardObserverUnregistered() { setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); mWindowMagnificationSettings.showSettingPanel(); mWindowMagnificationSettings.hideSettingPanel(); verify(mSecureSettings).unregisterContentObserverSync( mWindowMagnificationSettings.mMagnifyKeyboardObserver); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void magnifyTypingSwitch_settingsValueIsTrue_switchIsChecked() { when(mSecureSettings.getIntForUser(eq(ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED), anyInt(), eq(UserHandle.USER_CURRENT))).thenReturn(1); setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); mWindowMagnificationSettings.showSettingPanel(); assertThat(mMagnifyTypingSwitch.isChecked()).isEqualTo(true); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void magnifyTypingSwitch_settingsValueIsFalse_switchIsUnchecked() { when(mSecureSettings.getIntForUser(eq(ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED), anyInt(), eq(UserHandle.USER_CURRENT))).thenReturn(0); setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); mWindowMagnificationSettings.showSettingPanel(); assertThat(mMagnifyTypingSwitch.isChecked()).isEqualTo(false); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void magnifyKeyboardSwitch_settingsValueIsTrue_switchIsChecked() { when(mSecureSettings.getIntForUser(eq(ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME), anyInt(), eq(UserHandle.USER_CURRENT))).thenReturn(1); setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN); mWindowMagnificationSettings.showSettingPanel(); assertThat(mMagnifyKeyboardSwitch.isChecked()).isEqualTo(true); } @Test @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MAGNIFY_NAV_BAR_AND_IME) public void magnifyKeyboardSwitch_settingsValueIsFalse_switchIsUnchecked() { when(mSecureSettings.getIntForUser(eq(ACCESSIBILITY_MAGNIFICATION_MAGNIFY_NAV_AND_IME), anyInt(), eq(UserHandle.USER_CURRENT))).thenReturn(0); setupMagnificationCapabilityAndMode( /* capability= */ ACCESSIBILITY_MAGNIFICATION_MODE_ALL, /* mode= */ ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN); mWindowMagnificationSettings.showSettingPanel(); assertThat(mMagnifyKeyboardSwitch.isChecked()).isEqualTo(false); verify(mSecureSettings).unregisterContentObserverSync(any(ContentObserver.class)); } @Test Loading