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

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

Change-Id: Ic83e98adabd26f2932328085d914dfffd98730d0
This commit is contained in:
Roman Kiryanov
2021-03-26 02:06:49 +00:00
committed by Automerger Merge Worker

View File

@@ -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",