From bd8b945bb321ac73b00353c7bea74b0a5292d9a3 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Fri, 12 Apr 2024 17:22:45 +0200 Subject: [PATCH] Register rotation watcher only when possible Old Android versions may not be able to register a rotation watcher for a secondary display. In that case, report the error instead of registering a rotation watcher for the default display. Refs Suggested by: Kaiming Hu --- .../java/com/genymobile/scrcpy/wrappers/WindowManager.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server/src/main/java/com/genymobile/scrcpy/wrappers/WindowManager.java b/server/src/main/java/com/genymobile/scrcpy/wrappers/WindowManager.java index ae1468f4..44394ba9 100644 --- a/server/src/main/java/com/genymobile/scrcpy/wrappers/WindowManager.java +++ b/server/src/main/java/com/genymobile/scrcpy/wrappers/WindowManager.java @@ -189,6 +189,10 @@ public final class WindowManager { cls.getMethod("watchRotation", IRotationWatcher.class, int.class).invoke(manager, rotationWatcher, displayId); } catch (NoSuchMethodException e) { // old version + if (displayId != 0) { + Ln.e("Secondary display rotation not supported on this device"); + return; + } cls.getMethod("watchRotation", IRotationWatcher.class).invoke(manager, rotationWatcher); } } catch (Exception e) {