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

Commit 34ec9d5e authored by Roman Kiryanov's avatar Roman Kiryanov Committed by Automerger Merge Worker
Browse files

Merge "Emulator cleanup in ClipboardService.java (send/receive)" am:...

Merge "Emulator cleanup in ClipboardService.java (send/receive)" am: c4bc4fb1 am: fadfebd0 am: bda0cd8f am: 6264987a

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1634489

Change-Id: I5b54f4f50bdc56d704c06043703e596d6d510f5f
parents 8c0f6af4 6264987a
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -132,6 +132,18 @@ class HostClipboardMonitor implements Runnable {
        }
    }

    private byte[] receiveMessage() throws IOException {
        final int size = Integer.reverseBytes(mPipe.readInt());
        final byte[] receivedData = new byte[size];
        mPipe.readFully(receivedData);
        return receivedData;
    }

    private void sendMessage(byte[] message) throws IOException {
        mPipe.writeInt(Integer.reverseBytes(message.length));
        mPipe.write(message);
    }

    public HostClipboardMonitor(HostClipboardCallback cb) {
        mHostClipboardCallback = cb;
    }
@@ -146,10 +158,8 @@ class HostClipboardMonitor implements Runnable {
                while ((mPipe == null) && !openPipe()) {
                    Thread.sleep(100);
                }
                int size = mPipe.readInt();
                size = Integer.reverseBytes(size);
                byte[] receivedData = new byte[size];
                mPipe.readFully(receivedData);

                final byte[] receivedData = receiveMessage();
                mHostClipboardCallback.onHostClipboardUpdated(
                    new String(receivedData));
            } catch (IOException e) {
@@ -161,8 +171,7 @@ class HostClipboardMonitor implements Runnable {
    public void setHostClipboard(String content) {
        try {
            if (mPipe != null) {
                mPipe.writeInt(Integer.reverseBytes(content.getBytes().length));
                mPipe.write(content.getBytes());
                sendMessage(content.getBytes());
            }
        } catch(IOException e) {
            Slog.e("HostClipboardMonitor",