Merge "Log emulator's clipboard access to logcat" am: d1cd0480c7 am: f392915186 am: 7b915915bf

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

Change-Id: I591b8dad0630adc969c756d6c62bb1d4b1531e73
diff --git a/services/core/java/com/android/server/clipboard/EmulatorClipboardMonitor.java b/services/core/java/com/android/server/clipboard/EmulatorClipboardMonitor.java
index 62b701a..11c451e 100644
--- a/services/core/java/com/android/server/clipboard/EmulatorClipboardMonitor.java
+++ b/services/core/java/com/android/server/clipboard/EmulatorClipboardMonitor.java
@@ -18,6 +18,7 @@
 
 import android.annotation.Nullable;
 import android.content.ClipData;
+import android.os.SystemProperties;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.system.OsConstants;
@@ -39,6 +40,8 @@
     private static final String PIPE_NAME = "pipe:clipboard";
     private static final int HOST_PORT = 5000;
     private final Thread mHostMonitorThread;
+    private static final boolean LOG_CLIBOARD_ACCESS =
+            SystemProperties.getBoolean("ro.boot.qemu.log_clipboard_access", false);
     private FileDescriptor mPipe = null;
 
     private static byte[] createOpenHandshake() {
@@ -132,6 +135,9 @@
                                                        new String[]{"text/plain"},
                                                        new ClipData.Item(str));
 
+                    if (LOG_CLIBOARD_ACCESS) {
+                        Slog.i(TAG, "Setting the guest clipboard to '" + str + "'");
+                    }
                     setAndroidClipboard.accept(clip);
                 } catch (ErrnoException | InterruptedIOException e) {
                     closePipe();
@@ -156,6 +162,10 @@
     }
 
     private void setHostClipboardImpl(final String value) {
+        if (LOG_CLIBOARD_ACCESS) {
+            Slog.i(TAG, "Setting the host clipboard to '" + value + "'");
+        }
+
         try {
             if (isPipeOpened()) {
                 sendMessage(value.getBytes());