Loading config/hiddenapi-vendor-list.txt +2 −2 Original line number Diff line number Diff line Loading @@ -152,8 +152,8 @@ Landroid/view/IRemoteAnimationFinishedCallback;->onAnimationFinished()V Landroid/view/IRemoteAnimationRunner$Stub;-><init>()V Landroid/view/IRemoteAnimationRunner;->onAnimationCancelled()V Landroid/view/IRemoteAnimationRunner;->onAnimationStart([Landroid/view/RemoteAnimationTarget;Landroid/view/IRemoteAnimationFinishedCallback;)V Landroid/view/IWindowManager;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;)V Landroid/view/IWindowManager;->destroyInputConsumer(Ljava/lang/String;)Z Landroid/view/IWindowManager;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;ILandroid/view/InputChannel;)V Landroid/view/IWindowManager;->destroyInputConsumer(Ljava/lang/String;I)Z Landroid/view/IWindowManager;->endProlongedAnimations()V Landroid/view/IWindowManager;->getStableInsets(ILandroid/graphics/Rect;)V Landroid/view/IWindowManager;->overridePendingAppTransitionMultiThumbFuture(Landroid/view/IAppTransitionAnimationSpecsFuture;Landroid/os/IRemoteCallback;Z)V Loading core/java/android/view/IWindowManager.aidl +6 −5 Original line number Diff line number Diff line Loading @@ -391,15 +391,16 @@ interface IWindowManager void registerShortcutKey(in long shortcutCode, IShortcutService keySubscriber); /** * Create an input consumer by name. * Create an input consumer by name and display id. */ void createInputConsumer(IBinder token, String name, out InputChannel inputChannel); void createInputConsumer(IBinder token, String name, int displayId, out InputChannel inputChannel); /** * Destroy an input consumer by name. This method will also dispose the input channels * associated with that InputConsumer. * Destroy an input consumer by name and display id. * This method will also dispose the input channels associated with that InputConsumer. */ boolean destroyInputConsumer(String name); boolean destroyInputConsumer(String name, int displayId); /** * Return the touch region for the current IME window, or an empty region if there is none. Loading packages/SystemUI/shared/src/com/android/systemui/shared/system/InputConsumerController.java +6 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.shared.system; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.WindowManager.INPUT_CONSUMER_PIP; import static android.view.WindowManager.INPUT_CONSUMER_RECENTS_ANIMATION; Loading Loading @@ -146,8 +147,9 @@ public class InputConsumerController { if (mInputEventReceiver == null) { final InputChannel inputChannel = new InputChannel(); try { mWindowManager.destroyInputConsumer(mName); mWindowManager.createInputConsumer(mToken, mName, inputChannel); // TODO(b/113087003): Support Picture-in-picture in multi-display. mWindowManager.destroyInputConsumer(mName, DEFAULT_DISPLAY); mWindowManager.createInputConsumer(mToken, mName, DEFAULT_DISPLAY, inputChannel); } catch (RemoteException e) { Log.e(TAG, "Failed to create input consumer", e); } Loading @@ -164,7 +166,8 @@ public class InputConsumerController { public void unregisterInputConsumer() { if (mInputEventReceiver != null) { try { mWindowManager.destroyInputConsumer(mName); // TODO(b/113087003): Support Picture-in-picture in multi-display. mWindowManager.destroyInputConsumer(mName, DEFAULT_DISPLAY); } catch (RemoteException e) { Log.e(TAG, "Failed to destroy input consumer", e); } Loading services/core/java/com/android/server/input/InputManagerService.java +25 −27 Original line number Diff line number Diff line Loading @@ -20,25 +20,6 @@ import static android.hardware.display.DisplayViewport.VIEWPORT_INTERNAL; import static android.hardware.display.DisplayViewport.VIEWPORT_EXTERNAL; import android.annotation.NonNull; import android.os.LocaleList; import android.os.ShellCallback; import android.util.Log; import android.view.Display; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; import com.android.internal.notification.SystemNotificationChannels; import com.android.internal.os.SomeArgs; import com.android.internal.R; import com.android.internal.util.DumpUtils; import com.android.internal.util.Preconditions; import com.android.internal.util.XmlUtils; import com.android.server.DisplayThread; import com.android.server.LocalServices; import com.android.server.Watchdog; import com.android.server.policy.WindowManagerPolicy; import org.xmlpull.v1.XmlPullParser; import android.Manifest; import android.app.IInputForwarder; import android.app.Notification; import android.app.NotificationManager; Loading @@ -53,8 +34,8 @@ import android.content.IntentFilter; import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; import android.content.res.Resources; import android.content.res.Resources.NotFoundException; import android.content.res.TypedArray; Loading @@ -64,10 +45,10 @@ import android.hardware.display.DisplayManager; import android.hardware.display.DisplayViewport; import android.hardware.input.IInputDevicesChangedListener; import android.hardware.input.IInputManager; import android.hardware.input.ITabletModeChangedListener; import android.hardware.input.InputDeviceIdentifier; import android.hardware.input.InputManager; import android.hardware.input.InputManagerInternal; import android.hardware.input.ITabletModeChangedListener; import android.hardware.input.KeyboardLayout; import android.hardware.input.TouchCalibration; import android.os.Binder; Loading @@ -75,6 +56,7 @@ import android.os.Bundle; import android.os.Environment; import android.os.Handler; import android.os.IBinder; import android.os.LocaleList; import android.os.Looper; import android.os.Message; import android.os.MessageQueue; Loading @@ -84,6 +66,7 @@ import android.os.UserHandle; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.text.TextUtils; import android.util.Log; import android.util.Slog; import android.util.SparseArray; import android.util.Xml; Loading @@ -100,6 +83,23 @@ import android.view.Surface; import android.view.ViewConfiguration; import android.widget.Toast; import com.android.internal.R; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; import com.android.internal.notification.SystemNotificationChannels; import com.android.internal.os.SomeArgs; import com.android.internal.util.DumpUtils; import com.android.internal.util.Preconditions; import com.android.internal.util.XmlUtils; import com.android.server.DisplayThread; import com.android.server.LocalServices; import com.android.server.Watchdog; import com.android.server.policy.WindowManagerPolicy; import libcore.io.IoUtils; import libcore.io.Streams; import org.xmlpull.v1.XmlPullParser; import java.io.File; import java.io.FileDescriptor; import java.io.FileNotFoundException; Loading @@ -116,9 +116,6 @@ import java.util.List; import java.util.Locale; import java.util.Objects; import libcore.io.IoUtils; import libcore.io.Streams; /* * Wraps the C++ InputManager and provides its callbacks. */ Loading Loading @@ -215,7 +212,8 @@ public class InputManagerService extends IInputManager.Stub int injectorPid, int injectorUid, int syncMode, int timeoutMillis, int policyFlags); private static native void nativeToggleCapsLock(long ptr, int deviceId); private static native void nativeSetInputWindows(long ptr, InputWindowHandle[] windowHandles); private static native void nativeSetInputWindows(long ptr, InputWindowHandle[] windowHandles, int displayId); private static native void nativeSetInputDispatchMode(long ptr, boolean enabled, boolean frozen); private static native void nativeSetSystemUiVisibility(long ptr, int visibility); private static native void nativeSetFocusedApplication(long ptr, Loading Loading @@ -1465,7 +1463,7 @@ public class InputManagerService extends IInputManager.Stub } public void setInputWindows(InputWindowHandle[] windowHandles, InputWindowHandle focusedWindowHandle) { InputWindowHandle focusedWindowHandle, int displayId) { final IWindow newFocusedWindow = focusedWindowHandle != null ? focusedWindowHandle.clientWindow : null; if (mFocusedWindow != newFocusedWindow) { Loading @@ -1474,7 +1472,7 @@ public class InputManagerService extends IInputManager.Stub setPointerCapture(false); } } nativeSetInputWindows(mPtr, windowHandles); nativeSetInputWindows(mPtr, windowHandles, displayId); } public void setFocusedApplication(InputApplicationHandle application) { Loading services/core/java/com/android/server/input/InputWindowHandle.java +2 −2 Original line number Diff line number Diff line Loading @@ -17,8 +17,8 @@ package com.android.server.input; import android.graphics.Region; import android.view.InputChannel; import android.view.IWindow; import android.view.InputChannel; /** * Functions as a handle for a window that can receive input. Loading Loading @@ -106,7 +106,7 @@ public final class InputWindowHandle { @Override public String toString() { return new StringBuilder(name) return new StringBuilder(name != null ? name : "") .append(", layer=").append(layer) .append(", frame=[").append(frameLeft).append(",").append(frameTop).append(",") .append(frameRight).append(",").append(frameBottom).append("]") Loading Loading
config/hiddenapi-vendor-list.txt +2 −2 Original line number Diff line number Diff line Loading @@ -152,8 +152,8 @@ Landroid/view/IRemoteAnimationFinishedCallback;->onAnimationFinished()V Landroid/view/IRemoteAnimationRunner$Stub;-><init>()V Landroid/view/IRemoteAnimationRunner;->onAnimationCancelled()V Landroid/view/IRemoteAnimationRunner;->onAnimationStart([Landroid/view/RemoteAnimationTarget;Landroid/view/IRemoteAnimationFinishedCallback;)V Landroid/view/IWindowManager;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;)V Landroid/view/IWindowManager;->destroyInputConsumer(Ljava/lang/String;)Z Landroid/view/IWindowManager;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;ILandroid/view/InputChannel;)V Landroid/view/IWindowManager;->destroyInputConsumer(Ljava/lang/String;I)Z Landroid/view/IWindowManager;->endProlongedAnimations()V Landroid/view/IWindowManager;->getStableInsets(ILandroid/graphics/Rect;)V Landroid/view/IWindowManager;->overridePendingAppTransitionMultiThumbFuture(Landroid/view/IAppTransitionAnimationSpecsFuture;Landroid/os/IRemoteCallback;Z)V Loading
core/java/android/view/IWindowManager.aidl +6 −5 Original line number Diff line number Diff line Loading @@ -391,15 +391,16 @@ interface IWindowManager void registerShortcutKey(in long shortcutCode, IShortcutService keySubscriber); /** * Create an input consumer by name. * Create an input consumer by name and display id. */ void createInputConsumer(IBinder token, String name, out InputChannel inputChannel); void createInputConsumer(IBinder token, String name, int displayId, out InputChannel inputChannel); /** * Destroy an input consumer by name. This method will also dispose the input channels * associated with that InputConsumer. * Destroy an input consumer by name and display id. * This method will also dispose the input channels associated with that InputConsumer. */ boolean destroyInputConsumer(String name); boolean destroyInputConsumer(String name, int displayId); /** * Return the touch region for the current IME window, or an empty region if there is none. Loading
packages/SystemUI/shared/src/com/android/systemui/shared/system/InputConsumerController.java +6 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.shared.system; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.WindowManager.INPUT_CONSUMER_PIP; import static android.view.WindowManager.INPUT_CONSUMER_RECENTS_ANIMATION; Loading Loading @@ -146,8 +147,9 @@ public class InputConsumerController { if (mInputEventReceiver == null) { final InputChannel inputChannel = new InputChannel(); try { mWindowManager.destroyInputConsumer(mName); mWindowManager.createInputConsumer(mToken, mName, inputChannel); // TODO(b/113087003): Support Picture-in-picture in multi-display. mWindowManager.destroyInputConsumer(mName, DEFAULT_DISPLAY); mWindowManager.createInputConsumer(mToken, mName, DEFAULT_DISPLAY, inputChannel); } catch (RemoteException e) { Log.e(TAG, "Failed to create input consumer", e); } Loading @@ -164,7 +166,8 @@ public class InputConsumerController { public void unregisterInputConsumer() { if (mInputEventReceiver != null) { try { mWindowManager.destroyInputConsumer(mName); // TODO(b/113087003): Support Picture-in-picture in multi-display. mWindowManager.destroyInputConsumer(mName, DEFAULT_DISPLAY); } catch (RemoteException e) { Log.e(TAG, "Failed to destroy input consumer", e); } Loading
services/core/java/com/android/server/input/InputManagerService.java +25 −27 Original line number Diff line number Diff line Loading @@ -20,25 +20,6 @@ import static android.hardware.display.DisplayViewport.VIEWPORT_INTERNAL; import static android.hardware.display.DisplayViewport.VIEWPORT_EXTERNAL; import android.annotation.NonNull; import android.os.LocaleList; import android.os.ShellCallback; import android.util.Log; import android.view.Display; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; import com.android.internal.notification.SystemNotificationChannels; import com.android.internal.os.SomeArgs; import com.android.internal.R; import com.android.internal.util.DumpUtils; import com.android.internal.util.Preconditions; import com.android.internal.util.XmlUtils; import com.android.server.DisplayThread; import com.android.server.LocalServices; import com.android.server.Watchdog; import com.android.server.policy.WindowManagerPolicy; import org.xmlpull.v1.XmlPullParser; import android.Manifest; import android.app.IInputForwarder; import android.app.Notification; import android.app.NotificationManager; Loading @@ -53,8 +34,8 @@ import android.content.IntentFilter; import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; import android.content.res.Resources; import android.content.res.Resources.NotFoundException; import android.content.res.TypedArray; Loading @@ -64,10 +45,10 @@ import android.hardware.display.DisplayManager; import android.hardware.display.DisplayViewport; import android.hardware.input.IInputDevicesChangedListener; import android.hardware.input.IInputManager; import android.hardware.input.ITabletModeChangedListener; import android.hardware.input.InputDeviceIdentifier; import android.hardware.input.InputManager; import android.hardware.input.InputManagerInternal; import android.hardware.input.ITabletModeChangedListener; import android.hardware.input.KeyboardLayout; import android.hardware.input.TouchCalibration; import android.os.Binder; Loading @@ -75,6 +56,7 @@ import android.os.Bundle; import android.os.Environment; import android.os.Handler; import android.os.IBinder; import android.os.LocaleList; import android.os.Looper; import android.os.Message; import android.os.MessageQueue; Loading @@ -84,6 +66,7 @@ import android.os.UserHandle; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.text.TextUtils; import android.util.Log; import android.util.Slog; import android.util.SparseArray; import android.util.Xml; Loading @@ -100,6 +83,23 @@ import android.view.Surface; import android.view.ViewConfiguration; import android.widget.Toast; import com.android.internal.R; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; import com.android.internal.notification.SystemNotificationChannels; import com.android.internal.os.SomeArgs; import com.android.internal.util.DumpUtils; import com.android.internal.util.Preconditions; import com.android.internal.util.XmlUtils; import com.android.server.DisplayThread; import com.android.server.LocalServices; import com.android.server.Watchdog; import com.android.server.policy.WindowManagerPolicy; import libcore.io.IoUtils; import libcore.io.Streams; import org.xmlpull.v1.XmlPullParser; import java.io.File; import java.io.FileDescriptor; import java.io.FileNotFoundException; Loading @@ -116,9 +116,6 @@ import java.util.List; import java.util.Locale; import java.util.Objects; import libcore.io.IoUtils; import libcore.io.Streams; /* * Wraps the C++ InputManager and provides its callbacks. */ Loading Loading @@ -215,7 +212,8 @@ public class InputManagerService extends IInputManager.Stub int injectorPid, int injectorUid, int syncMode, int timeoutMillis, int policyFlags); private static native void nativeToggleCapsLock(long ptr, int deviceId); private static native void nativeSetInputWindows(long ptr, InputWindowHandle[] windowHandles); private static native void nativeSetInputWindows(long ptr, InputWindowHandle[] windowHandles, int displayId); private static native void nativeSetInputDispatchMode(long ptr, boolean enabled, boolean frozen); private static native void nativeSetSystemUiVisibility(long ptr, int visibility); private static native void nativeSetFocusedApplication(long ptr, Loading Loading @@ -1465,7 +1463,7 @@ public class InputManagerService extends IInputManager.Stub } public void setInputWindows(InputWindowHandle[] windowHandles, InputWindowHandle focusedWindowHandle) { InputWindowHandle focusedWindowHandle, int displayId) { final IWindow newFocusedWindow = focusedWindowHandle != null ? focusedWindowHandle.clientWindow : null; if (mFocusedWindow != newFocusedWindow) { Loading @@ -1474,7 +1472,7 @@ public class InputManagerService extends IInputManager.Stub setPointerCapture(false); } } nativeSetInputWindows(mPtr, windowHandles); nativeSetInputWindows(mPtr, windowHandles, displayId); } public void setFocusedApplication(InputApplicationHandle application) { Loading
services/core/java/com/android/server/input/InputWindowHandle.java +2 −2 Original line number Diff line number Diff line Loading @@ -17,8 +17,8 @@ package com.android.server.input; import android.graphics.Region; import android.view.InputChannel; import android.view.IWindow; import android.view.InputChannel; /** * Functions as a handle for a window that can receive input. Loading Loading @@ -106,7 +106,7 @@ public final class InputWindowHandle { @Override public String toString() { return new StringBuilder(name) return new StringBuilder(name != null ? name : "") .append(", layer=").append(layer) .append(", frame=[").append(frameLeft).append(",").append(frameTop).append(",") .append(frameRight).append(",").append(frameBottom).append("]") Loading