From 20a418ed74b655536b23303fa4aa59b9cfff629f Mon Sep 17 00:00:00 2001 From: Roman Kiryanov Date: Fri, 12 Mar 2021 17:02:35 -0800 Subject: [PATCH] Emulator cleanup in ClipboardService.java (send/receive) Bug: 182436079 Test: presubmit Signed-off-by: Roman Kiryanov Change-Id: Ibf4b7f8221416a8cdfbd2cf036760e57e9594fe5 --- .../server/clipboard/ClipboardService.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/services/core/java/com/android/server/clipboard/ClipboardService.java b/services/core/java/com/android/server/clipboard/ClipboardService.java index d4eb104fa8973..6aec9fcf9a248 100644 --- a/services/core/java/com/android/server/clipboard/ClipboardService.java +++ b/services/core/java/com/android/server/clipboard/ClipboardService.java @@ -117,6 +117,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; } @@ -131,10 +143,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) { @@ -146,8 +156,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",