From f29baa77f4447b9123adde2b84a5677ed2d5615d Mon Sep 17 00:00:00 2001 From: brunoais Date: Sat, 19 Jun 2021 12:47:09 +0100 Subject: [PATCH] Adding starting and stopping intents to the server --- .../java/com/genymobile/scrcpy/Server.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/server/src/main/java/com/genymobile/scrcpy/Server.java b/server/src/main/java/com/genymobile/scrcpy/Server.java index fe3294b0..2040c5b5 100644 --- a/server/src/main/java/com/genymobile/scrcpy/Server.java +++ b/server/src/main/java/com/genymobile/scrcpy/Server.java @@ -79,6 +79,10 @@ public final class Server { }); } + if(options.getBroadcastIntents().contains(Intents.START)){ + announceScrcpyStarting(); + } + try { // synchronous screenEncoder.streamScreen(device, connection.getVideoFd()); @@ -92,10 +96,32 @@ public final class Server { if (deviceMessageSenderThread != null) { deviceMessageSenderThread.interrupt(); } + + if(options.getBroadcastIntents().contains(Intents.STOP)){ + Ln.i("Announcing stopped"); + announceScrcpyStopping(); + } } } } + private static void announceScrcpyStarting() { + + Intent starting = new Intent(Intents.scrcpyPrefix("START")); + starting.setData(Uri.parse("scrcpy-status:start")); + starting.putExtra(Intents.scrcpyPrefix("STARTUP"), true); + starting.putExtra(Intents.scrcpyPrefix("SHUTDOWN"), false); + Device.sendBroadcast(starting); + } + private static void announceScrcpyStopping() { + + Intent stopping = new Intent(Intents.scrcpyPrefix("STOP")); + stopping.setData(Uri.parse("scrcpy-status:stop")); + stopping.putExtra(Intents.scrcpyPrefix("STARTUP"), false); + stopping.putExtra(Intents.scrcpyPrefix("SHUTDOWN"), true); + Device.sendBroadcast(stopping); + } + private static Thread startController(final Controller controller) { Thread thread = new Thread(new Runnable() { @Override