summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wink Saville <wink@google.com> 2015-01-14 00:52:06 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2015-01-14 00:52:08 +0000
commit1a6dd2985ef1eab036f6fc77cf723e3f12832e93 (patch)
tree22b507778cca47dea8f77b5ccdb40e219c56331e
parent6e41019633975358cf2f84c5d1e09e6e3a049875 (diff)
parent54b1b1a07ad3edd1df060889aad453aa0e1cc79a (diff)
Merge "StateMachine.dump produces no output sometimes." into lmp-mr1-dev
-rw-r--r--core/java/com/android/internal/util/StateMachine.java25
1 files changed, 16 insertions, 9 deletions
diff --git a/core/java/com/android/internal/util/StateMachine.java b/core/java/com/android/internal/util/StateMachine.java
index 7ad347020923..916f19d53f67 100644
--- a/core/java/com/android/internal/util/StateMachine.java
+++ b/core/java/com/android/internal/util/StateMachine.java
@@ -25,6 +25,7 @@ import android.util.Log;
import java.io.FileDescriptor;
import java.io.PrintWriter;
+import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
@@ -1940,19 +1941,25 @@ public class StateMachine {
* @param args
*/
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
- pw.println(this.toString());
+ // Cannot just invoke pw.println(this.toString()) because if the
+ // resulting string is to long it won't be displayed.
+ pw.println(getName() + ":");
+ pw.println(" total records=" + getLogRecCount());
+ for (int i = 0; i < getLogRecSize(); i++) {
+ pw.println(" rec[" + i + "]: " + getLogRec(i).toString());
+ pw.flush();
+ }
+ pw.println("curState=" + getCurrentState().getName());
}
@Override
public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append(getName() + ":\n");
- sb.append(" total records=" + getLogRecCount() + "\n");
- for (int i = 0; i < getLogRecSize(); i++) {
- sb.append(" rec[" + i + "]: " + getLogRec(i).toString() + "\n");
- }
- sb.append("curState=" + getCurrentState().getName());
- return sb.toString();
+ StringWriter sr = new StringWriter();
+ PrintWriter pr = new PrintWriter(sr);
+ dump(null, pr, null);
+ pr.flush();
+ pr.close();
+ return sr.toString();
}
/**