Merge "Emulator cleanup in ClipboardService.java"

This commit is contained in:
Treehugger Robot
2021-03-15 20:49:30 +00:00
committed by Gerrit Code Review

View File

@@ -65,6 +65,7 @@ import com.android.server.wm.WindowManagerInternal;
import java.io.IOException; import java.io.IOException;
import java.io.RandomAccessFile; import java.io.RandomAccessFile;
import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
@@ -80,21 +81,20 @@ class HostClipboardMonitor implements Runnable {
private static final String PIPE_NAME = "pipe:clipboard"; private static final String PIPE_NAME = "pipe:clipboard";
private static final String PIPE_DEVICE = "/dev/qemu_pipe"; private static final String PIPE_DEVICE = "/dev/qemu_pipe";
private void openPipe() { private static byte[] createOpenHandshake() {
try {
// String.getBytes doesn't include the null terminator, // String.getBytes doesn't include the null terminator,
// but the QEMU pipe device requires the pipe service name // but the QEMU pipe device requires the pipe service name
// to be null-terminated. // to be null-terminated.
byte[] b = new byte[PIPE_NAME.length() + 1];
b[PIPE_NAME.length()] = 0; final byte[] bits = Arrays.copyOf(PIPE_NAME.getBytes(), PIPE_NAME.length() + 1);
System.arraycopy( bits[PIPE_NAME.length()] = 0;
PIPE_NAME.getBytes(), return bits;
0, }
b,
0, private void openPipe() {
PIPE_NAME.length()); try {
mPipe = new RandomAccessFile(PIPE_DEVICE, "rw"); mPipe = new RandomAccessFile(PIPE_DEVICE, "rw");
mPipe.write(b); mPipe.write(createOpenHandshake());
} catch (IOException e) { } catch (IOException e) {
try { try {
if (mPipe != null) mPipe.close(); if (mPipe != null) mPipe.close();