Loading packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityLogger.kt 0 → 100644 +54 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.systemui.accessibility import com.android.internal.logging.UiEvent import com.android.internal.logging.UiEventLogger import javax.inject.Inject /** * Handles logging UiEvent stats for simple UI interactions. * * See go/uievent */ class AccessibilityLogger @Inject constructor(private val uiEventLogger: UiEventLogger) { /** Logs the given event */ fun log(event: UiEventLogger.UiEventEnum) { uiEventLogger.log(event) } /** Events regarding interaction with the magnifier settings panel */ enum class MagnificationSettingsEvent constructor(private val id: Int) : UiEventLogger.UiEventEnum { @UiEvent(doc = "Magnification settings panel opened.") MAGNIFICATION_SETTINGS_PANEL_OPENED(1381), @UiEvent(doc = "Magnification settings panel closed") MAGNIFICATION_SETTINGS_PANEL_CLOSED(1382), @UiEvent(doc = "Magnification settings panel edit size button clicked") MAGNIFICATION_SETTINGS_SIZE_EDITING_ACTIVATED(1383), @UiEvent(doc = "Magnification settings panel edit size save button clicked") MAGNIFICATION_SETTINGS_SIZE_EDITING_DEACTIVATED(1384), @UiEvent(doc = "Magnification settings panel window size selected") MAGNIFICATION_SETTINGS_WINDOW_SIZE_SELECTED(1386); override fun getId(): Int = this.id } } packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnification.java +11 −1 Original line number Original line Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.accessibility; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY; import static com.android.systemui.accessibility.AccessibilityLogger.MagnificationSettingsEvent; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_MAGNIFICATION_OVERLAP; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_MAGNIFICATION_OVERLAP; import android.annotation.MainThread; import android.annotation.MainThread; Loading Loading @@ -66,6 +67,7 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback private final CommandQueue mCommandQueue; private final CommandQueue mCommandQueue; private final OverviewProxyService mOverviewProxyService; private final OverviewProxyService mOverviewProxyService; private final DisplayTracker mDisplayTracker; private final DisplayTracker mDisplayTracker; private final AccessibilityLogger mA11yLogger; private WindowMagnificationConnectionImpl mWindowMagnificationConnectionImpl; private WindowMagnificationConnectionImpl mWindowMagnificationConnectionImpl; private SysUiState mSysUiState; private SysUiState mSysUiState; Loading Loading @@ -151,7 +153,7 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback CommandQueue commandQueue, ModeSwitchesController modeSwitchesController, CommandQueue commandQueue, ModeSwitchesController modeSwitchesController, SysUiState sysUiState, OverviewProxyService overviewProxyService, SysUiState sysUiState, OverviewProxyService overviewProxyService, SecureSettings secureSettings, DisplayTracker displayTracker, SecureSettings secureSettings, DisplayTracker displayTracker, DisplayManager displayManager) { DisplayManager displayManager, AccessibilityLogger a11yLogger) { mContext = context; mContext = context; mHandler = mainHandler; mHandler = mainHandler; mAccessibilityManager = mContext.getSystemService(AccessibilityManager.class); mAccessibilityManager = mContext.getSystemService(AccessibilityManager.class); Loading @@ -160,6 +162,7 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback mSysUiState = sysUiState; mSysUiState = sysUiState; mOverviewProxyService = overviewProxyService; mOverviewProxyService = overviewProxyService; mDisplayTracker = displayTracker; mDisplayTracker = displayTracker; mA11yLogger = a11yLogger; mMagnificationControllerSupplier = new ControllerSupplier(context, mMagnificationControllerSupplier = new ControllerSupplier(context, mHandler, mWindowMagnifierCallback, mHandler, mWindowMagnifierCallback, displayManager, sysUiState, secureSettings); displayManager, sysUiState, secureSettings); Loading Loading @@ -343,6 +346,7 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback @Override @Override public void onSetMagnifierSize(int displayId, int index) { public void onSetMagnifierSize(int displayId, int index) { mHandler.post(() -> onSetMagnifierSizeInternal(displayId, index)); mHandler.post(() -> onSetMagnifierSizeInternal(displayId, index)); mA11yLogger.log(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_WINDOW_SIZE_SELECTED); } } @Override @Override Loading @@ -353,6 +357,9 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback @Override @Override public void onEditMagnifierSizeMode(int displayId, boolean enable) { public void onEditMagnifierSizeMode(int displayId, boolean enable) { mHandler.post(() -> onEditMagnifierSizeModeInternal(displayId, enable)); mHandler.post(() -> onEditMagnifierSizeModeInternal(displayId, enable)); mA11yLogger.log(enable ? MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_SIZE_EDITING_ACTIVATED : MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_SIZE_EDITING_DEACTIVATED); } } @Override @Override Loading @@ -370,6 +377,9 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback @Override @Override public void onSettingsPanelVisibilityChanged(int displayId, boolean shown) { public void onSettingsPanelVisibilityChanged(int displayId, boolean shown) { mHandler.post(() -> onSettingsPanelVisibilityChangedInternal(displayId, shown)); mHandler.post(() -> onSettingsPanelVisibilityChangedInternal(displayId, shown)); mA11yLogger.log(shown ? MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_PANEL_OPENED : MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_PANEL_CLOSED); } } }; }; Loading packages/SystemUI/tests/src/com/android/systemui/accessibility/IWindowMagnificationConnectionTest.java +3 −1 Original line number Original line Diff line number Diff line Loading @@ -80,6 +80,8 @@ public class IWindowMagnificationConnectionTest extends SysuiTestCase { private OverviewProxyService mOverviewProxyService; private OverviewProxyService mOverviewProxyService; @Mock @Mock private SecureSettings mSecureSettings; private SecureSettings mSecureSettings; @Mock private AccessibilityLogger mA11yLogger; private IWindowMagnificationConnection mIWindowMagnificationConnection; private IWindowMagnificationConnection mIWindowMagnificationConnection; private WindowMagnification mWindowMagnification; private WindowMagnification mWindowMagnification; Loading @@ -97,7 +99,7 @@ public class IWindowMagnificationConnectionTest extends SysuiTestCase { mWindowMagnification = new WindowMagnification(getContext(), mWindowMagnification = new WindowMagnification(getContext(), getContext().getMainThreadHandler(), mCommandQueue, getContext().getMainThreadHandler(), mCommandQueue, mModeSwitchesController, mSysUiState, mOverviewProxyService, mSecureSettings, mModeSwitchesController, mSysUiState, mOverviewProxyService, mSecureSettings, mDisplayTracker, getContext().getSystemService(DisplayManager.class)); mDisplayTracker, getContext().getSystemService(DisplayManager.class), mA11yLogger); mWindowMagnification.mMagnificationControllerSupplier = new FakeControllerSupplier( mWindowMagnification.mMagnificationControllerSupplier = new FakeControllerSupplier( mContext.getSystemService(DisplayManager.class)); mContext.getSystemService(DisplayManager.class)); mWindowMagnification.mMagnificationSettingsSupplier = new FakeSettingsSupplier( mWindowMagnification.mMagnificationSettingsSupplier = new FakeSettingsSupplier( Loading packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationTest.java +33 −1 Original line number Original line Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.accessibility; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; import static com.android.systemui.accessibility.AccessibilityLogger.MagnificationSettingsEvent; import static com.android.systemui.accessibility.WindowMagnificationSettings.MagnificationSize; import static com.android.systemui.accessibility.WindowMagnificationSettings.MagnificationSize; import static com.android.systemui.recents.OverviewProxyService.OverviewProxyListener; import static com.android.systemui.recents.OverviewProxyService.OverviewProxyListener; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_MAGNIFICATION_OVERLAP; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_MAGNIFICATION_OVERLAP; Loading Loading @@ -89,6 +90,8 @@ public class WindowMagnificationTest extends SysuiTestCase { private WindowMagnificationController mWindowMagnificationController; private WindowMagnificationController mWindowMagnificationController; @Mock @Mock private MagnificationSettingsController mMagnificationSettingsController; private MagnificationSettingsController mMagnificationSettingsController; @Mock private AccessibilityLogger mA11yLogger; @Before @Before public void setUp() throws Exception { public void setUp() throws Exception { Loading @@ -103,11 +106,22 @@ public class WindowMagnificationTest extends SysuiTestCase { when(mSysUiState.setFlag(anyInt(), anyBoolean())).thenReturn(mSysUiState); when(mSysUiState.setFlag(anyInt(), anyBoolean())).thenReturn(mSysUiState); doAnswer(invocation -> { mWindowMagnification.mMagnificationSettingsControllerCallback .onSettingsPanelVisibilityChanged(TEST_DISPLAY, /* shown= */ true); return null; }).when(mMagnificationSettingsController).showMagnificationSettings(); doAnswer(invocation -> { mWindowMagnification.mMagnificationSettingsControllerCallback .onSettingsPanelVisibilityChanged(TEST_DISPLAY, /* shown= */ false); return null; }).when(mMagnificationSettingsController).closeMagnificationSettings(); mCommandQueue = new CommandQueue(getContext(), mDisplayTracker); mCommandQueue = new CommandQueue(getContext(), mDisplayTracker); mWindowMagnification = new WindowMagnification(getContext(), mWindowMagnification = new WindowMagnification(getContext(), getContext().getMainThreadHandler(), mCommandQueue, mModeSwitchesController, getContext().getMainThreadHandler(), mCommandQueue, mModeSwitchesController, mSysUiState, mOverviewProxyService, mSecureSettings, mDisplayTracker, mSysUiState, mOverviewProxyService, mSecureSettings, mDisplayTracker, getContext().getSystemService(DisplayManager.class)); getContext().getSystemService(DisplayManager.class), mA11yLogger); mWindowMagnification.mMagnificationControllerSupplier = new FakeControllerSupplier( mWindowMagnification.mMagnificationControllerSupplier = new FakeControllerSupplier( mContext.getSystemService(DisplayManager.class), mWindowMagnificationController); mContext.getSystemService(DisplayManager.class), mWindowMagnificationController); mWindowMagnification.mMagnificationSettingsSupplier = new FakeSettingsSupplier( mWindowMagnification.mMagnificationSettingsSupplier = new FakeSettingsSupplier( Loading Loading @@ -185,6 +199,8 @@ public class WindowMagnificationTest extends SysuiTestCase { waitForIdleSync(); waitForIdleSync(); verify(mMagnificationSettingsController).showMagnificationSettings(); verify(mMagnificationSettingsController).showMagnificationSettings(); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_PANEL_OPENED)); } } @Test @Test Loading @@ -195,6 +211,8 @@ public class WindowMagnificationTest extends SysuiTestCase { waitForIdleSync(); waitForIdleSync(); verify(mWindowMagnificationController).changeMagnificationSize(eq(index)); verify(mWindowMagnificationController).changeMagnificationSize(eq(index)); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_WINDOW_SIZE_SELECTED)); } } @Test @Test Loading @@ -214,6 +232,16 @@ public class WindowMagnificationTest extends SysuiTestCase { waitForIdleSync(); waitForIdleSync(); verify(mWindowMagnificationController).setEditMagnifierSizeMode(eq(true)); verify(mWindowMagnificationController).setEditMagnifierSizeMode(eq(true)); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_SIZE_EDITING_ACTIVATED)); mWindowMagnification.mMagnificationSettingsControllerCallback.onEditMagnifierSizeMode( TEST_DISPLAY, /* enable= */ false); waitForIdleSync(); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_SIZE_EDITING_ACTIVATED)); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_SIZE_EDITING_DEACTIVATED)); } } @Test @Test Loading @@ -239,6 +267,8 @@ public class WindowMagnificationTest extends SysuiTestCase { waitForIdleSync(); waitForIdleSync(); verify(mMagnificationSettingsController).closeMagnificationSettings(); verify(mMagnificationSettingsController).closeMagnificationSettings(); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_PANEL_CLOSED)); verify(mConnectionCallback).onChangeMagnificationMode(eq(TEST_DISPLAY), verify(mConnectionCallback).onChangeMagnificationMode(eq(TEST_DISPLAY), eq(ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN)); eq(ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN)); } } Loading Loading @@ -268,6 +298,8 @@ public class WindowMagnificationTest extends SysuiTestCase { waitForIdleSync(); waitForIdleSync(); verify(mWindowMagnificationController).updateDragHandleResourcesIfNeeded(eq(shown)); verify(mWindowMagnificationController).updateDragHandleResourcesIfNeeded(eq(shown)); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_PANEL_CLOSED)); } } @Test @Test Loading Loading
packages/SystemUI/src/com/android/systemui/accessibility/AccessibilityLogger.kt 0 → 100644 +54 −0 Original line number Original line Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.systemui.accessibility import com.android.internal.logging.UiEvent import com.android.internal.logging.UiEventLogger import javax.inject.Inject /** * Handles logging UiEvent stats for simple UI interactions. * * See go/uievent */ class AccessibilityLogger @Inject constructor(private val uiEventLogger: UiEventLogger) { /** Logs the given event */ fun log(event: UiEventLogger.UiEventEnum) { uiEventLogger.log(event) } /** Events regarding interaction with the magnifier settings panel */ enum class MagnificationSettingsEvent constructor(private val id: Int) : UiEventLogger.UiEventEnum { @UiEvent(doc = "Magnification settings panel opened.") MAGNIFICATION_SETTINGS_PANEL_OPENED(1381), @UiEvent(doc = "Magnification settings panel closed") MAGNIFICATION_SETTINGS_PANEL_CLOSED(1382), @UiEvent(doc = "Magnification settings panel edit size button clicked") MAGNIFICATION_SETTINGS_SIZE_EDITING_ACTIVATED(1383), @UiEvent(doc = "Magnification settings panel edit size save button clicked") MAGNIFICATION_SETTINGS_SIZE_EDITING_DEACTIVATED(1384), @UiEvent(doc = "Magnification settings panel window size selected") MAGNIFICATION_SETTINGS_WINDOW_SIZE_SELECTED(1386); override fun getId(): Int = this.id } }
packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnification.java +11 −1 Original line number Original line Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.accessibility; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY; import static com.android.systemui.accessibility.AccessibilityLogger.MagnificationSettingsEvent; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_MAGNIFICATION_OVERLAP; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_MAGNIFICATION_OVERLAP; import android.annotation.MainThread; import android.annotation.MainThread; Loading Loading @@ -66,6 +67,7 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback private final CommandQueue mCommandQueue; private final CommandQueue mCommandQueue; private final OverviewProxyService mOverviewProxyService; private final OverviewProxyService mOverviewProxyService; private final DisplayTracker mDisplayTracker; private final DisplayTracker mDisplayTracker; private final AccessibilityLogger mA11yLogger; private WindowMagnificationConnectionImpl mWindowMagnificationConnectionImpl; private WindowMagnificationConnectionImpl mWindowMagnificationConnectionImpl; private SysUiState mSysUiState; private SysUiState mSysUiState; Loading Loading @@ -151,7 +153,7 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback CommandQueue commandQueue, ModeSwitchesController modeSwitchesController, CommandQueue commandQueue, ModeSwitchesController modeSwitchesController, SysUiState sysUiState, OverviewProxyService overviewProxyService, SysUiState sysUiState, OverviewProxyService overviewProxyService, SecureSettings secureSettings, DisplayTracker displayTracker, SecureSettings secureSettings, DisplayTracker displayTracker, DisplayManager displayManager) { DisplayManager displayManager, AccessibilityLogger a11yLogger) { mContext = context; mContext = context; mHandler = mainHandler; mHandler = mainHandler; mAccessibilityManager = mContext.getSystemService(AccessibilityManager.class); mAccessibilityManager = mContext.getSystemService(AccessibilityManager.class); Loading @@ -160,6 +162,7 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback mSysUiState = sysUiState; mSysUiState = sysUiState; mOverviewProxyService = overviewProxyService; mOverviewProxyService = overviewProxyService; mDisplayTracker = displayTracker; mDisplayTracker = displayTracker; mA11yLogger = a11yLogger; mMagnificationControllerSupplier = new ControllerSupplier(context, mMagnificationControllerSupplier = new ControllerSupplier(context, mHandler, mWindowMagnifierCallback, mHandler, mWindowMagnifierCallback, displayManager, sysUiState, secureSettings); displayManager, sysUiState, secureSettings); Loading Loading @@ -343,6 +346,7 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback @Override @Override public void onSetMagnifierSize(int displayId, int index) { public void onSetMagnifierSize(int displayId, int index) { mHandler.post(() -> onSetMagnifierSizeInternal(displayId, index)); mHandler.post(() -> onSetMagnifierSizeInternal(displayId, index)); mA11yLogger.log(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_WINDOW_SIZE_SELECTED); } } @Override @Override Loading @@ -353,6 +357,9 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback @Override @Override public void onEditMagnifierSizeMode(int displayId, boolean enable) { public void onEditMagnifierSizeMode(int displayId, boolean enable) { mHandler.post(() -> onEditMagnifierSizeModeInternal(displayId, enable)); mHandler.post(() -> onEditMagnifierSizeModeInternal(displayId, enable)); mA11yLogger.log(enable ? MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_SIZE_EDITING_ACTIVATED : MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_SIZE_EDITING_DEACTIVATED); } } @Override @Override Loading @@ -370,6 +377,9 @@ public class WindowMagnification implements CoreStartable, CommandQueue.Callback @Override @Override public void onSettingsPanelVisibilityChanged(int displayId, boolean shown) { public void onSettingsPanelVisibilityChanged(int displayId, boolean shown) { mHandler.post(() -> onSettingsPanelVisibilityChangedInternal(displayId, shown)); mHandler.post(() -> onSettingsPanelVisibilityChangedInternal(displayId, shown)); mA11yLogger.log(shown ? MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_PANEL_OPENED : MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_PANEL_CLOSED); } } }; }; Loading
packages/SystemUI/tests/src/com/android/systemui/accessibility/IWindowMagnificationConnectionTest.java +3 −1 Original line number Original line Diff line number Diff line Loading @@ -80,6 +80,8 @@ public class IWindowMagnificationConnectionTest extends SysuiTestCase { private OverviewProxyService mOverviewProxyService; private OverviewProxyService mOverviewProxyService; @Mock @Mock private SecureSettings mSecureSettings; private SecureSettings mSecureSettings; @Mock private AccessibilityLogger mA11yLogger; private IWindowMagnificationConnection mIWindowMagnificationConnection; private IWindowMagnificationConnection mIWindowMagnificationConnection; private WindowMagnification mWindowMagnification; private WindowMagnification mWindowMagnification; Loading @@ -97,7 +99,7 @@ public class IWindowMagnificationConnectionTest extends SysuiTestCase { mWindowMagnification = new WindowMagnification(getContext(), mWindowMagnification = new WindowMagnification(getContext(), getContext().getMainThreadHandler(), mCommandQueue, getContext().getMainThreadHandler(), mCommandQueue, mModeSwitchesController, mSysUiState, mOverviewProxyService, mSecureSettings, mModeSwitchesController, mSysUiState, mOverviewProxyService, mSecureSettings, mDisplayTracker, getContext().getSystemService(DisplayManager.class)); mDisplayTracker, getContext().getSystemService(DisplayManager.class), mA11yLogger); mWindowMagnification.mMagnificationControllerSupplier = new FakeControllerSupplier( mWindowMagnification.mMagnificationControllerSupplier = new FakeControllerSupplier( mContext.getSystemService(DisplayManager.class)); mContext.getSystemService(DisplayManager.class)); mWindowMagnification.mMagnificationSettingsSupplier = new FakeSettingsSupplier( mWindowMagnification.mMagnificationSettingsSupplier = new FakeSettingsSupplier( Loading
packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationTest.java +33 −1 Original line number Original line Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.systemui.accessibility; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; import static com.android.systemui.accessibility.AccessibilityLogger.MagnificationSettingsEvent; import static com.android.systemui.accessibility.WindowMagnificationSettings.MagnificationSize; import static com.android.systemui.accessibility.WindowMagnificationSettings.MagnificationSize; import static com.android.systemui.recents.OverviewProxyService.OverviewProxyListener; import static com.android.systemui.recents.OverviewProxyService.OverviewProxyListener; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_MAGNIFICATION_OVERLAP; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_MAGNIFICATION_OVERLAP; Loading Loading @@ -89,6 +90,8 @@ public class WindowMagnificationTest extends SysuiTestCase { private WindowMagnificationController mWindowMagnificationController; private WindowMagnificationController mWindowMagnificationController; @Mock @Mock private MagnificationSettingsController mMagnificationSettingsController; private MagnificationSettingsController mMagnificationSettingsController; @Mock private AccessibilityLogger mA11yLogger; @Before @Before public void setUp() throws Exception { public void setUp() throws Exception { Loading @@ -103,11 +106,22 @@ public class WindowMagnificationTest extends SysuiTestCase { when(mSysUiState.setFlag(anyInt(), anyBoolean())).thenReturn(mSysUiState); when(mSysUiState.setFlag(anyInt(), anyBoolean())).thenReturn(mSysUiState); doAnswer(invocation -> { mWindowMagnification.mMagnificationSettingsControllerCallback .onSettingsPanelVisibilityChanged(TEST_DISPLAY, /* shown= */ true); return null; }).when(mMagnificationSettingsController).showMagnificationSettings(); doAnswer(invocation -> { mWindowMagnification.mMagnificationSettingsControllerCallback .onSettingsPanelVisibilityChanged(TEST_DISPLAY, /* shown= */ false); return null; }).when(mMagnificationSettingsController).closeMagnificationSettings(); mCommandQueue = new CommandQueue(getContext(), mDisplayTracker); mCommandQueue = new CommandQueue(getContext(), mDisplayTracker); mWindowMagnification = new WindowMagnification(getContext(), mWindowMagnification = new WindowMagnification(getContext(), getContext().getMainThreadHandler(), mCommandQueue, mModeSwitchesController, getContext().getMainThreadHandler(), mCommandQueue, mModeSwitchesController, mSysUiState, mOverviewProxyService, mSecureSettings, mDisplayTracker, mSysUiState, mOverviewProxyService, mSecureSettings, mDisplayTracker, getContext().getSystemService(DisplayManager.class)); getContext().getSystemService(DisplayManager.class), mA11yLogger); mWindowMagnification.mMagnificationControllerSupplier = new FakeControllerSupplier( mWindowMagnification.mMagnificationControllerSupplier = new FakeControllerSupplier( mContext.getSystemService(DisplayManager.class), mWindowMagnificationController); mContext.getSystemService(DisplayManager.class), mWindowMagnificationController); mWindowMagnification.mMagnificationSettingsSupplier = new FakeSettingsSupplier( mWindowMagnification.mMagnificationSettingsSupplier = new FakeSettingsSupplier( Loading Loading @@ -185,6 +199,8 @@ public class WindowMagnificationTest extends SysuiTestCase { waitForIdleSync(); waitForIdleSync(); verify(mMagnificationSettingsController).showMagnificationSettings(); verify(mMagnificationSettingsController).showMagnificationSettings(); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_PANEL_OPENED)); } } @Test @Test Loading @@ -195,6 +211,8 @@ public class WindowMagnificationTest extends SysuiTestCase { waitForIdleSync(); waitForIdleSync(); verify(mWindowMagnificationController).changeMagnificationSize(eq(index)); verify(mWindowMagnificationController).changeMagnificationSize(eq(index)); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_WINDOW_SIZE_SELECTED)); } } @Test @Test Loading @@ -214,6 +232,16 @@ public class WindowMagnificationTest extends SysuiTestCase { waitForIdleSync(); waitForIdleSync(); verify(mWindowMagnificationController).setEditMagnifierSizeMode(eq(true)); verify(mWindowMagnificationController).setEditMagnifierSizeMode(eq(true)); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_SIZE_EDITING_ACTIVATED)); mWindowMagnification.mMagnificationSettingsControllerCallback.onEditMagnifierSizeMode( TEST_DISPLAY, /* enable= */ false); waitForIdleSync(); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_SIZE_EDITING_ACTIVATED)); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_SIZE_EDITING_DEACTIVATED)); } } @Test @Test Loading @@ -239,6 +267,8 @@ public class WindowMagnificationTest extends SysuiTestCase { waitForIdleSync(); waitForIdleSync(); verify(mMagnificationSettingsController).closeMagnificationSettings(); verify(mMagnificationSettingsController).closeMagnificationSettings(); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_PANEL_CLOSED)); verify(mConnectionCallback).onChangeMagnificationMode(eq(TEST_DISPLAY), verify(mConnectionCallback).onChangeMagnificationMode(eq(TEST_DISPLAY), eq(ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN)); eq(ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN)); } } Loading Loading @@ -268,6 +298,8 @@ public class WindowMagnificationTest extends SysuiTestCase { waitForIdleSync(); waitForIdleSync(); verify(mWindowMagnificationController).updateDragHandleResourcesIfNeeded(eq(shown)); verify(mWindowMagnificationController).updateDragHandleResourcesIfNeeded(eq(shown)); verify(mA11yLogger).log( eq(MagnificationSettingsEvent.MAGNIFICATION_SETTINGS_PANEL_CLOSED)); } } @Test @Test Loading