improved CallStack a bit

- added a ctor that updates and dumps the stack immediately
- added a "logtag" parameter to dump()

Change-Id: Ie51c256071d282591752243bdb4f68cf9ff8829d
diff --git a/libs/utils/CallStack.cpp b/libs/utils/CallStack.cpp
index 66fabeb..e60f5d8 100644
--- a/libs/utils/CallStack.cpp
+++ b/libs/utils/CallStack.cpp
@@ -30,6 +30,11 @@
         mCount(0) {
 }
 
+CallStack::CallStack(const char* logtag, int32_t ignoreDepth, int32_t maxDepth) {
+    this->update(ignoreDepth+1, maxDepth);
+    this->dump(logtag);
+}
+
 CallStack::CallStack(const CallStack& rhs) :
         mCount(rhs.mCount) {
     if (mCount) {
@@ -96,7 +101,7 @@
     mCount = count > 0 ? count : 0;
 }
 
-void CallStack::dump(const char* prefix) const {
+void CallStack::dump(const char* logtag, const char* prefix) const {
     backtrace_symbol_t symbols[mCount];
 
     get_backtrace_symbols(mStack, mCount, symbols);
@@ -104,7 +109,9 @@
         char line[MAX_BACKTRACE_LINE_LENGTH];
         format_backtrace_line(i, &mStack[i], &symbols[i],
                 line, MAX_BACKTRACE_LINE_LENGTH);
-        ALOGD("%s%s", prefix, line);
+        ALOG(LOG_DEBUG, logtag, "%s%s",
+                prefix ? prefix : "",
+                line);
     }
     free_backtrace_symbols(symbols, mCount);
 }