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

Commit b8abcbd6 authored by Archisha Baranwal's avatar Archisha Baranwal Committed by Android (Google) Code Review
Browse files

Merge changes from topic "viewCaptureWindowManagerImplChange" into main

* changes:
  Use WindowManagerProvider to instantiate WindowManager.
  Modified Revert of "Adding ViewCaptureAwareWindowManager to WirelessCharging..."
  Changing ViewCaptureAwareWindowManager initialisation in FloatingRotationButton.
  Change ViewCaptureAwareWindowManager to extend WindowManagerImpl directly.
  Modified Revert of "Adding ViewCaptureAwareWindowManager to MirrorControlWindow."
  Modified Revert of "Adding ViewCaptureAwareWindowManager to A11yMenuOverlayLayout window."
  Modified Revert of "Adding ViewCaptureAwareWindowManager to AssistDisclosure..."
  Modified Revert of "Adding ViewCaptureAwareWindowManager to ScreenDecorations window."
  Modified Revert of "Using ViewCaptureAwareWindowManager for adding and removing windows in SystemUI instead of"
  Modified Revert of "Adding ViewCaptureAwareWindowManager to NavigationBar window."
  Modified Revert of "Adding ViewCaptureAwareWindowManager to ClipboardOverlayWindow."
  Remove explicit ViewCaptureAwareWindowManager usage in MagnificationModeSwitch window.
  Modified Revert of "Adding ViewCaptureAwareWindowManager to ImmersiveModeConfirmation window."
  Modified Revert of "Adding ViewCaptureAwareWindowManager to AuthContainerView."
  Modified Revert of "Adding ViewCaptureAwareWindowManager to WindowMagnificationSettings window."
  Modified Revert of "Adding ViewCaptureAwareWindowManager to system ui windows."
  Adding a WindowManagerProvider and WindowManagerUtils to provide the required WindowManager instance based on the status of ViewCapture tracing being enabled or disabled in SysUI.
  Modified Revert of "Adding ViewCaptureAwareWindowManager to InattentiveSleepWarningView window."
  Modified Revert of "Using ViewCaptureAwareWindowManager to enable view traci..."
  Modified Revert of "Adding ViewCaptureAwareWindowManager to ScreenPinningReq..."
  Modified Revert of "Using ViewCaptureAwareWindowManager for adding and removing windows in SystemUI instead of"
parents ad86a80d 206aa484
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -120,7 +120,7 @@ public class WindowManagerImpl implements WindowManager {
        this(context, null /* parentWindow */, null /* clientToken */);
    }

    private WindowManagerImpl(Context context, Window parentWindow,
    public WindowManagerImpl(Context context, Window parentWindow,
            @Nullable IBinder windowContextToken) {
        mContext = context;
        mParentWindow = parentWindow;
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ android_app {
        "com_android_systemui_flags_lib",
        "SettingsLibDisplayUtils",
        "SettingsLibSettingsTheme",
        "SystemUI-shared-utils",
        "com_android_a11y_menu_flags_lib",
        "//frameworks/libs/systemui:view_capture",
    ],
+4 −9
Original line number Diff line number Diff line
@@ -22,8 +22,6 @@ import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.View.ACCESSIBILITY_LIVE_REGION_POLITE;
import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY;

import static com.android.app.viewcapture.ViewCaptureFactory.getViewCaptureAwareWindowManagerInstance;

import static java.lang.Math.max;

import android.animation.Animator;
@@ -55,11 +53,11 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.UiContext;

import com.android.app.viewcapture.ViewCaptureAwareWindowManager;
import com.android.systemui.accessibility.accessibilitymenu.AccessibilityMenuService;
import com.android.systemui.accessibility.accessibilitymenu.R;
import com.android.systemui.accessibility.accessibilitymenu.activity.A11yMenuSettingsActivity.A11yMenuPreferenceFragment;
import com.android.systemui.accessibility.accessibilitymenu.model.A11yMenuShortcut;
import com.android.systemui.utils.windowmanager.WindowManagerUtils;

import java.util.ArrayList;
import java.util.List;
@@ -145,9 +143,7 @@ public class A11yMenuOverlayLayout {
        final Display display = mDisplayManager.getDisplay(DEFAULT_DISPLAY);
        final Context uiContext = mService.createWindowContext(
                display, TYPE_ACCESSIBILITY_OVERLAY, /* options= */null);
        final ViewCaptureAwareWindowManager windowManager =
                getViewCaptureAwareWindowManagerInstance(uiContext,
                        com.android.systemui.Flags.enableViewCaptureTracing());
        final WindowManager windowManager = WindowManagerUtils.getWindowManager(uiContext);
        mLayout = new A11yMenuFrameLayout(uiContext);
        updateLayoutPosition(uiContext);
        inflateLayoutAndSetOnTouchListener(mLayout, uiContext);
@@ -162,8 +158,7 @@ public class A11yMenuOverlayLayout {

    public void clearLayout() {
        if (mLayout != null) {
            ViewCaptureAwareWindowManager windowManager = getViewCaptureAwareWindowManagerInstance(
                    mLayout.getContext(), com.android.systemui.Flags.enableViewCaptureTracing());
            WindowManager windowManager = WindowManagerUtils.getWindowManager(mLayout.getContext());
            if (windowManager != null) {
                windowManager.removeView(mLayout);
            }
@@ -178,7 +173,7 @@ public class A11yMenuOverlayLayout {
            return;
        }
        updateLayoutPosition(mLayout.getContext());
        WindowManager windowManager = mLayout.getContext().getSystemService(WindowManager.class);
        WindowManager windowManager = WindowManagerUtils.getWindowManager(mLayout.getContext());
        if (windowManager != null) {
            windowManager.updateViewLayout(mLayout, mLayoutParameter);
        }
+3 −2
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import com.android.systemui.accessibility.accessibilitymenu.R;
import com.android.systemui.accessibility.accessibilitymenu.activity.A11yMenuSettingsActivity.A11yMenuPreferenceFragment;
import com.android.systemui.accessibility.accessibilitymenu.model.A11yMenuShortcut;
import com.android.systemui.accessibility.accessibilitymenu.view.A11yMenuFooter.A11yMenuFooterCallBack;
import com.android.systemui.utils.windowmanager.WindowManagerUtils;

import java.util.ArrayList;
import java.util.List;
@@ -292,8 +293,8 @@ public class A11yMenuViewPager {
            // Keeps footer window height unchanged no matter the density is changed.
            mA11yMenuFooter.adjustFooterToDensityScale(densityScale);
            // Adjust the view pager height for system bar and display cutout insets.
            WindowManager windowManager = mA11yMenuLayout.getContext()
                    .getSystemService(WindowManager.class);
            WindowManager windowManager = WindowManagerUtils
                    .getWindowManager(mA11yMenuLayout.getContext());
            WindowMetrics windowMetric = windowManager.getCurrentWindowMetrics();
            Insets windowInsets = windowMetric.getWindowInsets().getInsetsIgnoringVisibility(
                    WindowInsets.Type.systemBars() | WindowInsets.Type.displayCutout());
+2 −11
Original line number Diff line number Diff line
@@ -73,14 +73,10 @@ import android.widget.ImageView;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;

import com.android.app.viewcapture.ViewCapture;
import com.android.app.viewcapture.ViewCaptureAwareWindowManager;
import com.android.internal.graphics.SfVsyncFrameCallbackProvider;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.res.R;

import kotlin.Lazy;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -108,8 +104,6 @@ public class MagnificationModeSwitchTest extends SysuiTestCase {
    private SfVsyncFrameCallbackProvider mSfVsyncFrameProvider;
    @Mock
    private MagnificationModeSwitch.ClickListener mClickListener;
    @Mock
    private Lazy<ViewCapture> mLazyViewCapture;
    private TestableWindowManager mWindowManager;
    private ViewPropertyAnimator mViewPropertyAnimator;
    private MagnificationModeSwitch mMagnificationModeSwitch;
@@ -123,7 +117,6 @@ public class MagnificationModeSwitchTest extends SysuiTestCase {
        mContext = Mockito.spy(getContext());
        final WindowManager wm = mContext.getSystemService(WindowManager.class);
        mWindowManager = spy(new TestableWindowManager(wm));
        mContext.addMockSystemService(Context.WINDOW_SERVICE, mWindowManager);
        mContext.addMockSystemService(Context.ACCESSIBILITY_SERVICE, mAccessibilityManager);
        mSpyImageView = Mockito.spy(new ImageView(mContext));
        mViewPropertyAnimator = Mockito.spy(mSpyImageView.animate());
@@ -139,10 +132,8 @@ public class MagnificationModeSwitchTest extends SysuiTestCase {
            return null;
        }).when(mSfVsyncFrameProvider).postFrameCallback(
                any(Choreographer.FrameCallback.class));
        ViewCaptureAwareWindowManager vwm = new ViewCaptureAwareWindowManager(mWindowManager,
                mLazyViewCapture, false);
        mMagnificationModeSwitch = new MagnificationModeSwitch(mContext, mSpyImageView,
                mSfVsyncFrameProvider, mClickListener, vwm);
        mMagnificationModeSwitch = new MagnificationModeSwitch(mContext, mWindowManager,
                mSpyImageView, mSfVsyncFrameProvider, mClickListener);
        assertNotNull(mTouchListener);
    }

Loading