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;
import android.app.ActivityManager;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.security.NoSuchAlgorithmException;
@ -29,6 +31,7 @@ public class NvConnection {
private String uniqueId;
private ConnectionContext context;
private static Semaphore connectionAllowed = new Semaphore(1);
private final boolean isMonkey;
public NvConnection(String host, String uniqueId, StreamConfiguration config, LimelightCryptoProvider cryptoProvider)
{
@ -47,6 +50,7 @@ public class NvConnection {
}
this.context.riKeyId = generateRiKeyId();
this.isMonkey = ActivityManager.isUserAMonkey();
}
private static SecretKey generateRiAesKey() throws NoSuchAlgorithmException {
@ -287,17 +291,23 @@ public class NvConnection {
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)
{
MoonBridge.sendMouseButton(MouseButtonPacket.PRESS_EVENT, mouseButton);
if (!isMonkey) {
MoonBridge.sendMouseButton(MouseButtonPacket.PRESS_EVENT, 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,
@ -306,7 +316,10 @@ public class NvConnection {
final short leftStickX, final short leftStickY,
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,
@ -314,14 +327,21 @@ public class NvConnection {
final short leftStickX, final short leftStickY,
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) {
MoonBridge.sendKeyboardInput(keyMap, keyDirection, modifier);
if (!isMonkey) {
MoonBridge.sendKeyboardInput(keyMap, keyDirection, modifier);
}
}
public void sendMouseScroll(final byte scrollClicks) {
MoonBridge.sendMouseScroll(scrollClicks);
if (!isMonkey) {
MoonBridge.sendMouseScroll(scrollClicks);
}
}
}