Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54b1b1a0 authored by Wink Saville's avatar Wink Saville Committed by John Huang
Browse files

StateMachine.dump produces no output sometimes.

If the content to dump is large no output is produced by dump. Change
back to using a loop and flush.

Bug: 18965342
Change-Id: Ibc33da8bfffd5f998a78df0e2d70ed8e8a0aa137
parent f94d5d26
Loading
Loading
Loading
Loading
+16 −9
Original line number Diff line number Diff line
@@ -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();
    }

    /**