diff options
| author | David Su <dysu@google.com> | 2020-07-09 01:54:39 -0700 |
|---|---|---|
| committer | David Su <dysu@google.com> | 2020-07-10 12:09:33 -0700 |
| commit | 704f33f253ffd65721f236b722751316bcef3ff8 (patch) | |
| tree | 4672233c84a95ef9f3df0ff8e6cb76774b55964f /core/java | |
| parent | a0895c8580a76bded8b52bddeb7a6aaa3c099d08 (diff) | |
StateMachine: check for null curState in dump()
After the StateMachine has quit, getCurrentState()
returns null, which will throw an exception in dump().
Bug: 160283853
Test: atest StateMachineTest
Change-Id: I4f9906eef6210b037d2170904a7c3aa483f5b4e9
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/util/StateMachine.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/core/java/com/android/internal/util/StateMachine.java b/core/java/com/android/internal/util/StateMachine.java index 0c2406559dcc..7a79cc9ef868 100644 --- a/core/java/com/android/internal/util/StateMachine.java +++ b/core/java/com/android/internal/util/StateMachine.java @@ -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 |
