Avoid sending input to the remote PC when running under Monkey

This commit is contained in:
Cameron Gutman 2018-06-20 01:25:45 -07:00
parent b64c84a5c3
commit c2a16a9b4a

View File

@ -1,5 +1,7 @@
package com.limelight.nvstream; package com.limelight.nvstream;
import android.app.ActivityManager;
import java.io.IOException; import java.io.IOException;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
@ -29,6 +31,7 @@ public class NvConnection {
private String uniqueId; private String uniqueId;
private ConnectionContext context; private ConnectionContext context;
private static Semaphore connectionAllowed = new Semaphore(1); private static Semaphore connectionAllowed = new Semaphore(1);
private final boolean isMonkey;
public NvConnection(String host, String uniqueId, StreamConfiguration config, LimelightCryptoProvider cryptoProvider) public NvConnection(String host, String uniqueId, StreamConfiguration config, LimelightCryptoProvider cryptoProvider)
{ {
@ -47,6 +50,7 @@ public class NvConnection {
} }
this.context.riKeyId = generateRiKeyId(); this.context.riKeyId = generateRiKeyId();
this.isMonkey = ActivityManager.isUserAMonkey();
} }
private static SecretKey generateRiAesKey() throws NoSuchAlgorithmException { private static SecretKey generateRiAesKey() throws NoSuchAlgorithmException {
@ -287,17 +291,23 @@ public class NvConnection {
public void sendMouseMove(final short deltaX, final short deltaY) public void sendMouseMove(final short deltaX, final short deltaY)
{ {
MoonBridge.sendMouseMove(deltaX, deltaY); if (!isMonkey) {
MoonBridge.sendMouseMove(deltaX, deltaY);
}
} }
public void sendMouseButtonDown(final byte mouseButton) public void sendMouseButtonDown(final byte mouseButton)
{ {
MoonBridge.sendMouseButton(MouseButtonPacket.PRESS_EVENT, mouseButton); if (!isMonkey) {
MoonBridge.sendMouseButton(MouseButtonPacket.PRESS_EVENT, mouseButton);
}
} }
public void sendMouseButtonUp(final byte mouseButton) public void sendMouseButtonUp(final byte mouseButton)
{ {
MoonBridge.sendMouseButton(MouseButtonPacket.RELEASE_EVENT, mouseButton); if (!isMonkey) {
MoonBridge.sendMouseButton(MouseButtonPacket.RELEASE_EVENT, mouseButton);
}
} }
public void sendControllerInput(final short controllerNumber, public void sendControllerInput(final short controllerNumber,
@ -306,7 +316,10 @@ public class NvConnection {
final short leftStickX, final short leftStickY, final short leftStickX, final short leftStickY,
final short rightStickX, final short rightStickY) final short rightStickX, final short rightStickY)
{ {
MoonBridge.sendMultiControllerInput(controllerNumber, activeGamepadMask, buttonFlags, leftTrigger, rightTrigger, leftStickX, leftStickY, rightStickX, rightStickY); if (!isMonkey) {
MoonBridge.sendMultiControllerInput(controllerNumber, activeGamepadMask, buttonFlags,
leftTrigger, rightTrigger, leftStickX, leftStickY, rightStickX, rightStickY);
}
} }
public void sendControllerInput(final short buttonFlags, public void sendControllerInput(final short buttonFlags,
@ -314,14 +327,21 @@ public class NvConnection {
final short leftStickX, final short leftStickY, final short leftStickX, final short leftStickY,
final short rightStickX, final short rightStickY) final short rightStickX, final short rightStickY)
{ {
MoonBridge.sendControllerInput(buttonFlags, leftTrigger, rightTrigger, leftStickX, leftStickY, rightStickX, rightStickY); if (!isMonkey) {
MoonBridge.sendControllerInput(buttonFlags, leftTrigger, rightTrigger, leftStickX,
leftStickY, rightStickX, rightStickY);
}
} }
public void sendKeyboardInput(final short keyMap, final byte keyDirection, final byte modifier) { public void sendKeyboardInput(final short keyMap, final byte keyDirection, final byte modifier) {
MoonBridge.sendKeyboardInput(keyMap, keyDirection, modifier); if (!isMonkey) {
MoonBridge.sendKeyboardInput(keyMap, keyDirection, modifier);
}
} }
public void sendMouseScroll(final byte scrollClicks) { public void sendMouseScroll(final byte scrollClicks) {
MoonBridge.sendMouseScroll(scrollClicks); if (!isMonkey) {
MoonBridge.sendMouseScroll(scrollClicks);
}
} }
} }