Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ee68ecf authored by Archisha Baranwal's avatar Archisha Baranwal
Browse files

Modified Revert of "Adding ViewCaptureAwareWindowManager to WindowMagnificationSettings window."

This reverts commit 385e312d.

Reason for revert: Reverting change due to the restructure of ViewCaptureAwareWindowManager ( go/wm-for-viewcapture )

Flag: com.android.systemui.enable_view_capture_tracing

Change-Id: I009b038a2b190f64550cd4f9f94caab00aa06e19
parent 652e59bb
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -23,11 +23,11 @@ import static org.mockito.Mockito.verify;

import android.content.pm.ActivityInfo;
import android.testing.TestableLooper;
import android.view.WindowManager;

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;
@@ -58,15 +58,15 @@ public class MagnificationSettingsControllerTest extends SysuiTestCase {
    @Mock
    private SecureSettings mSecureSettings;
    @Mock
    private ViewCaptureAwareWindowManager mViewCaptureAwareWindowManager;
    private WindowManager mWindowManager;

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        mMagnificationSettingsController = new MagnificationSettingsController(
                mContext, mSfVsyncFrameProvider,
                mMagnificationSettingControllerCallback, mSecureSettings,
                mWindowMagnificationSettings, mViewCaptureAwareWindowManager);
                mMagnificationSettingControllerCallback, mSecureSettings, mWindowManager,
                mWindowMagnificationSettings);
    }

    @After
+26 −19
Original line number Diff line number Diff line
@@ -44,7 +44,6 @@ 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.dagger.SysUISingleton;
@@ -54,6 +53,7 @@ import com.android.systemui.recents.LauncherProxyService;
import com.android.systemui.settings.DisplayTracker;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.util.settings.SecureSettings;
import com.android.systemui.utils.windowmanager.WindowManagerProvider;

import java.io.PrintWriter;
import java.util.concurrent.Executor;
@@ -97,20 +97,19 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks
        private final WindowMagnifierCallback mWindowMagnifierCallback;
        private final SysUiState mSysUiState;
        private final SecureSettings mSecureSettings;
        private final ViewCaptureAwareWindowManager mViewCaptureAwareWindowManager;
        private final WindowManagerProvider mWindowManagerProvider;

        WindowMagnificationControllerSupplier(Context context, Handler handler,
                WindowMagnifierCallback windowMagnifierCallback,
                DisplayManager displayManager, SysUiState sysUiState,
                SecureSettings secureSettings,
                ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) {
                SecureSettings secureSettings, WindowManagerProvider windowManagerProvider) {
            super(displayManager);
            mContext = context;
            mHandler = handler;
            mWindowMagnifierCallback = windowMagnifierCallback;
            mSysUiState = sysUiState;
            mSecureSettings = secureSettings;
            mViewCaptureAwareWindowManager = viewCaptureAwareWindowManager;
            mWindowManagerProvider = windowManagerProvider;
        }

        @Override
@@ -118,6 +117,8 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks
            final Context windowContext = mContext.createWindowContext(display,
                        TYPE_ACCESSIBILITY_OVERLAY,
                        /* options */ null);
            final WindowManager windowManager = mWindowManagerProvider
                    .getWindowManager(windowContext);
            windowContext.setTheme(com.android.systemui.res.R.style.Theme_SystemUI);

            Supplier<SurfaceControlViewHost> scvhSupplier = () ->
@@ -133,7 +134,8 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks
                    mWindowMagnifierCallback,
                    mSysUiState,
                    mSecureSettings,
                    scvhSupplier);
                    scvhSupplier,
                    windowManager);
        }
    }

@@ -148,17 +150,20 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks
        private final Executor mExecutor;
        private final DisplayManager mDisplayManager;
        private final IWindowManager mIWindowManager;
        private final WindowManagerProvider mWindowManagerProvider;

        FullscreenMagnificationControllerSupplier(Context context,
                DisplayManager displayManager,
                Handler handler,
                Executor executor, IWindowManager iWindowManager) {
                Executor executor, IWindowManager iWindowManager,
                WindowManagerProvider windowManagerProvider) {
            super(displayManager);
            mContext = context;
            mHandler = handler;
            mExecutor = executor;
            mDisplayManager = displayManager;
            mIWindowManager = iWindowManager;
            mWindowManagerProvider = windowManagerProvider;
        }

        @Override
@@ -174,7 +179,7 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks
                    mExecutor,
                    mDisplayManager,
                    windowContext.getSystemService(AccessibilityManager.class),
                    windowContext.getSystemService(WindowManager.class),
                    mWindowManagerProvider.getWindowManager(windowContext),
                    mIWindowManager,
                    scvhSupplier);
        }
@@ -190,31 +195,32 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks
        private final Context mContext;
        private final MagnificationSettingsController.Callback mSettingsControllerCallback;
        private final SecureSettings mSecureSettings;
        private final ViewCaptureAwareWindowManager mViewCaptureAwareWindowManager;
        private final WindowManagerProvider mWindowManagerProvider;

        SettingsSupplier(Context context,
                MagnificationSettingsController.Callback settingsControllerCallback,
                DisplayManager displayManager,
                SecureSettings secureSettings,
                ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) {
                SecureSettings secureSettings, WindowManagerProvider windowManagerProvider) {
            super(displayManager);
            mContext = context;
            mSettingsControllerCallback = settingsControllerCallback;
            mSecureSettings = secureSettings;
            mViewCaptureAwareWindowManager = viewCaptureAwareWindowManager;
            mWindowManagerProvider = windowManagerProvider;
        }

        @Override
        protected MagnificationSettingsController createInstance(Display display) {
            final Context windowContext = mContext.createWindowContext(display,
                    TYPE_ACCESSIBILITY_OVERLAY, /* options */ null);
            final WindowManager windowManager = mWindowManagerProvider
                    .getWindowManager(windowContext);
            windowContext.setTheme(com.android.systemui.res.R.style.Theme_SystemUI);
            return new MagnificationSettingsController(
                    windowContext,
                    new SfVsyncFrameCallbackProvider(),
                    mSettingsControllerCallback,
                    mSecureSettings,
                    mViewCaptureAwareWindowManager);
                    windowManager);
        }
    }

@@ -229,11 +235,11 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks
            SecureSettings secureSettings, DisplayTracker displayTracker,
            DisplayManager displayManager, AccessibilityLogger a11yLogger,
            IWindowManager iWindowManager, AccessibilityManager accessibilityManager,
            ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) {
            WindowManagerProvider windowManagerProvider) {
        this(context, mainHandler.getLooper(), executor, commandQueue,
                modeSwitchesController, sysUiState, launcherProxyService, secureSettings,
                displayTracker, displayManager, a11yLogger, iWindowManager, accessibilityManager,
                viewCaptureAwareWindowManager);
                windowManagerProvider);
    }

    @VisibleForTesting
@@ -244,7 +250,7 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks
            DisplayManager displayManager, AccessibilityLogger a11yLogger,
            IWindowManager iWindowManager,
            AccessibilityManager accessibilityManager,
            ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) {
            WindowManagerProvider windowManagerProvider) {
        mHandler = new Handler(looper) {
            @Override
            public void handleMessage(@NonNull Message msg) {
@@ -263,12 +269,13 @@ public class MagnificationImpl implements Magnification, CommandQueue.Callbacks
        mA11yLogger = a11yLogger;
        mWindowMagnificationControllerSupplier = new WindowMagnificationControllerSupplier(context,
                mHandler, mWindowMagnifierCallback,
                displayManager, sysUiState, secureSettings, viewCaptureAwareWindowManager);
                displayManager, sysUiState, secureSettings, windowManagerProvider);
        mFullscreenMagnificationControllerSupplier = new FullscreenMagnificationControllerSupplier(
                context, displayManager, mHandler, mExecutor, iWindowManager);
                context, displayManager, mHandler, mExecutor, iWindowManager,
                windowManagerProvider);
        mMagnificationSettingsSupplier = new SettingsSupplier(context,
                mMagnificationSettingsControllerCallback, displayManager, secureSettings,
                viewCaptureAwareWindowManager);
                windowManagerProvider);

        mModeSwitchesController.setClickListenerDelegate(
                displayId -> mHandler.post(() -> {
+6 −7
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ 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;
@@ -62,9 +61,9 @@ public class MagnificationSettingsController implements ComponentCallbacks {
            SfVsyncFrameCallbackProvider sfVsyncFrameProvider,
            @NonNull Callback settingsControllerCallback,
            SecureSettings secureSettings,
            ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) {
        this(context, sfVsyncFrameProvider, settingsControllerCallback,  secureSettings, null,
                viewCaptureAwareWindowManager);
            WindowManager windowManager) {
        this(context, sfVsyncFrameProvider, settingsControllerCallback,  secureSettings,
                windowManager, null);
    }

    @VisibleForTesting
@@ -73,8 +72,8 @@ public class MagnificationSettingsController implements ComponentCallbacks {
            SfVsyncFrameCallbackProvider sfVsyncFrameProvider,
            @NonNull Callback settingsControllerCallback,
            SecureSettings secureSettings,
            WindowMagnificationSettings windowMagnificationSettings,
            ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) {
            WindowManager windowManager,
            WindowMagnificationSettings windowMagnificationSettings) {
        mContext = context.createWindowContext(
                context.getDisplay(),
                WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL,
@@ -88,7 +87,7 @@ public class MagnificationSettingsController implements ComponentCallbacks {
        } else {
            mWindowMagnificationSettings = new WindowMagnificationSettings(mContext,
                    mWindowMagnificationSettingsCallback,
                    sfVsyncFrameProvider, secureSettings, viewCaptureAwareWindowManager);
                    sfVsyncFrameProvider, secureSettings, windowManager);
        }
    }

+3 −2
Original line number Diff line number Diff line
@@ -249,7 +249,8 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
            @NonNull WindowMagnifierCallback callback,
            SysUiState sysUiState,
            SecureSettings secureSettings,
            Supplier<SurfaceControlViewHost> scvhSupplier) {
            Supplier<SurfaceControlViewHost> scvhSupplier,
            WindowManager windowManager) {
        mContext = context;
        mHandler = handler;
        mAnimationController = animationController;
@@ -265,7 +266,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
        mDisplayId = mContext.getDisplayId();
        mRotation = display.getRotation();

        mWm = context.getSystemService(WindowManager.class);
        mWm = windowManager;
        mWindowBounds = new Rect(mWm.getCurrentWindowMetrics().getBounds());

        mResources = mContext.getResources();
+4 −7
Original line number Diff line number Diff line
@@ -56,7 +56,6 @@ 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.common.ui.view.SeekBarWithIconButtonsView;
@@ -75,7 +74,6 @@ 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;
@@ -137,11 +135,10 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest
    @VisibleForTesting
    WindowMagnificationSettings(Context context, WindowMagnificationSettingsCallback callback,
            SfVsyncFrameCallbackProvider sfVsyncFrameProvider, SecureSettings secureSettings,
            ViewCaptureAwareWindowManager viewCaptureAwareWindowManager) {
            WindowManager windowManager) {
        mContext = context;
        mAccessibilityManager = mContext.getSystemService(AccessibilityManager.class);
        mWindowManager = mContext.getSystemService(WindowManager.class);
        mViewCaptureAwareWindowManager = viewCaptureAwareWindowManager;
        mWindowManager = windowManager;
        mSfVsyncFrameProvider = sfVsyncFrameProvider;
        mCallback = callback;
        mSecureSettings = secureSettings;
@@ -324,7 +321,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest

        // Unregister observer before removing view
        mSecureSettings.unregisterContentObserverSync(mMagnificationCapabilityObserver);
        mViewCaptureAwareWindowManager.removeView(mSettingView);
        mWindowManager.removeView(mSettingView);
        mIsVisible = false;
        if (resetPosition) {
            mParams.x = 0;
@@ -382,7 +379,7 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest
                mParams.y = mDraggableWindowBounds.bottom;
            }

            mViewCaptureAwareWindowManager.addView(mSettingView, mParams);
            mWindowManager.addView(mSettingView, mParams);

            mSecureSettings.registerContentObserverForUserSync(
                    Settings.Secure.ACCESSIBILITY_MAGNIFICATION_CAPABILITY,
Loading