mirror of
https://github.com/Genymobile/scrcpy.git
synced 2024-09-19 05:31:21 +02:00
Add missing clipboard workaround for IQOO device
The first part of the workaround fixed getPrimaryClip(). This part fixes
setPrimaryClip().
Fixes #4703 <https://github.com/Genymobile/scrcpy/issues/4703>
Refs 5ce8672ebc
Refs #4492 <https://github.com/Genymobile/scrcpy/issues/4492>
This commit is contained in:
parent
78a7e4f293
commit
746eaea556
1 changed files with 13 additions and 4 deletions
|
@ -87,9 +87,15 @@ public final class ClipboardManager {
|
||||||
setPrimaryClipMethod = manager.getClass().getMethod("setPrimaryClip", ClipData.class, String.class, String.class, int.class);
|
setPrimaryClipMethod = manager.getClass().getMethod("setPrimaryClip", ClipData.class, String.class, String.class, int.class);
|
||||||
setMethodVersion = 1;
|
setMethodVersion = 1;
|
||||||
} catch (NoSuchMethodException e2) {
|
} catch (NoSuchMethodException e2) {
|
||||||
setPrimaryClipMethod = manager.getClass()
|
try {
|
||||||
.getMethod("setPrimaryClip", ClipData.class, String.class, String.class, int.class, int.class);
|
setPrimaryClipMethod = manager.getClass()
|
||||||
setMethodVersion = 2;
|
.getMethod("setPrimaryClip", ClipData.class, String.class, String.class, int.class, int.class);
|
||||||
|
setMethodVersion = 2;
|
||||||
|
} catch (NoSuchMethodException e3) {
|
||||||
|
setPrimaryClipMethod = manager.getClass()
|
||||||
|
.getMethod("setPrimaryClip", ClipData.class, String.class, String.class, int.class, int.class, boolean.class);
|
||||||
|
setMethodVersion = 3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -132,9 +138,12 @@ public final class ClipboardManager {
|
||||||
case 1:
|
case 1:
|
||||||
method.invoke(manager, clipData, FakeContext.PACKAGE_NAME, null, FakeContext.ROOT_UID);
|
method.invoke(manager, clipData, FakeContext.PACKAGE_NAME, null, FakeContext.ROOT_UID);
|
||||||
break;
|
break;
|
||||||
default:
|
case 2:
|
||||||
method.invoke(manager, clipData, FakeContext.PACKAGE_NAME, null, FakeContext.ROOT_UID, 0);
|
method.invoke(manager, clipData, FakeContext.PACKAGE_NAME, null, FakeContext.ROOT_UID, 0);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
// The last boolean parameter is "userOperate"
|
||||||
|
method.invoke(manager, clipData, FakeContext.PACKAGE_NAME, null, FakeContext.ROOT_UID, 0, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue