From 428c4eef5dfad2b31f42529b7cfa3886dc11854b Mon Sep 17 00:00:00 2001 From: Sergey Volkov Date: Sat, 23 Jul 2022 18:02:17 +0300 Subject: [PATCH] log "getDisplayIds" methods parameters --- server/build.gradle | 2 +- .../scrcpy/wrappers/DisplayManager.java | 20 +++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/server/build.gradle b/server/build.gradle index 1130be22..a712892c 100644 --- a/server/build.gradle +++ b/server/build.gradle @@ -7,7 +7,7 @@ android { minSdkVersion 21 targetSdkVersion 30 versionCode 11900 - versionName "1.19-ws3" + versionName "1.19-ws4" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { diff --git a/server/src/main/java/com/genymobile/scrcpy/wrappers/DisplayManager.java b/server/src/main/java/com/genymobile/scrcpy/wrappers/DisplayManager.java index a6fe6a2a..3b27ea42 100644 --- a/server/src/main/java/com/genymobile/scrcpy/wrappers/DisplayManager.java +++ b/server/src/main/java/com/genymobile/scrcpy/wrappers/DisplayManager.java @@ -4,6 +4,7 @@ import com.genymobile.scrcpy.DisplayInfo; import com.genymobile.scrcpy.Ln; import com.genymobile.scrcpy.Size; +import android.os.Build; import android.os.IInterface; import android.view.Display; @@ -36,13 +37,28 @@ public final class DisplayManager { } public int[] getDisplayIds() { + Method method; + String methodName = "getDisplayIds"; try { - return (int[]) manager.getClass().getMethod("getDisplayIds").invoke(manager); + method = manager.getClass().getMethod(methodName); + return (int[]) method.invoke(manager); } catch (NoSuchMethodException e) { Ln.d("Failed to get display ids"); Ln.d("Available methods:"); for (Method m: manager.getClass().getMethods()) { - Ln.d(m.getName()); + Ln.d(m.getName() + " parameters:"); + if (m.getName().equals(methodName)) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + if (m.getParameterCount() > 0) { + for (Class c : m.getParameterTypes()) { + Ln.d(c.getName()); + } + } else { + Ln.d("No parameters"); + } + } + } + Ln.d("Return type: " + m.getReturnType().getName()); } Ln.d("///"); return new int[]{Display.DEFAULT_DISPLAY};