aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorTrevor Johns <trevorjohns@google.com>2013-10-09 06:36:26 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-10-09 06:36:27 +0000
commitd313721265d1f2b98c134a55e2f57ca723b9e538 (patch)
treeb7ce1e0677b72b04675f28bb8fcacf8332ea7945 /common
parenta0839ca578c5fd29407e5325933e4d17474319ba (diff)
parentb792e9de1632ad2936868e8eb0f2d083936c667a (diff)
downloadandroid-d313721265d1f2b98c134a55e2f57ca723b9e538.tar.gz
Merge "Fixed LogView so it'll work when a log statement is called from a non-UI thread." into developers-dev
Diffstat (limited to 'common')
-rw-r--r--common/src/java/com/example/android/common/logger/LogView.java16
1 files changed, 13 insertions, 3 deletions
diff --git a/common/src/java/com/example/android/common/logger/LogView.java b/common/src/java/com/example/android/common/logger/LogView.java
index 234263d1..c01542b9 100644
--- a/common/src/java/com/example/android/common/logger/LogView.java
+++ b/common/src/java/com/example/android/common/logger/LogView.java
@@ -15,6 +15,7 @@
*/
package com.example.android.common.logger;
+import android.app.Activity;
import android.content.Context;
import android.util.*;
import android.widget.TextView;
@@ -45,6 +46,8 @@ public class LogView extends TextView implements LogNode {
*/
@Override
public void println(int priority, String tag, String msg, Throwable tr) {
+
+
String priorityStr = null;
// For the purposes of this View, we want to print the priority as readable text.
@@ -79,7 +82,7 @@ public class LogView extends TextView implements LogNode {
// Take the priority, tag, message, and exception, and concatenate as necessary
// into one usable line of text.
- StringBuilder outputBuilder = new StringBuilder();
+ final StringBuilder outputBuilder = new StringBuilder();
String delimiter = "\t";
appendIfNotNull(outputBuilder, priorityStr, delimiter);
@@ -87,8 +90,15 @@ public class LogView extends TextView implements LogNode {
appendIfNotNull(outputBuilder, msg, delimiter);
appendIfNotNull(outputBuilder, exceptionStr, delimiter);
- // Actually display the text we just generated within the LogView.
- appendToLog(outputBuilder.toString());
+ // In case this was originally called from an AsyncTask or some other off-UI thread,
+ // make sure the update occurs within the UI thread.
+ ((Activity) getContext()).runOnUiThread( (new Thread(new Runnable() {
+ @Override
+ public void run() {
+ // Display the text we just generated within the LogView.
+ appendToLog(outputBuilder.toString());
+ }
+ })));
if (mNext != null) {
mNext.println(priority, tag, msg, tr);