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

Commit 14d6cdca authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "InputMonitorCompat is no longer Parcelable" into sc-dev

parents 9da117df 1cac73d9
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -78,11 +78,6 @@ interface ISystemUiProxy {
     */
    void startAssistant(in Bundle bundle) = 13;

    /**
     * Creates a new gesture monitor
     */
    Bundle monitorGestureInput(String name, int displayId) = 14;

    /**
     * Notifies that the accessibility button in the system's navigation area has been clicked
     */
+1 −53
Original line number Diff line number Diff line
@@ -16,10 +16,7 @@
package com.android.systemui.shared.system;

import android.hardware.input.InputManager;
import android.os.Bundle;
import android.os.Looper;
import android.os.Parcel;
import android.os.Parcelable;
import android.view.Choreographer;
import android.view.InputMonitor;

@@ -29,9 +26,8 @@ import com.android.systemui.shared.system.InputChannelCompat.InputEventReceiver;
/**
 * @see android.view.InputMonitor
 */
public class InputMonitorCompat implements Parcelable {
public class InputMonitorCompat {
    private final InputMonitor mInputMonitor;
    private boolean mForReturn = false;

    /**
     * Monitor input on the specified display for gestures.
@@ -40,10 +36,6 @@ public class InputMonitorCompat implements Parcelable {
        mInputMonitor = InputManager.getInstance().monitorGestureInput(name, displayId);
    }

    private InputMonitorCompat(InputMonitor monitor) {
        mInputMonitor = monitor;
    }

    /**
     * @see InputMonitor#pilferPointers()
     */
@@ -66,48 +58,4 @@ public class InputMonitorCompat implements Parcelable {
        return new InputEventReceiver(mInputMonitor.getInputChannel(), looper, choreographer,
                listener);
    }

    /**
     * Gets the input monitor stored in a bundle
     */
    public static InputMonitorCompat fromBundle(Bundle bundle, String key) {
        bundle.setClassLoader(InputMonitorCompat.class.getClassLoader());
        return (InputMonitorCompat) bundle.getParcelable(key);
    }

    /**
     * Gets the input monitor compat as the return value.
     */
    public static InputMonitorCompat obtainReturnValue(InputMonitor monitor) {
        final InputMonitorCompat monitorCompat = new InputMonitorCompat(monitor);
        monitorCompat.mForReturn = true;
        return monitorCompat;
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        mInputMonitor.writeToParcel(dest,
                mForReturn ? PARCELABLE_WRITE_RETURN_VALUE : flags);
    }

    private InputMonitorCompat(Parcel in) {
        mInputMonitor = InputMonitor.CREATOR.createFromParcel(in);
    }

    public static final Creator<InputMonitorCompat> CREATOR = new Creator<InputMonitorCompat>() {
        @Override
        public InputMonitorCompat createFromParcel(Parcel in) {
            return new InputMonitorCompat(in);
        }

        @Override
        public InputMonitorCompat[] newArray(int size) {
            return new InputMonitorCompat[size];
        }
    };
}
+0 −1
Original line number Diff line number Diff line
@@ -38,7 +38,6 @@ import java.util.StringJoiner;
public class QuickStepContract {

    public static final String KEY_EXTRA_SYSUI_PROXY = "extra_sysui_proxy";
    public static final String KEY_EXTRA_INPUT_MONITOR = "extra_input_monitor";
    public static final String KEY_EXTRA_WINDOW_CORNER_RADIUS = "extra_window_corner_radius";
    public static final String KEY_EXTRA_SUPPORTS_WINDOW_CORNERS = "extra_supports_window_corners";
    // See IPip.aidl
+0 −21
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import static android.view.WindowManager.ScreenshotSource.SCREENSHOT_OVERVIEW;
import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_3BUTTON;

import static com.android.internal.accessibility.common.ShortcutConstants.CHOOSER_PACKAGE_NAME;
import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_INPUT_MONITOR;
import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_SHELL_ONE_HANDED;
import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_SHELL_PIP;
import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_SHELL_SHELL_TRANSITIONS;
@@ -62,7 +61,6 @@ import android.os.SystemClock;
import android.os.UserHandle;
import android.util.Log;
import android.view.InputDevice;
import android.view.InputMonitor;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.MotionEvent;
@@ -89,7 +87,6 @@ import com.android.systemui.shared.recents.IOverviewProxy;
import com.android.systemui.shared.recents.ISystemUiProxy;
import com.android.systemui.shared.recents.model.Task;
import com.android.systemui.shared.system.ActivityManagerWrapper;
import com.android.systemui.shared.system.InputMonitorCompat;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.NotificationShadeWindowController;
@@ -357,24 +354,6 @@ public class OverviewProxyService extends CurrentUserTracker implements
            }
        }

        @Override
        public Bundle monitorGestureInput(String name, int displayId) {
            if (!verifyCaller("monitorGestureInput")) {
                return null;
            }
            final long token = Binder.clearCallingIdentity();
            try {
                final InputMonitor monitor =
                        InputManager.getInstance().monitorGestureInput(name, displayId);
                final Bundle result = new Bundle();
                result.putParcelable(KEY_EXTRA_INPUT_MONITOR,
                        InputMonitorCompat.obtainReturnValue(monitor));
                return result;
            } finally {
                Binder.restoreCallingIdentity(token);
            }
        }

        @Override
        public void notifyAccessibilityButtonClicked(int displayId) {
            if (!verifyCaller("notifyAccessibilityButtonClicked")) {