summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Android Culprit Assistant <boq-android-culprit-assistant@system.gserviceaccount.com> 2025-03-24 07:12:45 -0700
committer Android Build Coastguard Worker <android-build-coastguard-worker@google.com> 2025-04-16 09:07:48 -0700
commit99a4bd6cfa71439a0e2e385c9d1cf85955f6388b (patch)
tree9b6a3d00a7c706cb4efb4a953b58a71b9acf2bdb
parent2e5169f5b17ed6002ca58f705ea0b7ec8014bf97 (diff)
Revert "Update SCVH InputTransferToken when available"
This revert was created by Android Culprit Assistant. The culprit was identified in the following culprit search session (http://go/aca-get/78a373af-3d5f-4015-a25e-bcb24843f6a9). Bug: 405254118 Signed-off-by: boq-android-culprit-assistant@system.gserviceaccount.com (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:c77468cfe08273d1d568e71e17b5fc4e20b8f6ff) Merged-In: Id09afebdfdb16d58c17da55c070a023e9aca9a1a Change-Id: Id09afebdfdb16d58c17da55c070a023e9aca9a1a
-rw-r--r--core/java/android/view/ISurfaceControlViewHost.aidl2
-rw-r--r--core/java/android/view/IWindowSession.aidl5
-rw-r--r--core/java/android/view/SurfaceControlViewHost.java14
-rw-r--r--core/java/android/view/SurfaceView.java34
-rw-r--r--core/java/android/view/ViewRootImpl.java5
-rw-r--r--core/java/android/view/WindowlessWindowManager.java48
-rw-r--r--core/java/android/window/flags/window_surfaces.aconfig12
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterbox/LetterboxInputDetector.kt1
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeInputListener.java4
-rw-r--r--libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/letterbox/LetterboxInputControllerTest.kt1
-rw-r--r--services/core/java/com/android/server/wm/EmbeddedWindowController.java32
-rw-r--r--services/core/java/com/android/server/wm/Session.java22
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java13
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/WindowManagerServiceTests.java9
14 files changed, 45 insertions, 157 deletions
diff --git a/core/java/android/view/ISurfaceControlViewHost.aidl b/core/java/android/view/ISurfaceControlViewHost.aidl
index 83aceb3f9a7d..fd4b329570d9 100644
--- a/core/java/android/view/ISurfaceControlViewHost.aidl
+++ b/core/java/android/view/ISurfaceControlViewHost.aidl
@@ -21,7 +21,6 @@ import android.graphics.Rect;
import android.view.InsetsState;
import android.view.ISurfaceControlViewHostParent;
import android.window.ISurfaceSyncGroup;
-import android.window.InputTransferToken;
/**
* API from content embedder back to embedded content in SurfaceControlViewHost
@@ -33,7 +32,6 @@ interface ISurfaceControlViewHost {
* APIs that are blocking
*/
oneway void onConfigurationChanged(in Configuration newConfig);
- oneway void onDispatchAttachedToWindow(in InputTransferToken token);
oneway void onDispatchDetachedFromWindow();
oneway void onInsetsChanged(in InsetsState state, in Rect insetFrame);
ISurfaceSyncGroup getSurfaceSyncGroup();
diff --git a/core/java/android/view/IWindowSession.aidl b/core/java/android/view/IWindowSession.aidl
index a029303611c0..ab656ebc6492 100644
--- a/core/java/android/view/IWindowSession.aidl
+++ b/core/java/android/view/IWindowSession.aidl
@@ -313,9 +313,8 @@ interface IWindowSession {
/**
* Update the flags on an input channel associated with a particular surface.
*/
- oneway void updateInputChannel(in IBinder channelToken,
- in @nullable InputTransferToken hostInputTransferToken,
- int displayId, in SurfaceControl surface, int flags, int privateFlags, int inputFeatures,
+ oneway void updateInputChannel(in IBinder channelToken, int displayId,
+ in SurfaceControl surface, int flags, int privateFlags, int inputFeatures,
in Region region);
/**
diff --git a/core/java/android/view/SurfaceControlViewHost.java b/core/java/android/view/SurfaceControlViewHost.java
index ecbf1f65f810..04ec4d0d382d 100644
--- a/core/java/android/view/SurfaceControlViewHost.java
+++ b/core/java/android/view/SurfaceControlViewHost.java
@@ -79,20 +79,6 @@ public class SurfaceControlViewHost {
}
@Override
- public void onDispatchAttachedToWindow(InputTransferToken hostInputTransferToken) {
- boolean hostInputTransferTokenChanged =
- !Objects.equals(hostInputTransferToken, mWm.mHostInputTransferToken);
- if (!hostInputTransferTokenChanged) {
- return;
- }
-
- mWm.setHostInputTransferToken(hostInputTransferToken);
- if (mViewRoot != null && mViewRoot.mView != null) {
- mWm.updateInputChannel(getWindowToken().asBinder());
- }
- }
-
- @Override
public void onDispatchDetachedFromWindow() {
if (mViewRoot == null) {
return;
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index 94e9aa709369..29008d31990d 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -16,7 +16,6 @@
package android.view;
-
import static android.view.flags.Flags.FLAG_DEPRECATE_SURFACE_VIEW_Z_ORDER_APIS;
import static android.view.flags.Flags.FLAG_SURFACE_VIEW_GET_SURFACE_PACKAGE;
import static android.view.flags.Flags.FLAG_SURFACE_VIEW_SET_COMPOSITION_ORDER;
@@ -24,8 +23,6 @@ import static android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
import static android.view.WindowManagerPolicyConstants.APPLICATION_MEDIA_OVERLAY_SUBLAYER;
import static android.view.WindowManagerPolicyConstants.APPLICATION_MEDIA_SUBLAYER;
import static android.view.WindowManagerPolicyConstants.APPLICATION_PANEL_SUBLAYER;
-import static android.view.flags.Flags.FLAG_SURFACE_VIEW_GET_SURFACE_PACKAGE;
-import static android.view.flags.Flags.FLAG_SURFACE_VIEW_SET_COMPOSITION_ORDER;
import android.annotation.FlaggedApi;
import android.annotation.FloatRange;
@@ -62,7 +59,6 @@ import android.util.Log;
import android.view.SurfaceControl.Transaction;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.IAccessibilityEmbeddedConnection;
-import android.window.InputTransferToken;
import android.window.SurfaceSyncGroup;
import com.android.graphics.hwui.flags.Flags;
@@ -351,7 +347,7 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall
sv.mSurfacePackage.getRemoteInterface().attachParentInterface(this);
mSurfaceView = sv;
} catch (RemoteException e) {
- Log.d(TAG, "Failed to attach parent interface to SCVH. Likely SCVH is already "
+ Log.d(TAG, "Failed to attach parent interface to SCVH. Likely SCVH is alraedy "
+ "dead.");
}
}
@@ -496,37 +492,10 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall
mTag = "SV[" + System.identityHashCode(this) + windowName + "]";
}
- private void dispatchScvhAttachedToHost() {
- final ViewRootImpl viewRoot = getViewRootImpl();
- if (viewRoot == null) {
- return;
- }
-
- IBinder inputToken = viewRoot.getInputToken();
- if (inputToken == null) {
- // We don't have an input channel so we can't transfer focus or active
- // touch gestures to embedded.
- return;
- }
-
- try {
- mSurfacePackage
- .getRemoteInterface()
- .onDispatchAttachedToWindow(new InputTransferToken(inputToken));
- } catch (RemoteException e) {
- Log.d(TAG,
- "Failed to onDispatchAttachedToWindow to SCVH. Likely SCVH is already "
- + "dead.");
- }
- }
-
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
setTag();
- if (mSurfacePackage != null) {
- dispatchScvhAttachedToHost();
- }
getViewRootImpl().addSurfaceChangedCallback(this);
mWindowStopped = false;
mViewVisibility = getVisibility() == VISIBLE;
@@ -2220,7 +2189,6 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall
applyTransactionOnVriDraw(transaction);
}
mSurfacePackage = p;
- dispatchScvhAttachedToHost();
mSurfaceControlViewHostParent.attach(this);
if (isFocused()) {
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index b1676dde3b70..2d62ed8c3ffc 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -37,8 +37,8 @@ import static android.view.Surface.FRAME_RATE_CATEGORY_HIGH_HINT;
import static android.view.Surface.FRAME_RATE_CATEGORY_LOW;
import static android.view.Surface.FRAME_RATE_CATEGORY_NORMAL;
import static android.view.Surface.FRAME_RATE_CATEGORY_NO_PREFERENCE;
-import static android.view.Surface.FRAME_RATE_COMPATIBILITY_AT_LEAST;
import static android.view.Surface.FRAME_RATE_COMPATIBILITY_FIXED_SOURCE;
+import static android.view.Surface.FRAME_RATE_COMPATIBILITY_AT_LEAST;
import static android.view.View.FRAME_RATE_CATEGORY_REASON_BOOST;
import static android.view.View.FRAME_RATE_CATEGORY_REASON_CONFLICTED;
import static android.view.View.FRAME_RATE_CATEGORY_REASON_INTERMITTENT;
@@ -2704,8 +2704,7 @@ public final class ViewRootImpl implements ViewParent,
mStopped = stopped;
final ThreadedRenderer renderer = mAttachInfo.mThreadedRenderer;
if (renderer != null) {
- if (DEBUG_DRAW)
- Log.d(mTag, "WindowStopped on " + getTitle() + " set to " + mStopped);
+ if (DEBUG_DRAW) Log.d(mTag, "WindowStopped on " + getTitle() + " set to " + mStopped);
renderer.setStopped(mStopped);
}
if (!mStopped) {
diff --git a/core/java/android/view/WindowlessWindowManager.java b/core/java/android/view/WindowlessWindowManager.java
index 5af4abd1f608..a5ab917c267d 100644
--- a/core/java/android/view/WindowlessWindowManager.java
+++ b/core/java/android/view/WindowlessWindowManager.java
@@ -89,7 +89,7 @@ public class WindowlessWindowManager implements IWindowSession {
protected final SurfaceControl mRootSurface;
private final Configuration mConfiguration;
private final IWindowSession mRealWm;
- InputTransferToken mHostInputTransferToken;
+ final InputTransferToken mHostInputTransferToken;
private final InputTransferToken mInputTransferToken = new InputTransferToken();
private InsetsState mInsetsState;
private final ClientWindowFrames mTmpFrames = new ClientWindowFrames();
@@ -128,11 +128,9 @@ public class WindowlessWindowManager implements IWindowSession {
return null;
}
- void setHostInputTransferToken(InputTransferToken token) {
- mHostInputTransferToken = token;
- }
-
- /** Utility API. */
+ /**
+ * Utility API.
+ */
void setCompletionCallback(IBinder window, ResizeCompleteCallback callback) {
if (mResizeCompletionForWindow.get(window) != null) {
Log.w(TAG, "Unsupported overlapping resizes");
@@ -153,25 +151,11 @@ public class WindowlessWindowManager implements IWindowSession {
return;
}
state.mInputRegion = region != null ? new Region(region) : null;
- updateInputChannel(window);
- }
- }
-
- protected void updateInputChannel(IBinder window) {
- State state;
- synchronized (this) {
- // Do everything while locked so that we synchronize with relayout. This should be a
- // very infrequent operation.
- state = mStateForWindow.get(window);
- if (state == null) {
- return;
- }
if (state.mInputChannelToken != null) {
try {
- mRealWm.updateInputChannel(state.mInputChannelToken, mHostInputTransferToken,
- state.mDisplayId, state.mSurfaceControl, state.mParams.flags,
- state.mParams.privateFlags, state.mParams.inputFeatures,
- state.mInputRegion);
+ mRealWm.updateInputChannel(state.mInputChannelToken, state.mDisplayId,
+ state.mSurfaceControl, state.mParams.flags, state.mParams.privateFlags,
+ state.mParams.inputFeatures, state.mInputRegion);
} catch (RemoteException e) {
Log.e(TAG, "Failed to update surface input channel: ", e);
}
@@ -190,7 +174,9 @@ public class WindowlessWindowManager implements IWindowSession {
}
}
- /** IWindowSession implementation. */
+ /**
+ * IWindowSession implementation.
+ */
@Override
public int addToDisplay(IWindow window, WindowManager.LayoutParams attrs,
int viewVisibility, int displayId, @InsetsType int requestedVisibleTypes,
@@ -451,15 +437,14 @@ public class WindowlessWindowManager implements IWindowSession {
if ((attrChanges & inputChangeMask) != 0 && state.mInputChannelToken != null) {
try {
if (mRealWm instanceof IWindowSession.Stub) {
- mRealWm.updateInputChannel(state.mInputChannelToken, mHostInputTransferToken,
- state.mDisplayId,
+ mRealWm.updateInputChannel(state.mInputChannelToken, state.mDisplayId,
new SurfaceControl(sc, "WindowlessWindowManager.relayout"),
attrs.flags, attrs.privateFlags, attrs.inputFeatures,
state.mInputRegion);
} else {
- mRealWm.updateInputChannel(state.mInputChannelToken, mHostInputTransferToken,
- state.mDisplayId, sc, attrs.flags, attrs.privateFlags,
- attrs.inputFeatures, state.mInputRegion);
+ mRealWm.updateInputChannel(state.mInputChannelToken, state.mDisplayId, sc,
+ attrs.flags, attrs.privateFlags, attrs.inputFeatures,
+ state.mInputRegion);
}
} catch (RemoteException e) {
Log.e(TAG, "Failed to update surface input channel: ", e);
@@ -639,9 +624,8 @@ public class WindowlessWindowManager implements IWindowSession {
}
@Override
- public void updateInputChannel(IBinder channelToken, InputTransferToken hostInputToken,
- int displayId, SurfaceControl surface, int flags, int privateFlags, int inputFeatures,
- Region region) {
+ public void updateInputChannel(IBinder channelToken, int displayId, SurfaceControl surface,
+ int flags, int privateFlags, int inputFeatures, Region region) {
}
@Override
diff --git a/core/java/android/window/flags/window_surfaces.aconfig b/core/java/android/window/flags/window_surfaces.aconfig
index 7550a6360ee9..d2901a4a5d74 100644
--- a/core/java/android/window/flags/window_surfaces.aconfig
+++ b/core/java/android/window/flags/window_surfaces.aconfig
@@ -126,15 +126,3 @@ flag {
purpose: PURPOSE_BUGFIX
}
}
-
-flag {
- name: "update_host_input_transfer_token"
- namespace: "window_surfaces"
- description: "Update host InpuTransferToken on view attach"
- is_fixed_read_only: true
- is_exported: true
- bug: "392965431"
- metadata {
- purpose: PURPOSE_BUGFIX
- }
-} \ No newline at end of file
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterbox/LetterboxInputDetector.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterbox/LetterboxInputDetector.kt
index bcbe123eb5e6..812cc0161aae 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterbox/LetterboxInputDetector.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterbox/LetterboxInputDetector.kt
@@ -167,7 +167,6 @@ class LetterboxInputDetector(
windowSession.updateInputChannel(
inputChannel.token,
- null /* hostInputTransferToken */,
displayId,
inputSurface,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeInputListener.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeInputListener.java
index 97a47c602bcd..c2b8c55fb0ef 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeInputListener.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeInputListener.java
@@ -23,12 +23,12 @@ import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERL
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
import static android.view.WindowManager.LayoutParams.TYPE_INPUT_CONSUMER;
-import static com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.ResizeTrigger;
import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE;
import static com.android.wm.shell.windowdecor.DragPositioningCallback.CTRL_TYPE_BOTTOM;
import static com.android.wm.shell.windowdecor.DragPositioningCallback.CTRL_TYPE_LEFT;
import static com.android.wm.shell.windowdecor.DragPositioningCallback.CTRL_TYPE_RIGHT;
import static com.android.wm.shell.windowdecor.DragPositioningCallback.CTRL_TYPE_TOP;
+import static com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.ResizeTrigger;
import static com.android.wm.shell.windowdecor.DragResizeWindowGeometry.isEdgeResizePermitted;
import static com.android.wm.shell.windowdecor.DragResizeWindowGeometry.isEventFromTouchscreen;
@@ -342,7 +342,6 @@ class DragResizeInputListener implements AutoCloseable {
try {
mWindowSession.updateInputChannel(
mInputChannel.getToken(),
- null /* hostInputToken */,
mDisplayId,
mDecorationSurface,
FLAG_NOT_FOCUSABLE,
@@ -384,7 +383,6 @@ class DragResizeInputListener implements AutoCloseable {
try {
mWindowSession.updateInputChannel(
mSinkInputChannel.getToken(),
- null /* hostInputToken */,
mDisplayId,
mInputSinkSurface,
FLAG_NOT_FOCUSABLE,
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/letterbox/LetterboxInputControllerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/letterbox/LetterboxInputControllerTest.kt
index 9c45cd22db19..43b934cfbe27 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/letterbox/LetterboxInputControllerTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/letterbox/LetterboxInputControllerTest.kt
@@ -192,7 +192,6 @@ class LetterboxInputControllerTest : ShellTestCase() {
fun checkUpdateSessionRegion(times: Int = 1, displayId: Int = DISPLAY_ID, region: Region) {
verify(windowSession, times(times)).updateInputChannel(
any(),
- anyOrNull(),
eq(displayId),
any(),
any(),
diff --git a/services/core/java/com/android/server/wm/EmbeddedWindowController.java b/services/core/java/com/android/server/wm/EmbeddedWindowController.java
index 1bf65d1e3536..7104c7e22a4e 100644
--- a/services/core/java/com/android/server/wm/EmbeddedWindowController.java
+++ b/services/core/java/com/android/server/wm/EmbeddedWindowController.java
@@ -240,10 +240,9 @@ class EmbeddedWindowController {
static class EmbeddedWindow implements InputTarget {
final IBinder mClient;
- @Nullable WindowState mHostWindowState;
+ @Nullable final WindowState mHostWindowState;
@Nullable final ActivityRecord mHostActivityRecord;
- String mName;
- final String mInputHandleName;
+ final String mName;
final int mOwnerUid;
final int mOwnerPid;
final WindowManagerService mWmService;
@@ -281,12 +280,13 @@ class EmbeddedWindowController {
* @param displayId used for focus requests
*/
EmbeddedWindow(Session session, WindowManagerService service, IBinder clientToken,
- @Nullable WindowState hostWindowState, int ownerUid, int ownerPid,
- int windowType, int displayId, InputTransferToken inputTransferToken,
- String inputHandleName, boolean isFocusable) {
+ WindowState hostWindowState, int ownerUid, int ownerPid, int windowType,
+ int displayId, InputTransferToken inputTransferToken, String inputHandleName,
+ boolean isFocusable) {
mSession = session;
mWmService = service;
mClient = clientToken;
+ mHostWindowState = hostWindowState;
mHostActivityRecord = (mHostWindowState != null) ? mHostWindowState.mActivityRecord
: null;
mOwnerUid = ownerUid;
@@ -294,9 +294,11 @@ class EmbeddedWindowController {
mWindowType = windowType;
mDisplayId = displayId;
mInputTransferToken = inputTransferToken;
+ final String hostWindowName =
+ (mHostWindowState != null) ? "-" + mHostWindowState.getWindowTag().toString()
+ : "";
mIsFocusable = isFocusable;
- mInputHandleName = inputHandleName;
- updateHost(hostWindowState);
+ mName = "Embedded{" + inputHandleName + hostWindowName + "}";
}
@Override
@@ -485,19 +487,5 @@ class EmbeddedWindowController {
proto.end(token2);
proto.end(token);
}
-
- public void updateHost(WindowState hostWindowState) {
- if (mHostWindowState == hostWindowState && mName != null) {
- return;
- }
-
- ProtoLog.d(WM_DEBUG_EMBEDDED_WINDOWS, "[%s] Updated host window from %s to %s",
- this, mHostWindowState, hostWindowState);
- mHostWindowState = hostWindowState;
- final String hostWindowName =
- (mHostWindowState != null) ? "-" + mHostWindowState.getWindowTag().toString()
- : "";
- mName = "Embedded{" + mInputHandleName + hostWindowName + "}";
- }
}
}
diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java
index c5b47f9f4256..390132445ba8 100644
--- a/services/core/java/com/android/server/wm/Session.java
+++ b/services/core/java/com/android/server/wm/Session.java
@@ -916,16 +916,10 @@ class Session extends IWindowSession.Stub implements IBinder.DeathRecipient {
int privateFlags, int inputFeatures, int type, IBinder windowToken,
InputTransferToken inputTransferToken, String inputHandleName,
InputChannel outInputChannel) {
- if (!Flags.updateHostInputTransferToken()) {
- // This is not a valid security check, callers can pass in a bogus token. If the
- // token is not known to wm, then input APIs is request focus or transferTouchGesture
- // will fail. Removing this check allows SCVH to be created before associating with a
- // host window.
- if (hostInputTransferToken == null && !mCanAddInternalSystemWindow) {
- // Callers without INTERNAL_SYSTEM_WINDOW permission cannot grant input channel to
- // embedded windows without providing a host window input token
- throw new SecurityException("Requires INTERNAL_SYSTEM_WINDOW permission");
- }
+ if (hostInputTransferToken == null && !mCanAddInternalSystemWindow) {
+ // Callers without INTERNAL_SYSTEM_WINDOW permission cannot grant input channel to
+ // embedded windows without providing a host window input token
+ throw new SecurityException("Requires INTERNAL_SYSTEM_WINDOW permission");
}
final long identity = Binder.clearCallingIdentity();
@@ -940,14 +934,12 @@ class Session extends IWindowSession.Stub implements IBinder.DeathRecipient {
}
@Override
- public void updateInputChannel(IBinder channelToken,
- @Nullable InputTransferToken hostInputTransferToken,
- int displayId, SurfaceControl surface,
+ public void updateInputChannel(IBinder channelToken, int displayId, SurfaceControl surface,
int flags, int privateFlags, int inputFeatures, Region region) {
final long identity = Binder.clearCallingIdentity();
try {
- mService.updateInputChannel(channelToken, hostInputTransferToken, displayId, surface,
- flags, mCanAddInternalSystemWindow ? privateFlags : 0, inputFeatures, region);
+ mService.updateInputChannel(channelToken, displayId, surface, flags,
+ mCanAddInternalSystemWindow ? privateFlags : 0, inputFeatures, region);
} finally {
Binder.restoreCallingIdentity(identity);
}
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index aa5eb33d8069..d25987028199 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -9418,12 +9418,10 @@ public class WindowManagerService extends IWindowManager.Stub
/**
* Updates the flags on an existing surface's input channel. This assumes the surface provided
- * is the one associated with the provided input-channel. If this isn't the case, behavior is
- * undefined.
+ * is the one associated with the provided input-channel. If this isn't the case, behavior
+ * is undefined.
*/
- void updateInputChannel(IBinder channelToken,
- @Nullable InputTransferToken hostInputTransferToken, int displayId,
- SurfaceControl surface,
+ void updateInputChannel(IBinder channelToken, int displayId, SurfaceControl surface,
int flags, int privateFlags, int inputFeatures, Region region) {
final InputApplicationHandle applicationHandle;
final String name;
@@ -9437,11 +9435,6 @@ public class WindowManagerService extends IWindowManager.Stub
name = win.toString();
applicationHandle = win.getApplicationHandle();
win.setIsFocusable((flags & FLAG_NOT_FOCUSABLE) == 0);
- if (Flags.updateHostInputTransferToken()) {
- WindowState hostWindowState = hostInputTransferToken != null
- ? mInputToWindowMap.get(hostInputTransferToken.getToken()) : null;
- win.updateHost(hostWindowState);
- }
}
updateInputChannel(channelToken, win.mOwnerUid, win.mOwnerPid, displayId, surface, name,
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowManagerServiceTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowManagerServiceTests.java
index 7836ca7d1b4d..9645e184d99c 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowManagerServiceTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowManagerServiceTests.java
@@ -1147,8 +1147,7 @@ public class WindowManagerServiceTests extends WindowTestsBase {
argThat(h -> (h.inputConfig & InputConfig.SPY) == 0));
assertThrows(IllegalArgumentException.class, () ->
- mWm.updateInputChannel(inputChannel.getToken(), null /* hostInputToken */,
- DEFAULT_DISPLAY, surfaceControl,
+ mWm.updateInputChannel(inputChannel.getToken(), DEFAULT_DISPLAY, surfaceControl,
FLAG_NOT_FOCUSABLE, PRIVATE_FLAG_TRUSTED_OVERLAY, INPUT_FEATURE_SPY,
null /* region */));
}
@@ -1171,8 +1170,7 @@ public class WindowManagerServiceTests extends WindowTestsBase {
eq(surfaceControl),
argThat(h -> (h.inputConfig & InputConfig.SPY) == 0));
- mWm.updateInputChannel(inputChannel.getToken(), null /* hostInputToken */,
- DEFAULT_DISPLAY, surfaceControl,
+ mWm.updateInputChannel(inputChannel.getToken(), DEFAULT_DISPLAY, surfaceControl,
FLAG_NOT_FOCUSABLE, PRIVATE_FLAG_TRUSTED_OVERLAY, INPUT_FEATURE_SPY,
null /* region */);
verify(mTransaction).setInputWindowInfo(
@@ -1199,8 +1197,7 @@ public class WindowManagerServiceTests extends WindowTestsBase {
eq(surfaceControl),
argThat(h -> (h.inputConfig & InputConfig.SENSITIVE_FOR_PRIVACY) == 0));
- mWm.updateInputChannel(inputChannel.getToken(), null /* hostInputToken */,
- DEFAULT_DISPLAY, surfaceControl,
+ mWm.updateInputChannel(inputChannel.getToken(), DEFAULT_DISPLAY, surfaceControl,
FLAG_NOT_FOCUSABLE, PRIVATE_FLAG_TRUSTED_OVERLAY,
INPUT_FEATURE_SENSITIVE_FOR_PRIVACY,
null /* region */);