Loading packages/SystemUI/src/com/android/systemui/accessibility/MagnificationImpl.java +15 −6 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ import android.window.InputTransferToken; import androidx.annotation.NonNull; import com.android.app.viewcapture.ViewCaptureAwareWindowManager; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.graphics.SfVsyncFrameCallbackProvider; import com.android.systemui.Flags; Loading Loading @@ -193,15 +194,18 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks private final Context mContext; private final MagnificationSettingsController.Callback mSettingsControllerCallback; private final SecureSettings mSecureSettings; private final ViewCaptureAwareWindowManager mViewCaptureAwareWindowManager; SettingsSupplier(Context context, MagnificationSettingsController.Callback settingsControllerCallback, DisplayManager displayManager, SecureSettings secureSettings) { SecureSettings secureSettings, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) { super(displayManager); mContext = context; mSettingsControllerCallback = settingsControllerCallback; mSecureSettings = secureSettings; mViewCaptureAwareWindowManager = viewCaptureAwareWindowManager; } @Override Loading @@ -213,7 +217,8 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks windowContext, new SfVsyncFrameCallbackProvider(), mSettingsControllerCallback, mSecureSettings); mSecureSettings, mViewCaptureAwareWindowManager); } } Loading @@ -227,10 +232,12 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks SysUiState sysUiState, OverviewProxyService overviewProxyService, SecureSettings secureSettings, DisplayTracker displayTracker, DisplayManager displayManager, AccessibilityLogger a11yLogger, IWindowManager iWindowManager, AccessibilityManager accessibilityManager) { IWindowManager iWindowManager, AccessibilityManager accessibilityManager, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) { this(context, mainHandler.getLooper(), executor, commandQueue, modeSwitchesController, sysUiState, overviewProxyService, secureSettings, displayTracker, displayManager, a11yLogger, iWindowManager, accessibilityManager); displayTracker, displayManager, a11yLogger, iWindowManager, accessibilityManager, viewCaptureAwareWindowManager); } @VisibleForTesting Loading @@ -240,7 +247,8 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks SecureSettings secureSettings, DisplayTracker displayTracker, DisplayManager displayManager, AccessibilityLogger a11yLogger, IWindowManager iWindowManager, AccessibilityManager accessibilityManager) { AccessibilityManager accessibilityManager, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) { mHandler = new Handler(looper) { @Override public void handleMessage(@NonNull Message msg) { Loading @@ -263,7 +271,8 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks mFullscreenMagnificationControllerSupplier = new FullscreenMagnificationControllerSupplier( context, displayManager, mHandler, mExecutor, iWindowManager); mMagnificationSettingsSupplier = new SettingsSupplier(context, mMagnificationSettingsControllerCallback, displayManager, secureSettings); mMagnificationSettingsControllerCallback, displayManager, secureSettings, viewCaptureAwareWindowManager); mModeSwitchesController.setClickListenerDelegate( displayId -> mHandler.post(() -> { Loading packages/SystemUI/src/com/android/systemui/accessibility/MagnificationSettingsController.java +8 −4 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.res.Configuration; import android.util.Range; import android.view.WindowManager; import com.android.app.viewcapture.ViewCaptureAwareWindowManager; import com.android.internal.accessibility.common.MagnificationConstants; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.graphics.SfVsyncFrameCallbackProvider; Loading Loading @@ -60,8 +61,10 @@ public class MagnificationSettingsController implements ComponentCallbacks { @UiContext Context context, SfVsyncFrameCallbackProvider sfVsyncFrameProvider, @NonNull Callback settingsControllerCallback, SecureSettings secureSettings) { this(context, sfVsyncFrameProvider, settingsControllerCallback, secureSettings, null); SecureSettings secureSettings, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) { this(context, sfVsyncFrameProvider, settingsControllerCallback, secureSettings, null, viewCaptureAwareWindowManager); } @VisibleForTesting Loading @@ -70,7 +73,8 @@ public class MagnificationSettingsController implements ComponentCallbacks { SfVsyncFrameCallbackProvider sfVsyncFrameProvider, @NonNull Callback settingsControllerCallback, SecureSettings secureSettings, WindowMagnificationSettings windowMagnificationSettings) { WindowMagnificationSettings windowMagnificationSettings, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) { mContext = context.createWindowContext( context.getDisplay(), WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL, Loading @@ -84,7 +88,7 @@ public class MagnificationSettingsController implements ComponentCallbacks { } else { mWindowMagnificationSettings = new WindowMagnificationSettings(mContext, mWindowMagnificationSettingsCallback, sfVsyncFrameProvider, secureSettings); sfVsyncFrameProvider, secureSettings, viewCaptureAwareWindowManager); } } Loading packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationSettings.java +7 −3 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ import android.widget.LinearLayout; import android.widget.SeekBar; import android.widget.Switch; import com.android.app.viewcapture.ViewCaptureAwareWindowManager; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.graphics.SfVsyncFrameCallbackProvider; import com.android.systemui.Flags; Loading @@ -75,6 +76,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest private final Context mContext; private final AccessibilityManager mAccessibilityManager; private final WindowManager mWindowManager; private final ViewCaptureAwareWindowManager mViewCaptureAwareWindowManager; private final SecureSettings mSecureSettings; private final Runnable mWindowInsetChangeRunnable; Loading Loading @@ -135,10 +137,12 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest @VisibleForTesting WindowMagnificationSettings(Context context, WindowMagnificationSettingsCallback callback, SfVsyncFrameCallbackProvider sfVsyncFrameProvider, SecureSettings secureSettings) { SfVsyncFrameCallbackProvider sfVsyncFrameProvider, SecureSettings secureSettings, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) { mContext = context; mAccessibilityManager = mContext.getSystemService(AccessibilityManager.class); mWindowManager = mContext.getSystemService(WindowManager.class); mViewCaptureAwareWindowManager = viewCaptureAwareWindowManager; mSfVsyncFrameProvider = sfVsyncFrameProvider; mCallback = callback; mSecureSettings = secureSettings; Loading Loading @@ -320,7 +324,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest // Unregister observer before removing view mSecureSettings.unregisterContentObserverSync(mMagnificationCapabilityObserver); mWindowManager.removeView(mSettingView); mViewCaptureAwareWindowManager.removeView(mSettingView); mIsVisible = false; if (resetPosition) { mParams.x = 0; Loading Loading @@ -378,7 +382,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest mParams.y = mDraggableWindowBounds.bottom; } mWindowManager.addView(mSettingView, mParams); mViewCaptureAwareWindowManager.addView(mSettingView, mParams); mSecureSettings.registerContentObserverForUserSync( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_CAPABILITY, Loading packages/SystemUI/tests/src/com/android/systemui/accessibility/IMagnificationConnectionTest.java +5 −1 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ import android.view.accessibility.IRemoteMagnificationAnimationCallback; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; import com.android.app.viewcapture.ViewCaptureAwareWindowManager; import com.android.systemui.Flags; import com.android.systemui.SysuiTestCase; import com.android.systemui.model.SysUiState; Loading Loading @@ -102,6 +103,8 @@ public class IMagnificationConnectionTest extends SysuiTestCase { private AccessibilityLogger mA11yLogger; @Mock private IWindowManager mIWindowManager; @Mock private ViewCaptureAwareWindowManager mViewCaptureAwareWindowManager; private IMagnificationConnection mIMagnificationConnection; private MagnificationImpl mMagnification; Loading @@ -123,7 +126,8 @@ public class IMagnificationConnectionTest extends SysuiTestCase { mTestableLooper.getLooper(), mContext.getMainExecutor(), mCommandQueue, mModeSwitchesController, mSysUiState, mOverviewProxyService, mSecureSettings, mDisplayTracker, getContext().getSystemService(DisplayManager.class), mA11yLogger, mIWindowManager, mAccessibilityManager); mA11yLogger, mIWindowManager, mAccessibilityManager, mViewCaptureAwareWindowManager); mMagnification.mWindowMagnificationControllerSupplier = new FakeWindowMagnificationControllerSupplier( mContext.getSystemService(DisplayManager.class)); Loading packages/SystemUI/tests/src/com/android/systemui/accessibility/MagnificationSettingsControllerTest.java +4 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.testing.TestableLooper; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; import com.android.app.viewcapture.ViewCaptureAwareWindowManager; import com.android.internal.graphics.SfVsyncFrameCallbackProvider; import com.android.systemui.SysuiTestCase; import com.android.systemui.accessibility.WindowMagnificationSettings.MagnificationSize; Loading Loading @@ -56,6 +57,8 @@ public class MagnificationSettingsControllerTest extends SysuiTestCase { private SfVsyncFrameCallbackProvider mSfVsyncFrameProvider; @Mock private SecureSettings mSecureSettings; @Mock private ViewCaptureAwareWindowManager mViewCaptureAwareWindowManager; @Before public void setUp() { Loading @@ -63,7 +66,7 @@ public class MagnificationSettingsControllerTest extends SysuiTestCase { mMagnificationSettingsController = new MagnificationSettingsController( mContext, mSfVsyncFrameProvider, mMagnificationSettingControllerCallback, mSecureSettings, mWindowMagnificationSettings); mWindowMagnificationSettings, mViewCaptureAwareWindowManager); } @After Loading Loading
packages/SystemUI/src/com/android/systemui/accessibility/MagnificationImpl.java +15 −6 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ import android.window.InputTransferToken; import androidx.annotation.NonNull; import com.android.app.viewcapture.ViewCaptureAwareWindowManager; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.graphics.SfVsyncFrameCallbackProvider; import com.android.systemui.Flags; Loading Loading @@ -193,15 +194,18 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks private final Context mContext; private final MagnificationSettingsController.Callback mSettingsControllerCallback; private final SecureSettings mSecureSettings; private final ViewCaptureAwareWindowManager mViewCaptureAwareWindowManager; SettingsSupplier(Context context, MagnificationSettingsController.Callback settingsControllerCallback, DisplayManager displayManager, SecureSettings secureSettings) { SecureSettings secureSettings, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) { super(displayManager); mContext = context; mSettingsControllerCallback = settingsControllerCallback; mSecureSettings = secureSettings; mViewCaptureAwareWindowManager = viewCaptureAwareWindowManager; } @Override Loading @@ -213,7 +217,8 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks windowContext, new SfVsyncFrameCallbackProvider(), mSettingsControllerCallback, mSecureSettings); mSecureSettings, mViewCaptureAwareWindowManager); } } Loading @@ -227,10 +232,12 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks SysUiState sysUiState, OverviewProxyService overviewProxyService, SecureSettings secureSettings, DisplayTracker displayTracker, DisplayManager displayManager, AccessibilityLogger a11yLogger, IWindowManager iWindowManager, AccessibilityManager accessibilityManager) { IWindowManager iWindowManager, AccessibilityManager accessibilityManager, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) { this(context, mainHandler.getLooper(), executor, commandQueue, modeSwitchesController, sysUiState, overviewProxyService, secureSettings, displayTracker, displayManager, a11yLogger, iWindowManager, accessibilityManager); displayTracker, displayManager, a11yLogger, iWindowManager, accessibilityManager, viewCaptureAwareWindowManager); } @VisibleForTesting Loading @@ -240,7 +247,8 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks SecureSettings secureSettings, DisplayTracker displayTracker, DisplayManager displayManager, AccessibilityLogger a11yLogger, IWindowManager iWindowManager, AccessibilityManager accessibilityManager) { AccessibilityManager accessibilityManager, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) { mHandler = new Handler(looper) { @Override public void handleMessage(@NonNull Message msg) { Loading @@ -263,7 +271,8 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks mFullscreenMagnificationControllerSupplier = new FullscreenMagnificationControllerSupplier( context, displayManager, mHandler, mExecutor, iWindowManager); mMagnificationSettingsSupplier = new SettingsSupplier(context, mMagnificationSettingsControllerCallback, displayManager, secureSettings); mMagnificationSettingsControllerCallback, displayManager, secureSettings, viewCaptureAwareWindowManager); mModeSwitchesController.setClickListenerDelegate( displayId -> mHandler.post(() -> { Loading
packages/SystemUI/src/com/android/systemui/accessibility/MagnificationSettingsController.java +8 −4 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.res.Configuration; import android.util.Range; import android.view.WindowManager; import com.android.app.viewcapture.ViewCaptureAwareWindowManager; import com.android.internal.accessibility.common.MagnificationConstants; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.graphics.SfVsyncFrameCallbackProvider; Loading Loading @@ -60,8 +61,10 @@ public class MagnificationSettingsController implements ComponentCallbacks { @UiContext Context context, SfVsyncFrameCallbackProvider sfVsyncFrameProvider, @NonNull Callback settingsControllerCallback, SecureSettings secureSettings) { this(context, sfVsyncFrameProvider, settingsControllerCallback, secureSettings, null); SecureSettings secureSettings, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) { this(context, sfVsyncFrameProvider, settingsControllerCallback, secureSettings, null, viewCaptureAwareWindowManager); } @VisibleForTesting Loading @@ -70,7 +73,8 @@ public class MagnificationSettingsController implements ComponentCallbacks { SfVsyncFrameCallbackProvider sfVsyncFrameProvider, @NonNull Callback settingsControllerCallback, SecureSettings secureSettings, WindowMagnificationSettings windowMagnificationSettings) { WindowMagnificationSettings windowMagnificationSettings, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) { mContext = context.createWindowContext( context.getDisplay(), WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL, Loading @@ -84,7 +88,7 @@ public class MagnificationSettingsController implements ComponentCallbacks { } else { mWindowMagnificationSettings = new WindowMagnificationSettings(mContext, mWindowMagnificationSettingsCallback, sfVsyncFrameProvider, secureSettings); sfVsyncFrameProvider, secureSettings, viewCaptureAwareWindowManager); } } Loading
packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationSettings.java +7 −3 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ import android.widget.LinearLayout; import android.widget.SeekBar; import android.widget.Switch; import com.android.app.viewcapture.ViewCaptureAwareWindowManager; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.graphics.SfVsyncFrameCallbackProvider; import com.android.systemui.Flags; Loading @@ -75,6 +76,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest private final Context mContext; private final AccessibilityManager mAccessibilityManager; private final WindowManager mWindowManager; private final ViewCaptureAwareWindowManager mViewCaptureAwareWindowManager; private final SecureSettings mSecureSettings; private final Runnable mWindowInsetChangeRunnable; Loading Loading @@ -135,10 +137,12 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest @VisibleForTesting WindowMagnificationSettings(Context context, WindowMagnificationSettingsCallback callback, SfVsyncFrameCallbackProvider sfVsyncFrameProvider, SecureSettings secureSettings) { SfVsyncFrameCallbackProvider sfVsyncFrameProvider, SecureSettings secureSettings, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) { mContext = context; mAccessibilityManager = mContext.getSystemService(AccessibilityManager.class); mWindowManager = mContext.getSystemService(WindowManager.class); mViewCaptureAwareWindowManager = viewCaptureAwareWindowManager; mSfVsyncFrameProvider = sfVsyncFrameProvider; mCallback = callback; mSecureSettings = secureSettings; Loading Loading @@ -320,7 +324,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest // Unregister observer before removing view mSecureSettings.unregisterContentObserverSync(mMagnificationCapabilityObserver); mWindowManager.removeView(mSettingView); mViewCaptureAwareWindowManager.removeView(mSettingView); mIsVisible = false; if (resetPosition) { mParams.x = 0; Loading Loading @@ -378,7 +382,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest mParams.y = mDraggableWindowBounds.bottom; } mWindowManager.addView(mSettingView, mParams); mViewCaptureAwareWindowManager.addView(mSettingView, mParams); mSecureSettings.registerContentObserverForUserSync( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_CAPABILITY, Loading
packages/SystemUI/tests/src/com/android/systemui/accessibility/IMagnificationConnectionTest.java +5 −1 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ import android.view.accessibility.IRemoteMagnificationAnimationCallback; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; import com.android.app.viewcapture.ViewCaptureAwareWindowManager; import com.android.systemui.Flags; import com.android.systemui.SysuiTestCase; import com.android.systemui.model.SysUiState; Loading Loading @@ -102,6 +103,8 @@ public class IMagnificationConnectionTest extends SysuiTestCase { private AccessibilityLogger mA11yLogger; @Mock private IWindowManager mIWindowManager; @Mock private ViewCaptureAwareWindowManager mViewCaptureAwareWindowManager; private IMagnificationConnection mIMagnificationConnection; private MagnificationImpl mMagnification; Loading @@ -123,7 +126,8 @@ public class IMagnificationConnectionTest extends SysuiTestCase { mTestableLooper.getLooper(), mContext.getMainExecutor(), mCommandQueue, mModeSwitchesController, mSysUiState, mOverviewProxyService, mSecureSettings, mDisplayTracker, getContext().getSystemService(DisplayManager.class), mA11yLogger, mIWindowManager, mAccessibilityManager); mA11yLogger, mIWindowManager, mAccessibilityManager, mViewCaptureAwareWindowManager); mMagnification.mWindowMagnificationControllerSupplier = new FakeWindowMagnificationControllerSupplier( mContext.getSystemService(DisplayManager.class)); Loading
packages/SystemUI/tests/src/com/android/systemui/accessibility/MagnificationSettingsControllerTest.java +4 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.testing.TestableLooper; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; import com.android.app.viewcapture.ViewCaptureAwareWindowManager; import com.android.internal.graphics.SfVsyncFrameCallbackProvider; import com.android.systemui.SysuiTestCase; import com.android.systemui.accessibility.WindowMagnificationSettings.MagnificationSize; Loading Loading @@ -56,6 +57,8 @@ public class MagnificationSettingsControllerTest extends SysuiTestCase { private SfVsyncFrameCallbackProvider mSfVsyncFrameProvider; @Mock private SecureSettings mSecureSettings; @Mock private ViewCaptureAwareWindowManager mViewCaptureAwareWindowManager; @Before public void setUp() { Loading @@ -63,7 +66,7 @@ public class MagnificationSettingsControllerTest extends SysuiTestCase { mMagnificationSettingsController = new MagnificationSettingsController( mContext, mSfVsyncFrameProvider, mMagnificationSettingControllerCallback, mSecureSettings, mWindowMagnificationSettings); mWindowMagnificationSettings, mViewCaptureAwareWindowManager); } @After Loading