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

Commit 764954f0 authored by archisha's avatar archisha
Browse files

Using ViewCaptureAwareWindowManager for adding and removing windows in SystemUI instead of

WindowManager, to add view capture tracing.

Bug: 342100136
Flag: com.android.systemui.enable_view_capture_tracing
Test: Ran relevant unit tests locally.

Change-Id: I17b7fee6a9d5e5e84d02763fc01cf0085e869372
parent b1dbee02
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@ import android.view.WindowManager
import android.view.accessibility.AccessibilityManager
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.keyguard.KeyguardUpdateMonitor
import com.android.systemui.Flags
import com.android.systemui.SysuiTestCase
@@ -70,6 +72,7 @@ import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.testKosmos
import com.android.systemui.user.domain.interactor.SelectedUserInteractor
import com.google.common.truth.Truth.assertThat
import dagger.Lazy
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runCurrent
@@ -108,6 +111,7 @@ class UdfpsControllerOverlayTest : SysuiTestCase() {

    @Mock private lateinit var inflater: LayoutInflater
    @Mock private lateinit var windowManager: WindowManager
    @Mock private lateinit var lazyViewCapture: kotlin.Lazy<ViewCapture>
    @Mock private lateinit var accessibilityManager: AccessibilityManager
    @Mock private lateinit var statusBarStateController: StatusBarStateController
    @Mock private lateinit var statusBarKeyguardViewManager: StatusBarKeyguardViewManager
@@ -192,7 +196,8 @@ class UdfpsControllerOverlayTest : SysuiTestCase() {
            UdfpsControllerOverlay(
                context,
                inflater,
                windowManager,
                ViewCaptureAwareWindowManager(windowManager, lazyViewCapture,
                        isViewCaptureEnabled = false),
                accessibilityManager,
                statusBarStateController,
                statusBarKeyguardViewManager,
+2 −2
Original line number Diff line number Diff line
@@ -65,12 +65,12 @@ import android.view.Surface;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewRootImpl;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityManager;

import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;

import com.android.app.viewcapture.ViewCaptureAwareWindowManager;
import com.android.internal.logging.InstanceIdSequence;
import com.android.internal.util.LatencyTracker;
import com.android.keyguard.KeyguardUpdateMonitor;
@@ -152,7 +152,7 @@ public class UdfpsControllerTest extends SysuiTestCase {
    @Mock
    private FingerprintManager mFingerprintManager;
    @Mock
    private WindowManager mWindowManager;
    private ViewCaptureAwareWindowManager mWindowManager;
    @Mock
    private StatusBarStateController mStatusBarStateController;
    @Mock
+2 −1
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ import android.view.WindowManager;

import androidx.test.filters.SmallTest;

import com.android.app.viewcapture.ViewCaptureAwareWindowManager;
import com.android.internal.colorextraction.ColorExtractor;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.biometrics.AuthController;
@@ -89,7 +90,7 @@ import platform.test.runner.parameterized.Parameters;
@RunWithLooper(setAsMainLooper = true)
@SmallTest
public class NotificationShadeWindowControllerImplTest extends SysuiTestCase {
    @Mock private WindowManager mWindowManager;
    @Mock private ViewCaptureAwareWindowManager mWindowManager;
    @Mock private DozeParameters mDozeParameters;
    @Spy private final NotificationShadeWindowView mNotificationShadeWindowView = spy(
            new NotificationShadeWindowView(mContext, null));
+4 −4
Original line number Diff line number Diff line
@@ -56,13 +56,13 @@ import android.view.HapticFeedbackConstants;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityManager;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.OptIn;

import com.android.app.viewcapture.ViewCaptureAwareWindowManager;
import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.InstanceId;
@@ -147,7 +147,7 @@ public class UdfpsController implements DozeReceiver, Dumpable {
    private final Execution mExecution;
    private final FingerprintManager mFingerprintManager;
    @NonNull private final LayoutInflater mInflater;
    private final WindowManager mWindowManager;
    private final ViewCaptureAwareWindowManager mWindowManager;
    private final DelayableExecutor mFgExecutor;
    @NonNull private final Executor mBiometricExecutor;
    @NonNull private final StatusBarStateController mStatusBarStateController;
@@ -693,7 +693,7 @@ public class UdfpsController implements DozeReceiver, Dumpable {
            @NonNull Execution execution,
            @NonNull LayoutInflater inflater,
            @Nullable FingerprintManager fingerprintManager,
            @NonNull WindowManager windowManager,
            @NonNull ViewCaptureAwareWindowManager viewCaptureAwareWindowManager,
            @NonNull StatusBarStateController statusBarStateController,
            @Main DelayableExecutor fgExecutor,
            @NonNull StatusBarKeyguardViewManager statusBarKeyguardViewManager,
@@ -741,7 +741,7 @@ public class UdfpsController implements DozeReceiver, Dumpable {
        // The fingerprint manager is queried for UDFPS before this class is constructed, so the
        // fingerprint manager should never be null.
        mFingerprintManager = checkNotNull(fingerprintManager);
        mWindowManager = windowManager;
        mWindowManager = viewCaptureAwareWindowManager;
        mFgExecutor = fgExecutor;
        mStatusBarStateController = statusBarStateController;
        mKeyguardStateController = keyguardStateController;
+2 −1
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import android.view.accessibility.AccessibilityManager
import android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener
import androidx.annotation.LayoutRes
import androidx.annotation.VisibleForTesting
import com.android.app.viewcapture.ViewCaptureAwareWindowManager
import com.android.keyguard.KeyguardUpdateMonitor
import com.android.systemui.animation.ActivityTransitionAnimator
import com.android.systemui.biometrics.domain.interactor.UdfpsOverlayInteractor
@@ -94,7 +95,7 @@ class UdfpsControllerOverlay
constructor(
    private val context: Context,
    private val inflater: LayoutInflater,
    private val windowManager: WindowManager,
    private val windowManager: ViewCaptureAwareWindowManager,
    private val accessibilityManager: AccessibilityManager,
    private val statusBarStateController: StatusBarStateController,
    private val statusBarKeyguardViewManager: StatusBarKeyguardViewManager,
Loading