Adding starting and stopping intents to the server

This commit is contained in:
brunoais 2021-06-19 12:47:09 +01:00
parent fc97b00ac8
commit f29baa77f4

View file

@ -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