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

Commit a5afc7b1 authored by Miranda Kephart's avatar Miranda Kephart Committed by Android (Google) Code Review
Browse files

Merge "Dispose of input event reciever along with monitor"

parents b8f3f9d2 a9549d29
Loading
Loading
Loading
Loading
+8 −2
Original line number Original line Diff line number Diff line
@@ -86,6 +86,7 @@ import androidx.constraintlayout.widget.ConstraintLayout;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.screenshot.ScreenshotController.SavedImageData.ActionTransition;
import com.android.systemui.screenshot.ScreenshotController.SavedImageData.ActionTransition;
import com.android.systemui.shared.system.InputChannelCompat;
import com.android.systemui.shared.system.InputMonitorCompat;
import com.android.systemui.shared.system.InputMonitorCompat;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.shared.system.QuickStepContract;


@@ -162,6 +163,7 @@ public class ScreenshotView extends FrameLayout implements
    private GestureDetector mSwipeDetector;
    private GestureDetector mSwipeDetector;
    private SwipeDismissHandler mSwipeDismissHandler;
    private SwipeDismissHandler mSwipeDismissHandler;
    private InputMonitorCompat mInputMonitor;
    private InputMonitorCompat mInputMonitor;
    private InputChannelCompat.InputEventReceiver mInputEventReceiver;
    private boolean mShowScrollablePreview;
    private boolean mShowScrollablePreview;
    private String mPackageName = "";
    private String mPackageName = "";


@@ -302,8 +304,8 @@ public class ScreenshotView extends FrameLayout implements
    private void startInputListening() {
    private void startInputListening() {
        stopInputListening();
        stopInputListening();
        mInputMonitor = new InputMonitorCompat("Screenshot", Display.DEFAULT_DISPLAY);
        mInputMonitor = new InputMonitorCompat("Screenshot", Display.DEFAULT_DISPLAY);
        mInputMonitor.getInputReceiver(Looper.getMainLooper(), Choreographer.getInstance(),
        mInputEventReceiver = mInputMonitor.getInputReceiver(
                ev -> {
                Looper.getMainLooper(), Choreographer.getInstance(), ev -> {
                    if (ev instanceof MotionEvent) {
                    if (ev instanceof MotionEvent) {
                        MotionEvent event = (MotionEvent) ev;
                        MotionEvent event = (MotionEvent) ev;
                        if (event.getActionMasked() == MotionEvent.ACTION_DOWN
                        if (event.getActionMasked() == MotionEvent.ACTION_DOWN
@@ -320,6 +322,10 @@ public class ScreenshotView extends FrameLayout implements
            mInputMonitor.dispose();
            mInputMonitor.dispose();
            mInputMonitor = null;
            mInputMonitor = null;
        }
        }
        if (mInputEventReceiver != null) {
            mInputEventReceiver.dispose();
            mInputEventReceiver = null;
        }
    }
    }


    @Override // ViewGroup
    @Override // ViewGroup