Merge "Add displayId to transferTouch" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8fc187cbc6
@@ -658,10 +658,10 @@ public class InputManagerService extends IInputManager.Stub
|
||||
* gesture
|
||||
* @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
|
||||
Objects.requireNonNull(destChannelToken, "destChannelToken must not be null");
|
||||
return mNative.transferTouch(destChannelToken);
|
||||
return mNative.transferTouch(destChannelToken, displayId);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -90,7 +90,11 @@ public interface NativeInputManagerService {
|
||||
boolean transferTouchFocus(IBinder fromChannelToken, IBinder toChannelToken,
|
||||
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);
|
||||
|
||||
@@ -263,7 +267,7 @@ public interface NativeInputManagerService {
|
||||
boolean isDragDrop);
|
||||
|
||||
@Override
|
||||
public native boolean transferTouch(IBinder destChannelToken);
|
||||
public native boolean transferTouch(IBinder destChannelToken, int displayId);
|
||||
|
||||
@Override
|
||||
public native void setPointerSpeed(int speed);
|
||||
|
||||
@@ -2805,7 +2805,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
* Move the touch gesture from the currently touched window on this display to this window.
|
||||
*/
|
||||
public boolean transferTouch() {
|
||||
return mWmService.mInputManager.transferTouch(mInputChannelToken);
|
||||
return mWmService.mInputManager.transferTouch(mInputChannelToken, getDisplayId());
|
||||
}
|
||||
|
||||
void disposeInputChannel() {
|
||||
|
||||
@@ -1846,12 +1846,13 @@ static jboolean nativeTransferTouchFocus(JNIEnv* env, jobject nativeImplObj,
|
||||
}
|
||||
}
|
||||
|
||||
static jboolean nativeTransferTouch(JNIEnv* env, jobject nativeImplObj,
|
||||
jobject destChannelTokenObj) {
|
||||
static jboolean nativeTransferTouch(JNIEnv* env, jobject nativeImplObj, jobject destChannelTokenObj,
|
||||
jint displayId) {
|
||||
sp<IBinder> destChannelToken = ibinderForJavaObject(env, destChannelTokenObj);
|
||||
|
||||
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;
|
||||
} else {
|
||||
return JNI_FALSE;
|
||||
@@ -2345,7 +2346,7 @@ static const JNINativeMethod gInputManagerMethods[] = {
|
||||
{"setSystemUiLightsOut", "(Z)V", (void*)nativeSetSystemUiLightsOut},
|
||||
{"transferTouchFocus", "(Landroid/os/IBinder;Landroid/os/IBinder;Z)Z",
|
||||
(void*)nativeTransferTouchFocus},
|
||||
{"transferTouch", "(Landroid/os/IBinder;)Z", (void*)nativeTransferTouch},
|
||||
{"transferTouch", "(Landroid/os/IBinder;I)Z", (void*)nativeTransferTouch},
|
||||
{"setPointerSpeed", "(I)V", (void*)nativeSetPointerSpeed},
|
||||
{"setPointerAcceleration", "(F)V", (void*)nativeSetPointerAcceleration},
|
||||
{"setShowTouches", "(Z)V", (void*)nativeSetShowTouches},
|
||||
|
||||
Reference in New Issue
Block a user