Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f97ab8c4 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Emulator cleanup in ClipboardService.java"

parents fa31d37a ac9b0828
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ import com.android.server.wm.WindowManagerInternal;

import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;
import java.util.HashSet;
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_DEVICE = "/dev/qemu_pipe";

    private void openPipe() {
        try {
    private static byte[] createOpenHandshake() {
        // String.getBytes doesn't include the null terminator,
        // but the QEMU pipe device requires the pipe service name
        // to be null-terminated.
            byte[] b = new byte[PIPE_NAME.length() + 1];
            b[PIPE_NAME.length()] = 0;
            System.arraycopy(
                PIPE_NAME.getBytes(),
                0,
                b,
                0,
                PIPE_NAME.length());

        final byte[] bits = Arrays.copyOf(PIPE_NAME.getBytes(), PIPE_NAME.length() + 1);
        bits[PIPE_NAME.length()] = 0;
        return bits;
    }

    private void openPipe() {
        try {
            mPipe = new RandomAccessFile(PIPE_DEVICE, "rw");
            mPipe.write(b);
            mPipe.write(createOpenHandshake());
        } catch (IOException e) {
            try {
                if (mPipe != null) mPipe.close();