Register DisplayFoldListener only for Android 10+

This listener does not exist on Android < 10, and it makes scrcpy fail.
This commit is contained in:
Romain Vimont 2023-06-22 00:49:11 +02:00
parent d046678f85
commit c0f3c080b6
2 changed files with 20 additions and 16 deletions

View file

@ -99,6 +99,7 @@ public final class Device {
}
}, displayId);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
ServiceManager.getWindowManager().registerDisplayFoldListener(new IDisplayFoldListener.Stub() {
@Override
public void onDisplayFoldChanged(int displayId, boolean folded) {
@ -118,6 +119,7 @@ public final class Device {
}
}
});
}
if (options.getControl() && options.getClipboardAutosync()) {
// If control and autosync are enabled, synchronize Android clipboard to the computer automatically

View file

@ -2,6 +2,7 @@ package com.genymobile.scrcpy.wrappers;
import com.genymobile.scrcpy.Ln;
import android.annotation.TargetApi;
import android.os.IInterface;
import android.view.IRotationWatcher;
import android.view.IDisplayFoldListener;
@ -110,6 +111,7 @@ public final class WindowManager {
}
}
@TargetApi(29)
public void registerDisplayFoldListener(IDisplayFoldListener foldListener) {
try {
Class<?> cls = manager.getClass();