Merge "StateMachine: check for null curState in dump()" am: 2ca1abc174 am: e12727ce1d am: 932962ac33
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1360902 Change-Id: I0023f1985526779e2423410ac740af239372aa26
This commit is contained in:
@@ -2088,10 +2088,11 @@ public class StateMachine {
|
||||
pw.println(getName() + ":");
|
||||
pw.println(" total records=" + getLogRecCount());
|
||||
for (int i = 0; i < getLogRecSize(); i++) {
|
||||
pw.println(" rec[" + i + "]: " + getLogRec(i).toString());
|
||||
pw.println(" rec[" + i + "]: " + getLogRec(i));
|
||||
pw.flush();
|
||||
}
|
||||
pw.println("curState=" + getCurrentState().getName());
|
||||
final IState curState = getCurrentState();
|
||||
pw.println("curState=" + (curState == null ? "<QUIT>" : curState.getName()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -16,27 +16,25 @@
|
||||
|
||||
package com.android.internal.util;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
|
||||
import android.os.Debug;
|
||||
import android.os.HandlerThread;
|
||||
import android.os.Looper;
|
||||
import android.os.Message;
|
||||
import android.os.SystemClock;
|
||||
import android.os.test.TestLooper;
|
||||
|
||||
import android.test.suitebuilder.annotation.Suppress;
|
||||
import com.android.internal.util.State;
|
||||
import com.android.internal.util.StateMachine;
|
||||
import com.android.internal.util.StateMachine.LogRec;
|
||||
|
||||
import android.test.suitebuilder.annotation.MediumTest;
|
||||
import android.test.suitebuilder.annotation.SmallTest;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.util.StateMachine.LogRec;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
|
||||
/**
|
||||
* Test for StateMachine.
|
||||
*/
|
||||
@@ -2013,4 +2011,12 @@ public class StateMachineTest extends TestCase {
|
||||
private static void tloge(String s) {
|
||||
Log.e(TAG, s);
|
||||
}
|
||||
|
||||
public void testDumpDoesNotThrowNpeAfterQuit() {
|
||||
final Hsm1 sm = Hsm1.makeHsm1();
|
||||
sm.quitNow();
|
||||
final StringWriter stringWriter = new StringWriter();
|
||||
final PrintWriter printWriter = new PrintWriter(stringWriter);
|
||||
sm.dump(null, printWriter, new String[0]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user