From 48a904240bf32fcba701ad8634651569a586d0aa Mon Sep 17 00:00:00 2001
From: leozwang <leozwang@google.com>
Date: Wed, 23 Jul 2014 22:45:02 -0700
Subject: Redirect debug output to logcat.

If ADB_TRACE is enabled, debug output will be redirected to logcat.

Change-Id: I9c36ada7690a2b946ecd6a926d04e36a8313c36a
---
 adb/Android.mk |  2 +-
 adb/adb.h      | 26 +++++++++++++++++++++++++-
 2 files changed, 26 insertions(+), 2 deletions(-)

(limited to 'adb')

diff --git a/adb/Android.mk b/adb/Android.mk
index 80427b8..44c3215 100644
--- a/adb/Android.mk
+++ b/adb/Android.mk
@@ -167,7 +167,7 @@ LOCAL_C_INCLUDES += external/openssl/include
 
 LOCAL_MODULE := adb
 
-LOCAL_STATIC_LIBRARIES := libzipfile libunz libcutils
+LOCAL_STATIC_LIBRARIES := libzipfile libunz libcutils liblog
 
 LOCAL_SHARED_LIBRARIES := libcrypto
 
diff --git a/adb/adb.h b/adb/adb.h
index 707a6e0..d4c8c5f 100644
--- a/adb/adb.h
+++ b/adb/adb.h
@@ -17,6 +17,9 @@
 #ifndef __ADB_H
 #define __ADB_H
 
+#if !ADB_HOST
+#include <android/log.h>
+#endif
 #include <limits.h>
 
 #include "transport.h"  /* readx(), writex() */
@@ -382,7 +385,27 @@ void adb_qemu_trace(const char* fmt, ...);
 
 #  define ADB_TRACING  ((adb_trace_mask & (1 << TRACE_TAG)) != 0)
 
-  /* you must define TRACE_TAG before using this macro */
+/* you must define TRACE_TAG before using this macro */
+#if !ADB_HOST
+#  define  D(...)                                      \
+        do {                                           \
+            if (ADB_TRACING) {                         \
+                __android_log_print(                   \
+                    ANDROID_LOG_INFO,                  \
+                    __FUNCTION__,                      \
+                    __VA_ARGS__ );                     \
+            }                                          \
+        } while (0)
+#  define  DR(...)                                     \
+        do {                                           \
+            if (ADB_TRACING) {                         \
+                __android_log_print(                   \
+                    ANDROID_LOG_INFO,                  \
+                    __FUNCTION__,                      \
+                    __VA_ARGS__ );                     \
+            }                                          \
+        } while (0)
+#else
 #  define  D(...)                                      \
         do {                                           \
             if (ADB_TRACING) {                         \
@@ -409,6 +432,7 @@ void adb_qemu_trace(const char* fmt, ...);
                 errno = save_errno;                    \
            }                                           \
         } while (0)
+#endif
 #else
 #  define  D(...)          ((void)0)
 #  define  DR(...)         ((void)0)
-- 
cgit v1.1