Copy on "get clipboard" if possible

Ctrl+c synchronizes the Android device clipboard to the computer
clipboard.

To make the copy more straightforward, if the device runs at least
Android 7, also send a COPY keycode before copying the clipboard.

<https://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_COPY>
This commit is contained in:
Romain Vimont
2020-05-28 10:11:05 +02:00
parent 0f6cdc56fa
commit 7a77f3bab4
9 changed files with 62 additions and 9 deletions

View File

@@ -185,14 +185,18 @@ static void test_serialize_collapse_notification_panel(void) {
static void test_serialize_get_clipboard(void) {
struct control_msg msg = {
.type = CONTROL_MSG_TYPE_GET_CLIPBOARD,
.get_clipboard = {
.copy = true,
},
};
unsigned char buf[CONTROL_MSG_SERIALIZED_MAX_SIZE];
int size = control_msg_serialize(&msg, buf);
assert(size == 1);
assert(size == 2);
const unsigned char expected[] = {
CONTROL_MSG_TYPE_GET_CLIPBOARD,
1, // copy
};
assert(!memcmp(buf, expected, sizeof(expected)));
}