Loading packages/SystemUI/src/com/android/systemui/accessibility/ModeSwitchesController.java +2 −2 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ public class ModeSwitchesController { private final WindowManager.LayoutParams mParams; private final int mPadding; ModeSwitchesController(Context context) { public ModeSwitchesController(Context context) { mContext = context; mDisplayManager = mContext.getSystemService(DisplayManager.class); Loading Loading @@ -193,7 +193,7 @@ public class ModeSwitchesController { mMagnificationMode ^ Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_ALL; mMagnificationMode = newMode; Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.WINDOW_MAGNIFICATION, newMode); Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE, newMode); } } } packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnification.java +11 −7 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall @VisibleForTesting protected WindowMagnificationController mWindowMagnificationController; protected final ModeSwitchesController mModeSwitchesController; private final Handler mHandler; private final AccessibilityManager mAccessibilityManager; private final CommandQueue mCommandQueue; Loading @@ -61,13 +62,14 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall @Inject public WindowMagnification(Context context, @Main Handler mainHandler, CommandQueue commandQueue) { CommandQueue commandQueue, ModeSwitchesController modeSwitchesController) { super(context); mHandler = mainHandler; mLastConfiguration = new Configuration(context.getResources().getConfiguration()); mAccessibilityManager = (AccessibilityManager) mContext.getSystemService( Context.ACCESSIBILITY_SERVICE); mCommandQueue = commandQueue; mModeSwitchesController = modeSwitchesController; } @Override Loading Loading @@ -142,7 +144,7 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall private void setWindowMagnificationConnection() { if (mWindowMagnificationConnectionImpl == null) { mWindowMagnificationConnectionImpl = new WindowMagnificationConnectionImpl(this, mHandler); mHandler, mModeSwitchesController); } mAccessibilityManager.setWindowMagnificationConnection( mWindowMagnificationConnectionImpl); Loading @@ -161,11 +163,13 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall private IWindowMagnificationConnectionCallback mConnectionCallback; private final WindowMagnification mWindowMagnification; private final Handler mHandler; private final ModeSwitchesController mModeSwitchesController; WindowMagnificationConnectionImpl(@NonNull WindowMagnification windowMagnification, @Main Handler mainHandler) { @Main Handler mainHandler, ModeSwitchesController modeSwitchesController) { mWindowMagnification = windowMagnification; mHandler = mainHandler; mModeSwitchesController = modeSwitchesController; } @Override Loading Loading @@ -194,14 +198,14 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall @Override public void showMagnificationButton(int displayId, int magnificationMode) { // TODO(b/145780606): show magnification button UI when the magnification capability // or scale changed. mHandler.post( () -> mModeSwitchesController.showButton(displayId, magnificationMode)); } @Override public void removeMagnificationButton(int displayId) { // TODO(b/145780606): remove magnification button UI when the magnification // capability changed. mHandler.post( () -> mModeSwitchesController.removeButton(displayId)); } @Override Loading packages/SystemUI/src/com/android/systemui/dagger/DependencyProvider.java +9 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import com.android.internal.util.NotificationMessagingUtil; import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.Prefs; import com.android.systemui.accessibility.ModeSwitchesController; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.doze.AlwaysOnDisplayPolicy; Loading Loading @@ -227,4 +228,12 @@ public class DependencyProvider { static UiEventLogger provideUiEventLogger() { return new UiEventLoggerImpl(); } /** */ @Singleton @Provides public ModeSwitchesController providesModeSwitchesController(Context context) { return new ModeSwitchesController(context); } } packages/SystemUI/tests/src/com/android/systemui/accessibility/IWindowMagnificationConnectionTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static org.mockito.Mockito.verify; import android.content.Context; import android.os.RemoteException; import android.provider.Settings; import android.testing.AndroidTestingRunner; import android.view.Display; import android.view.accessibility.AccessibilityManager; Loading Loading @@ -57,6 +58,8 @@ public class IWindowMagnificationConnectionTest extends SysuiTestCase { private IWindowMagnificationConnectionCallback mConnectionCallback; @Mock private WindowMagnificationController mWindowMagnificationController; @Mock private ModeSwitchesController mModeSwitchesController; private IWindowMagnificationConnection mIWindowMagnificationConnection; private WindowMagnification mWindowMagnification; Loading @@ -70,7 +73,7 @@ public class IWindowMagnificationConnectionTest extends SysuiTestCase { }).when(mAccessibilityManager).setWindowMagnificationConnection( any(IWindowMagnificationConnection.class)); mWindowMagnification = new WindowMagnification(getContext(), getContext().getMainThreadHandler(), mCommandQueue); getContext().getMainThreadHandler(), mCommandQueue, mModeSwitchesController); mWindowMagnification.mWindowMagnificationController = mWindowMagnificationController; mWindowMagnification.requestWindowMagnificationConnection(true); assertNotNull(mIWindowMagnificationConnection); Loading Loading @@ -114,5 +117,23 @@ public class IWindowMagnificationConnectionTest extends SysuiTestCase { verify(mWindowMagnificationController).moveWindowMagnifier(100f, 200f); } @Test public void showMagnificationButton() throws RemoteException { mIWindowMagnificationConnection.showMagnificationButton(TEST_DISPLAY, Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN); waitForIdleSync(); verify(mModeSwitchesController).showButton(TEST_DISPLAY, Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN); } @Test public void removeMagnificationButton() throws RemoteException { mIWindowMagnificationConnection.removeMagnificationButton(TEST_DISPLAY); waitForIdleSync(); verify(mModeSwitchesController).removeButton(TEST_DISPLAY); } } packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,8 @@ public class WindowMagnificationTest extends SysuiTestCase { @Mock private AccessibilityManager mAccessibilityManager; @Mock private ModeSwitchesController mModeSwitchesController; private CommandQueue mCommandQueue; private WindowMagnification mWindowMagnification; Loading @@ -57,7 +59,7 @@ public class WindowMagnificationTest extends SysuiTestCase { mCommandQueue = new CommandQueue(getContext()); mWindowMagnification = new WindowMagnification(getContext(), getContext().getMainThreadHandler(), mCommandQueue); getContext().getMainThreadHandler(), mCommandQueue, mModeSwitchesController); mWindowMagnification.start(); } Loading Loading
packages/SystemUI/src/com/android/systemui/accessibility/ModeSwitchesController.java +2 −2 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ public class ModeSwitchesController { private final WindowManager.LayoutParams mParams; private final int mPadding; ModeSwitchesController(Context context) { public ModeSwitchesController(Context context) { mContext = context; mDisplayManager = mContext.getSystemService(DisplayManager.class); Loading Loading @@ -193,7 +193,7 @@ public class ModeSwitchesController { mMagnificationMode ^ Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_ALL; mMagnificationMode = newMode; Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.WINDOW_MAGNIFICATION, newMode); Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE, newMode); } } }
packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnification.java +11 −7 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall @VisibleForTesting protected WindowMagnificationController mWindowMagnificationController; protected final ModeSwitchesController mModeSwitchesController; private final Handler mHandler; private final AccessibilityManager mAccessibilityManager; private final CommandQueue mCommandQueue; Loading @@ -61,13 +62,14 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall @Inject public WindowMagnification(Context context, @Main Handler mainHandler, CommandQueue commandQueue) { CommandQueue commandQueue, ModeSwitchesController modeSwitchesController) { super(context); mHandler = mainHandler; mLastConfiguration = new Configuration(context.getResources().getConfiguration()); mAccessibilityManager = (AccessibilityManager) mContext.getSystemService( Context.ACCESSIBILITY_SERVICE); mCommandQueue = commandQueue; mModeSwitchesController = modeSwitchesController; } @Override Loading Loading @@ -142,7 +144,7 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall private void setWindowMagnificationConnection() { if (mWindowMagnificationConnectionImpl == null) { mWindowMagnificationConnectionImpl = new WindowMagnificationConnectionImpl(this, mHandler); mHandler, mModeSwitchesController); } mAccessibilityManager.setWindowMagnificationConnection( mWindowMagnificationConnectionImpl); Loading @@ -161,11 +163,13 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall private IWindowMagnificationConnectionCallback mConnectionCallback; private final WindowMagnification mWindowMagnification; private final Handler mHandler; private final ModeSwitchesController mModeSwitchesController; WindowMagnificationConnectionImpl(@NonNull WindowMagnification windowMagnification, @Main Handler mainHandler) { @Main Handler mainHandler, ModeSwitchesController modeSwitchesController) { mWindowMagnification = windowMagnification; mHandler = mainHandler; mModeSwitchesController = modeSwitchesController; } @Override Loading Loading @@ -194,14 +198,14 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall @Override public void showMagnificationButton(int displayId, int magnificationMode) { // TODO(b/145780606): show magnification button UI when the magnification capability // or scale changed. mHandler.post( () -> mModeSwitchesController.showButton(displayId, magnificationMode)); } @Override public void removeMagnificationButton(int displayId) { // TODO(b/145780606): remove magnification button UI when the magnification // capability changed. mHandler.post( () -> mModeSwitchesController.removeButton(displayId)); } @Override Loading
packages/SystemUI/src/com/android/systemui/dagger/DependencyProvider.java +9 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import com.android.internal.util.NotificationMessagingUtil; import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.Prefs; import com.android.systemui.accessibility.ModeSwitchesController; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.doze.AlwaysOnDisplayPolicy; Loading Loading @@ -227,4 +228,12 @@ public class DependencyProvider { static UiEventLogger provideUiEventLogger() { return new UiEventLoggerImpl(); } /** */ @Singleton @Provides public ModeSwitchesController providesModeSwitchesController(Context context) { return new ModeSwitchesController(context); } }
packages/SystemUI/tests/src/com/android/systemui/accessibility/IWindowMagnificationConnectionTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static org.mockito.Mockito.verify; import android.content.Context; import android.os.RemoteException; import android.provider.Settings; import android.testing.AndroidTestingRunner; import android.view.Display; import android.view.accessibility.AccessibilityManager; Loading Loading @@ -57,6 +58,8 @@ public class IWindowMagnificationConnectionTest extends SysuiTestCase { private IWindowMagnificationConnectionCallback mConnectionCallback; @Mock private WindowMagnificationController mWindowMagnificationController; @Mock private ModeSwitchesController mModeSwitchesController; private IWindowMagnificationConnection mIWindowMagnificationConnection; private WindowMagnification mWindowMagnification; Loading @@ -70,7 +73,7 @@ public class IWindowMagnificationConnectionTest extends SysuiTestCase { }).when(mAccessibilityManager).setWindowMagnificationConnection( any(IWindowMagnificationConnection.class)); mWindowMagnification = new WindowMagnification(getContext(), getContext().getMainThreadHandler(), mCommandQueue); getContext().getMainThreadHandler(), mCommandQueue, mModeSwitchesController); mWindowMagnification.mWindowMagnificationController = mWindowMagnificationController; mWindowMagnification.requestWindowMagnificationConnection(true); assertNotNull(mIWindowMagnificationConnection); Loading Loading @@ -114,5 +117,23 @@ public class IWindowMagnificationConnectionTest extends SysuiTestCase { verify(mWindowMagnificationController).moveWindowMagnifier(100f, 200f); } @Test public void showMagnificationButton() throws RemoteException { mIWindowMagnificationConnection.showMagnificationButton(TEST_DISPLAY, Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN); waitForIdleSync(); verify(mModeSwitchesController).showButton(TEST_DISPLAY, Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN); } @Test public void removeMagnificationButton() throws RemoteException { mIWindowMagnificationConnection.removeMagnificationButton(TEST_DISPLAY); waitForIdleSync(); verify(mModeSwitchesController).removeButton(TEST_DISPLAY); } }
packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,8 @@ public class WindowMagnificationTest extends SysuiTestCase { @Mock private AccessibilityManager mAccessibilityManager; @Mock private ModeSwitchesController mModeSwitchesController; private CommandQueue mCommandQueue; private WindowMagnification mWindowMagnification; Loading @@ -57,7 +59,7 @@ public class WindowMagnificationTest extends SysuiTestCase { mCommandQueue = new CommandQueue(getContext()); mWindowMagnification = new WindowMagnification(getContext(), getContext().getMainThreadHandler(), mCommandQueue); getContext().getMainThreadHandler(), mCommandQueue, mModeSwitchesController); mWindowMagnification.start(); } Loading