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

Commit ea745b7b authored by Miranda Kephart's avatar Miranda Kephart Committed by Automerger Merge Worker
Browse files

Merge "Dispose of input event reciever along with monitor" into sc-v2-dev am: 27261a81

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16332479

Change-Id: I1bc2de90197a471d2b1317008c724609d52198a5
parents 2b18dee1 27261a81
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -86,6 +86,7 @@ import androidx.constraintlayout.widget.ConstraintLayout;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.R;
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.QuickStepContract;

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

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

    @Override // ViewGroup