Ignore instead of throw errors in QuittingState and reorder some parameters.

Since there could be an arbitrary number of messages in
the queue but Handler/Looper/MessageQueue do not provide
any mechanism for removing "all" messages the best we can
do is ignore. Throwing an error is probably too heavy.

Change-Id: I13c81ac5786484f5b3218885b010de596d943975
diff --git a/core/java/com/android/internal/util/HierarchicalStateMachine.java b/core/java/com/android/internal/util/HierarchicalStateMachine.java
index 1289d36..bebf051 100644
--- a/core/java/com/android/internal/util/HierarchicalStateMachine.java
+++ b/core/java/com/android/internal/util/HierarchicalStateMachine.java
@@ -550,7 +550,8 @@
         private class QuittingState extends HierarchicalState {
             @Override
             public boolean processMessage(Message msg) {
-                throw new RuntimeException("QuitingState: processMessage called should not happen");
+                // Ignore
+                return false;
             }
         }
 
@@ -960,7 +961,7 @@
      * @param looper for this state machine
      * @param name of the state machine
      */
-    private void initStateMachine(Looper looper, String name) {
+    private void initStateMachine(String name, Looper looper) {
         mName = name;
         mHsmHandler = new HsmHandler(looper, this);
     }
@@ -975,7 +976,7 @@
         mHsmThread.start();
         Looper looper = mHsmThread.getLooper();
 
-        initStateMachine(looper, name);
+        initStateMachine(name, looper);
     }
 
     /**
@@ -983,8 +984,8 @@
      *
      * @param name of the state machine
      */
-    protected HierarchicalStateMachine(Looper looper, String name) {
-        initStateMachine(looper, name);
+    protected HierarchicalStateMachine(String name, Looper looper) {
+        initStateMachine(name, looper);
     }
 
     /**
diff --git a/core/tests/coretests/src/android/os/HierarchicalStateMachineTest.java b/core/tests/coretests/src/android/os/HierarchicalStateMachineTest.java
index 3f4bc04..20c55c2 100644
--- a/core/tests/coretests/src/android/os/HierarchicalStateMachineTest.java
+++ b/core/tests/coretests/src/android/os/HierarchicalStateMachineTest.java
@@ -1204,8 +1204,8 @@
      * complete.
      */
     class StateMachineSharedThread extends HierarchicalStateMachine {
-        StateMachineSharedThread(Looper looper, String name, int maxCount) {
-            super(looper, name);
+        StateMachineSharedThread(String name, Looper looper, int maxCount) {
+            super(name, looper);
             mMaxCount = maxCount;
             setDbg(DBG);
 
@@ -1254,7 +1254,7 @@
         // Create the state machines
         StateMachineSharedThread sms[] = new StateMachineSharedThread[10];
         for (int i = 0; i < sms.length; i++) {
-            sms[i] = new StateMachineSharedThread(smThread.getLooper(), "sm", sms.length);
+            sms[i] = new StateMachineSharedThread("sm", smThread.getLooper(), sms.length);
             sms[i].start();
         }