[automerge] Add displayId to transferTouch 2p: 5714213367

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

Bug: 220077253
Change-Id: I2bed872b733d1be71978aae59c60c6c728c087be
This commit is contained in:
Siarhei Vishniakou
2022-04-06 00:19:05 +00:00
committed by Presubmit Automerger Backend
4 changed files with 14 additions and 9 deletions

View File

@@ -658,10 +658,10 @@ public class InputManagerService extends IInputManager.Stub
* gesture * gesture
* @return True if the transfer succeeded, false if there was no active touch gesture happening * @return True if the transfer succeeded, false if there was no active touch gesture happening
*/ */
public boolean transferTouch(IBinder destChannelToken) { public boolean transferTouch(IBinder destChannelToken, int displayId) {
// TODO(b/162194035): Replace this with a SPY window // TODO(b/162194035): Replace this with a SPY window
Objects.requireNonNull(destChannelToken, "destChannelToken must not be null"); Objects.requireNonNull(destChannelToken, "destChannelToken must not be null");
return mNative.transferTouch(destChannelToken); return mNative.transferTouch(destChannelToken, displayId);
} }
/** /**

View File

@@ -90,7 +90,11 @@ public interface NativeInputManagerService {
boolean transferTouchFocus(IBinder fromChannelToken, IBinder toChannelToken, boolean transferTouchFocus(IBinder fromChannelToken, IBinder toChannelToken,
boolean isDragDrop); boolean isDragDrop);
boolean transferTouch(IBinder destChannelToken); /**
* Transfer the current touch gesture to the window identified by 'destChannelToken' positioned
* on display with id 'displayId'.
*/
boolean transferTouch(IBinder destChannelToken, int displayId);
void setPointerSpeed(int speed); void setPointerSpeed(int speed);
@@ -263,7 +267,7 @@ public interface NativeInputManagerService {
boolean isDragDrop); boolean isDragDrop);
@Override @Override
public native boolean transferTouch(IBinder destChannelToken); public native boolean transferTouch(IBinder destChannelToken, int displayId);
@Override @Override
public native void setPointerSpeed(int speed); public native void setPointerSpeed(int speed);

View File

@@ -2798,7 +2798,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
* Move the touch gesture from the currently touched window on this display to this window. * Move the touch gesture from the currently touched window on this display to this window.
*/ */
public boolean transferTouch() { public boolean transferTouch() {
return mWmService.mInputManager.transferTouch(mInputChannelToken); return mWmService.mInputManager.transferTouch(mInputChannelToken, getDisplayId());
} }
void disposeInputChannel() { void disposeInputChannel() {

View File

@@ -1846,12 +1846,13 @@ static jboolean nativeTransferTouchFocus(JNIEnv* env, jobject nativeImplObj,
} }
} }
static jboolean nativeTransferTouch(JNIEnv* env, jobject nativeImplObj, static jboolean nativeTransferTouch(JNIEnv* env, jobject nativeImplObj, jobject destChannelTokenObj,
jobject destChannelTokenObj) { jint displayId) {
sp<IBinder> destChannelToken = ibinderForJavaObject(env, destChannelTokenObj); sp<IBinder> destChannelToken = ibinderForJavaObject(env, destChannelTokenObj);
NativeInputManager* im = getNativeInputManager(env, nativeImplObj); NativeInputManager* im = getNativeInputManager(env, nativeImplObj);
if (im->getInputManager()->getDispatcher().transferTouch(destChannelToken)) { if (im->getInputManager()->getDispatcher().transferTouch(destChannelToken,
static_cast<int32_t>(displayId))) {
return JNI_TRUE; return JNI_TRUE;
} else { } else {
return JNI_FALSE; return JNI_FALSE;
@@ -2345,7 +2346,7 @@ static const JNINativeMethod gInputManagerMethods[] = {
{"setSystemUiLightsOut", "(Z)V", (void*)nativeSetSystemUiLightsOut}, {"setSystemUiLightsOut", "(Z)V", (void*)nativeSetSystemUiLightsOut},
{"transferTouchFocus", "(Landroid/os/IBinder;Landroid/os/IBinder;Z)Z", {"transferTouchFocus", "(Landroid/os/IBinder;Landroid/os/IBinder;Z)Z",
(void*)nativeTransferTouchFocus}, (void*)nativeTransferTouchFocus},
{"transferTouch", "(Landroid/os/IBinder;)Z", (void*)nativeTransferTouch}, {"transferTouch", "(Landroid/os/IBinder;I)Z", (void*)nativeTransferTouch},
{"setPointerSpeed", "(I)V", (void*)nativeSetPointerSpeed}, {"setPointerSpeed", "(I)V", (void*)nativeSetPointerSpeed},
{"setPointerAcceleration", "(F)V", (void*)nativeSetPointerAcceleration}, {"setPointerAcceleration", "(F)V", (void*)nativeSetPointerAcceleration},
{"setShowTouches", "(Z)V", (void*)nativeSetShowTouches}, {"setShowTouches", "(Z)V", (void*)nativeSetShowTouches},