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

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

Merge "Using ViewCaptureAwareWindowManager to enable view tracing for windows...

Merge "Using ViewCaptureAwareWindowManager to enable view tracing for windows in system ui." into main
parents 3e663a92 17d81c24
Loading
Loading
Loading
Loading
+5 −4
Original line number Original line Diff line number Diff line
@@ -33,6 +33,7 @@ import android.view.WindowManager;
import android.view.animation.PathInterpolator;
import android.view.animation.PathInterpolator;
import android.widget.FrameLayout;
import android.widget.FrameLayout;


import com.android.app.viewcapture.ViewCaptureAwareWindowManager;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.systemui.assist.AssistLogger;
import com.android.systemui.assist.AssistLogger;
@@ -66,7 +67,7 @@ public class DefaultUiController implements AssistManager.UiController {
    protected InvocationLightsView mInvocationLightsView;
    protected InvocationLightsView mInvocationLightsView;
    protected final AssistLogger mAssistLogger;
    protected final AssistLogger mAssistLogger;


    private final WindowManager mWindowManager;
    private final ViewCaptureAwareWindowManager mWindowManager;
    private final MetricsLogger mMetricsLogger;
    private final MetricsLogger mMetricsLogger;
    private final Lazy<AssistManager> mAssistManagerLazy;
    private final Lazy<AssistManager> mAssistManagerLazy;
    private final WindowManager.LayoutParams mLayoutParams;
    private final WindowManager.LayoutParams mLayoutParams;
@@ -80,12 +81,12 @@ public class DefaultUiController implements AssistManager.UiController {


    @Inject
    @Inject
    public DefaultUiController(Context context, AssistLogger assistLogger,
    public DefaultUiController(Context context, AssistLogger assistLogger,
            WindowManager windowManager, MetricsLogger metricsLogger,
            ViewCaptureAwareWindowManager viewCaptureAwareWindowManager,
            Lazy<AssistManager> assistManagerLazy,
            MetricsLogger metricsLogger, Lazy<AssistManager> assistManagerLazy,
            NavigationBarController navigationBarController) {
            NavigationBarController navigationBarController) {
        mAssistLogger = assistLogger;
        mAssistLogger = assistLogger;
        mRoot = new FrameLayout(context);
        mRoot = new FrameLayout(context);
        mWindowManager = windowManager;
        mWindowManager = viewCaptureAwareWindowManager;
        mMetricsLogger = metricsLogger;
        mMetricsLogger = metricsLogger;
        mAssistManagerLazy = assistManagerLazy;
        mAssistManagerLazy = assistManagerLazy;


+3 −2
Original line number Original line Diff line number Diff line
@@ -26,6 +26,7 @@ import android.view.ViewGroup.LayoutParams.MATCH_PARENT
import android.view.WindowManager
import android.view.WindowManager
import android.widget.ProgressBar
import android.widget.ProgressBar
import androidx.core.view.isGone
import androidx.core.view.isGone
import com.android.app.viewcapture.ViewCaptureAwareWindowManager
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.res.R
import com.android.systemui.res.R
import javax.inject.Inject
import javax.inject.Inject
@@ -37,7 +38,7 @@ class SideFpsProgressBar
@Inject
@Inject
constructor(
constructor(
    private val layoutInflater: LayoutInflater,
    private val layoutInflater: LayoutInflater,
    private val windowManager: WindowManager,
    private val windowManager: ViewCaptureAwareWindowManager,
) {
) {
    private var overlayView: View? = null
    private var overlayView: View? = null


@@ -90,7 +91,7 @@ constructor(
    ) {
    ) {
        if (overlayView == null) {
        if (overlayView == null) {
            overlayView = layoutInflater.inflate(R.layout.sidefps_progress_bar, null, false)
            overlayView = layoutInflater.inflate(R.layout.sidefps_progress_bar, null, false)
            windowManager.addView(overlayView, overlayViewParams)
            windowManager.addView(requireNotNull(overlayView), overlayViewParams)
            progressBar?.pivotX = 0.0f
            progressBar?.pivotX = 0.0f
            progressBar?.pivotY = 0.0f
            progressBar?.pivotY = 0.0f
        }
        }
+3 −2
Original line number Original line Diff line number Diff line
@@ -33,6 +33,7 @@ import androidx.annotation.VisibleForTesting
import androidx.core.os.postDelayed
import androidx.core.os.postDelayed
import androidx.core.view.isVisible
import androidx.core.view.isVisible
import androidx.dynamicanimation.animation.DynamicAnimation
import androidx.dynamicanimation.animation.DynamicAnimation
import com.android.app.viewcapture.ViewCaptureAwareWindowManager
import com.android.internal.jank.Cuj
import com.android.internal.jank.Cuj
import com.android.internal.jank.InteractionJankMonitor
import com.android.internal.jank.InteractionJankMonitor
import com.android.internal.util.LatencyTracker
import com.android.internal.util.LatencyTracker
@@ -83,7 +84,7 @@ private const val DEBUG = false
class BackPanelController
class BackPanelController
internal constructor(
internal constructor(
    context: Context,
    context: Context,
    private val windowManager: WindowManager,
    private val windowManager: ViewCaptureAwareWindowManager,
    private val viewConfiguration: ViewConfiguration,
    private val viewConfiguration: ViewConfiguration,
    private val mainHandler: Handler,
    private val mainHandler: Handler,
    private val systemClock: SystemClock,
    private val systemClock: SystemClock,
@@ -102,7 +103,7 @@ internal constructor(
    class Factory
    class Factory
    @Inject
    @Inject
    constructor(
    constructor(
        private val windowManager: WindowManager,
        private val windowManager: ViewCaptureAwareWindowManager,
        private val viewConfiguration: ViewConfiguration,
        private val viewConfiguration: ViewConfiguration,
        @BackPanelUiThread private val uiThreadContext: UiThreadContext,
        @BackPanelUiThread private val uiThreadContext: UiThreadContext,
        private val systemClock: SystemClock,
        private val systemClock: SystemClock,
+1 −12
Original line number Original line Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.systemui.navigationbar.views;
import static android.inputmethodservice.InputMethodService.canImeRenderGesturalNavButtons;
import static android.inputmethodservice.InputMethodService.canImeRenderGesturalNavButtons;
import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;


import static com.android.systemui.Flags.enableViewCaptureTracing;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_HOME_DISABLED;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_HOME_DISABLED;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SEARCH_DISABLED;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SEARCH_DISABLED;
@@ -38,7 +37,6 @@ import android.content.res.Configuration;
import android.graphics.Canvas;
import android.graphics.Canvas;
import android.graphics.Point;
import android.graphics.Point;
import android.graphics.Rect;
import android.graphics.Rect;
import android.media.permission.SafeCloseable;
import android.os.Bundle;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.RemoteException;
import android.util.AttributeSet;
import android.util.AttributeSet;
@@ -61,19 +59,18 @@ import android.widget.FrameLayout;
import androidx.annotation.Nullable;
import androidx.annotation.Nullable;


import com.android.app.animation.Interpolators;
import com.android.app.animation.Interpolators;
import com.android.app.viewcapture.ViewCaptureFactory;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settingslib.Utils;
import com.android.settingslib.Utils;
import com.android.systemui.Gefingerpoken;
import com.android.systemui.Gefingerpoken;
import com.android.systemui.model.SysUiState;
import com.android.systemui.model.SysUiState;
import com.android.systemui.navigationbar.ScreenPinningNotify;
import com.android.systemui.navigationbar.ScreenPinningNotify;
import com.android.systemui.navigationbar.gestural.EdgeBackGestureHandler;
import com.android.systemui.navigationbar.views.buttons.ButtonDispatcher;
import com.android.systemui.navigationbar.views.buttons.ButtonDispatcher;
import com.android.systemui.navigationbar.views.buttons.ContextualButton;
import com.android.systemui.navigationbar.views.buttons.ContextualButton;
import com.android.systemui.navigationbar.views.buttons.ContextualButtonGroup;
import com.android.systemui.navigationbar.views.buttons.ContextualButtonGroup;
import com.android.systemui.navigationbar.views.buttons.DeadZone;
import com.android.systemui.navigationbar.views.buttons.DeadZone;
import com.android.systemui.navigationbar.views.buttons.KeyButtonDrawable;
import com.android.systemui.navigationbar.views.buttons.KeyButtonDrawable;
import com.android.systemui.navigationbar.views.buttons.NearestTouchFrame;
import com.android.systemui.navigationbar.views.buttons.NearestTouchFrame;
import com.android.systemui.navigationbar.gestural.EdgeBackGestureHandler;
import com.android.systemui.recents.Recents;
import com.android.systemui.recents.Recents;
import com.android.systemui.res.R;
import com.android.systemui.res.R;
import com.android.systemui.settings.DisplayTracker;
import com.android.systemui.settings.DisplayTracker;
@@ -181,7 +178,6 @@ public class NavigationBarView extends FrameLayout {
    private boolean mOverviewProxyEnabled;
    private boolean mOverviewProxyEnabled;
    private boolean mShowSwipeUpUi;
    private boolean mShowSwipeUpUi;
    private UpdateActiveTouchRegionsCallback mUpdateActiveTouchRegionsCallback;
    private UpdateActiveTouchRegionsCallback mUpdateActiveTouchRegionsCallback;
    private SafeCloseable mViewCaptureCloseable;


    private class NavTransitionListener implements TransitionListener {
    private class NavTransitionListener implements TransitionListener {
        private boolean mBackTransitioning;
        private boolean mBackTransitioning;
@@ -1082,10 +1078,6 @@ public class NavigationBarView extends FrameLayout {
        }
        }


        updateNavButtonIcons();
        updateNavButtonIcons();
        if (enableViewCaptureTracing()) {
            mViewCaptureCloseable = ViewCaptureFactory.getInstance(getContext())
                    .startCapture(getRootView(), ".NavigationBarView");
        }
    }
    }


    @Override
    @Override
@@ -1098,9 +1090,6 @@ public class NavigationBarView extends FrameLayout {
            mFloatingRotationButton.hide();
            mFloatingRotationButton.hide();
            mRotationButtonController.unregisterListeners();
            mRotationButtonController.unregisterListeners();
        }
        }
        if (mViewCaptureCloseable != null) {
            mViewCaptureCloseable.close();
        }
    }
    }


    void dump(PrintWriter pw) {
    void dump(PrintWriter pw) {
+4 −3
Original line number Original line Diff line number Diff line
@@ -65,6 +65,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.annotation.VisibleForTesting;
import androidx.annotation.WorkerThread;
import androidx.annotation.WorkerThread;


import com.android.app.viewcapture.ViewCaptureAwareWindowManager;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.UiEventLogger;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
@@ -184,7 +185,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi
    private GlobalSettings mGlobalSettings;
    private GlobalSettings mGlobalSettings;
    private int mDefaultDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
    private int mDefaultDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
    private ConnectivityManager.NetworkCallback mConnectivityManagerNetworkCallback;
    private ConnectivityManager.NetworkCallback mConnectivityManagerNetworkCallback;
    private WindowManager mWindowManager;
    private ViewCaptureAwareWindowManager mWindowManager;
    private ToastFactory mToastFactory;
    private ToastFactory mToastFactory;
    private SignalDrawable mSignalDrawable;
    private SignalDrawable mSignalDrawable;
    private SignalDrawable mSecondarySignalDrawable; // For the secondary mobile data sub in DSDS
    private SignalDrawable mSecondarySignalDrawable; // For the secondary mobile data sub in DSDS
@@ -246,7 +247,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi
            @Main Handler handler, @Main Executor mainExecutor,
            @Main Handler handler, @Main Executor mainExecutor,
            BroadcastDispatcher broadcastDispatcher, KeyguardUpdateMonitor keyguardUpdateMonitor,
            BroadcastDispatcher broadcastDispatcher, KeyguardUpdateMonitor keyguardUpdateMonitor,
            GlobalSettings globalSettings, KeyguardStateController keyguardStateController,
            GlobalSettings globalSettings, KeyguardStateController keyguardStateController,
            WindowManager windowManager, ToastFactory toastFactory,
            ViewCaptureAwareWindowManager viewCaptureAwareWindowManager, ToastFactory toastFactory,
            @Background Handler workerHandler,
            @Background Handler workerHandler,
            CarrierConfigTracker carrierConfigTracker,
            CarrierConfigTracker carrierConfigTracker,
            LocationController locationController,
            LocationController locationController,
@@ -278,7 +279,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi
        mAccessPointController = accessPointController;
        mAccessPointController = accessPointController;
        mWifiIconInjector = new WifiUtils.InternetIconInjector(mContext);
        mWifiIconInjector = new WifiUtils.InternetIconInjector(mContext);
        mConnectivityManagerNetworkCallback = new DataConnectivityListener();
        mConnectivityManagerNetworkCallback = new DataConnectivityListener();
        mWindowManager = windowManager;
        mWindowManager = viewCaptureAwareWindowManager;
        mToastFactory = toastFactory;
        mToastFactory = toastFactory;
        mSignalDrawable = new SignalDrawable(mContext);
        mSignalDrawable = new SignalDrawable(mContext);
        mSecondarySignalDrawable = new SignalDrawable(mContext);
        mSecondarySignalDrawable = new SignalDrawable(mContext);
Loading