From d091d9db6bc3fd92061a3716a0e7a0ce17ed7195 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Fri, 27 Feb 2015 13:42:40 -0500 Subject: [PATCH] Start apps by ID to work correctly with duplicate app names --- app/libs/limelight-common.jar | Bin 953008 -> 953352 bytes app/src/main/java/com/limelight/AppView.java | 3 ++- app/src/main/java/com/limelight/Game.java | 14 +++++++++++--- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/app/libs/limelight-common.jar b/app/libs/limelight-common.jar index 2bffce0616c1c3c0363d09f9ecfb5ddc58d36496..c1b93feb18a64e63d15c76568fb54f53e0d6c9c6 100644 GIT binary patch delta 19563 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 RhMqE(j&HpiV@=31_CLBHH{SpN diff --git a/app/src/main/java/com/limelight/AppView.java b/app/src/main/java/com/limelight/AppView.java index 6e263d4c..4276180e 100644 --- a/app/src/main/java/com/limelight/AppView.java +++ b/app/src/main/java/com/limelight/AppView.java @@ -432,7 +432,8 @@ public class AppView extends Activity implements AdapterFragmentCallbacks { intent.putExtra(Game.EXTRA_HOST, computer.reachability == ComputerDetails.Reachability.LOCAL ? computer.localIp.getHostAddress() : computer.remoteIp.getHostAddress()); - intent.putExtra(Game.EXTRA_APP, app.getAppName()); + intent.putExtra(Game.EXTRA_APP_NAME, app.getAppName()); + intent.putExtra(Game.EXTRA_APP_ID, app.getAppId()); intent.putExtra(Game.EXTRA_UNIQUEID, managerBinder.getUniqueId()); intent.putExtra(Game.EXTRA_STREAMING_REMOTE, computer.reachability != ComputerDetails.Reachability.LOCAL); diff --git a/app/src/main/java/com/limelight/Game.java b/app/src/main/java/com/limelight/Game.java index 0e327ae1..d4670926 100644 --- a/app/src/main/java/com/limelight/Game.java +++ b/app/src/main/java/com/limelight/Game.java @@ -89,7 +89,8 @@ public class Game extends Activity implements SurfaceHolder.Callback, private int drFlags = 0; public static final String EXTRA_HOST = "Host"; - public static final String EXTRA_APP = "App"; + public static final String EXTRA_APP_NAME = "AppName"; + public static final String EXTRA_APP_ID = "AppId"; public static final String EXTRA_UNIQUEID = "UniqueId"; public static final String EXTRA_STREAMING_REMOTE = "Remote"; @@ -171,17 +172,24 @@ public class Game extends Activity implements SurfaceHolder.Callback, wifiLock.acquire(); String host = Game.this.getIntent().getStringExtra(EXTRA_HOST); - String app = Game.this.getIntent().getStringExtra(EXTRA_APP); + String appName = Game.this.getIntent().getStringExtra(EXTRA_APP_NAME); + int appId = Game.this.getIntent().getIntExtra(EXTRA_APP_ID, StreamConfiguration.INVALID_APP_ID); String uniqueId = Game.this.getIntent().getStringExtra(EXTRA_UNIQUEID); boolean remote = Game.this.getIntent().getBooleanExtra(EXTRA_STREAMING_REMOTE, false); + if (appId == StreamConfiguration.INVALID_APP_ID) { + finish(); + return; + } + decoderRenderer = new ConfigurableDecoderRenderer(); decoderRenderer.initializeWithFlags(drFlags); StreamConfiguration config = new StreamConfiguration.Builder() .setResolution(prefConfig.width, prefConfig.height) .setRefreshRate(prefConfig.fps) - .setApp(app) + .setApp(appName) + .setAppId(appId) .setBitrate(prefConfig.bitrate * 1000) .setEnableSops(prefConfig.enableSops) .enableAdaptiveResolution((decoderRenderer.getCapabilities() &