Loading core/java/Android.bp +21 −0 Original line number Diff line number Diff line Loading @@ -380,6 +380,27 @@ filegroup { ], } java_library { name: "modules-utils-statemachine", srcs: [ "com/android/internal/util/IState.java", "com/android/internal/util/State.java", "com/android/internal/util/StateMachine.java", ], libs: [ "framework-annotations-lib", "unsupportedappusage", ], sdk_version: "module_current", min_sdk_version: "29", visibility: ["//visibility:public"], apex_available: [ "//apex_available:anyapex", "//apex_available:platform", ], } filegroup { name: "framework-ims-common-shared-srcs", srcs: [ Loading core/java/com/android/internal/util/IState.java +2 −2 Original line number Diff line number Diff line Loading @@ -27,12 +27,12 @@ import android.os.Message; public interface IState { /** * Returned by processMessage to indicate the the message was processed. * Returned by processMessage to indicate the message was processed. */ static final boolean HANDLED = true; /** * Returned by processMessage to indicate the the message was NOT processed. * Returned by processMessage to indicate the message was NOT processed. */ static final boolean NOT_HANDLED = false; Loading core/java/com/android/internal/util/StateMachine.java +3 −3 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ import java.util.Vector; * in Object Oriented programming and are used to perform initialization and * cleanup of the state respectively. The <code>getName</code> method returns the * name of the state; the default implementation returns the class name. It may be * desirable to have <code>getName</code> return the the state instance name instead, * desirable to have <code>getName</code> return the state instance name instead, * in particular if a particular state class has multiple instances.</p> * * <p>When a state machine is created, <code>addState</code> is used to build the Loading Loading @@ -433,14 +433,14 @@ public class StateMachine { /** * Convenience constant that maybe returned by processMessage * to indicate the the message was processed and is not to be * to indicate the message was processed and is not to be * processed by parent states */ public static final boolean HANDLED = true; /** * Convenience constant that maybe returned by processMessage * to indicate the the message was NOT processed and is to be * to indicate the message was NOT processed and is to be * processed by parent states */ public static final boolean NOT_HANDLED = false; Loading core/tests/utiltests/src/com/android/internal/util/StateMachineTest.java +39 −39 Original line number Diff line number Diff line Loading @@ -542,83 +542,83 @@ public class StateMachineTest extends TestCase { public void testStateMachineEnterExitTransitionToTest() throws Exception { //if (WAIT_FOR_DEBUGGER) Debug.waitForDebugger(); StateMachineEnterExitTransitionToTest smEnterExitTranstionToTest = new StateMachineEnterExitTransitionToTest("smEnterExitTranstionToTest"); smEnterExitTranstionToTest.start(); if (smEnterExitTranstionToTest.isDbg()) { StateMachineEnterExitTransitionToTest smEnterExitTransitionToTest = new StateMachineEnterExitTransitionToTest("smEnterExitTransitionToTest"); smEnterExitTransitionToTest.start(); if (smEnterExitTransitionToTest.isDbg()) { tlog("testStateMachineEnterExitTransitionToTest E"); } synchronized (smEnterExitTranstionToTest) { smEnterExitTranstionToTest.sendMessage(TEST_CMD_1); synchronized (smEnterExitTransitionToTest) { smEnterExitTransitionToTest.sendMessage(TEST_CMD_1); try { // wait for the messages to be handled smEnterExitTranstionToTest.wait(); smEnterExitTransitionToTest.wait(); } catch (InterruptedException e) { tloge("testStateMachineEnterExitTransitionToTest: exception while waiting " + e.getMessage()); } } dumpLogRecs(smEnterExitTranstionToTest); dumpLogRecs(smEnterExitTransitionToTest); assertEquals(9, smEnterExitTranstionToTest.getLogRecCount()); assertEquals(9, smEnterExitTransitionToTest.getLogRecCount()); LogRec lr; lr = smEnterExitTranstionToTest.getLogRec(0); lr = smEnterExitTransitionToTest.getLogRec(0); assertEquals(ENTER, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS1, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS1, lr.getState()); lr = smEnterExitTranstionToTest.getLogRec(1); lr = smEnterExitTransitionToTest.getLogRec(1); assertEquals(EXIT, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS1, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS1, lr.getState()); lr = smEnterExitTranstionToTest.getLogRec(2); lr = smEnterExitTransitionToTest.getLogRec(2); assertEquals(ENTER, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS2, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS2, lr.getState()); lr = smEnterExitTranstionToTest.getLogRec(3); lr = smEnterExitTransitionToTest.getLogRec(3); assertEquals(TEST_CMD_1, lr.getWhat()); assertEquals(smEnterExitTranstionToTest.mS2, lr.getState()); assertEquals(smEnterExitTranstionToTest.mS2, lr.getOriginalState()); assertEquals(smEnterExitTranstionToTest.mS3, lr.getDestState()); assertEquals(smEnterExitTransitionToTest.mS2, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS2, lr.getOriginalState()); assertEquals(smEnterExitTransitionToTest.mS3, lr.getDestState()); lr = smEnterExitTranstionToTest.getLogRec(4); lr = smEnterExitTransitionToTest.getLogRec(4); assertEquals(TEST_CMD_1, lr.getWhat()); assertEquals(smEnterExitTranstionToTest.mS2, lr.getState()); assertEquals(smEnterExitTranstionToTest.mS2, lr.getOriginalState()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getDestState()); assertEquals(smEnterExitTransitionToTest.mS2, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS2, lr.getOriginalState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getDestState()); assertEquals(EXIT, lr.getInfo()); lr = smEnterExitTranstionToTest.getLogRec(5); lr = smEnterExitTransitionToTest.getLogRec(5); assertEquals(TEST_CMD_1, lr.getWhat()); assertEquals(ENTER, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS3, lr.getState()); assertEquals(smEnterExitTranstionToTest.mS3, lr.getOriginalState()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getDestState()); assertEquals(smEnterExitTransitionToTest.mS3, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS3, lr.getOriginalState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getDestState()); lr = smEnterExitTranstionToTest.getLogRec(6); lr = smEnterExitTransitionToTest.getLogRec(6); assertEquals(TEST_CMD_1, lr.getWhat()); assertEquals(EXIT, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS3, lr.getState()); assertEquals(smEnterExitTranstionToTest.mS3, lr.getOriginalState()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getDestState()); assertEquals(smEnterExitTransitionToTest.mS3, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS3, lr.getOriginalState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getDestState()); lr = smEnterExitTranstionToTest.getLogRec(7); lr = smEnterExitTransitionToTest.getLogRec(7); assertEquals(TEST_CMD_1, lr.getWhat()); assertEquals(ENTER, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getState()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getOriginalState()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getDestState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getOriginalState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getDestState()); lr = smEnterExitTranstionToTest.getLogRec(8); lr = smEnterExitTransitionToTest.getLogRec(8); assertEquals(TEST_CMD_1, lr.getWhat()); assertEquals(EXIT, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getState()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getOriginalState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getOriginalState()); if (smEnterExitTranstionToTest.isDbg()) { if (smEnterExitTransitionToTest.isDbg()) { tlog("testStateMachineEnterExitTransitionToTest X"); } } Loading Loading
core/java/Android.bp +21 −0 Original line number Diff line number Diff line Loading @@ -380,6 +380,27 @@ filegroup { ], } java_library { name: "modules-utils-statemachine", srcs: [ "com/android/internal/util/IState.java", "com/android/internal/util/State.java", "com/android/internal/util/StateMachine.java", ], libs: [ "framework-annotations-lib", "unsupportedappusage", ], sdk_version: "module_current", min_sdk_version: "29", visibility: ["//visibility:public"], apex_available: [ "//apex_available:anyapex", "//apex_available:platform", ], } filegroup { name: "framework-ims-common-shared-srcs", srcs: [ Loading
core/java/com/android/internal/util/IState.java +2 −2 Original line number Diff line number Diff line Loading @@ -27,12 +27,12 @@ import android.os.Message; public interface IState { /** * Returned by processMessage to indicate the the message was processed. * Returned by processMessage to indicate the message was processed. */ static final boolean HANDLED = true; /** * Returned by processMessage to indicate the the message was NOT processed. * Returned by processMessage to indicate the message was NOT processed. */ static final boolean NOT_HANDLED = false; Loading
core/java/com/android/internal/util/StateMachine.java +3 −3 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ import java.util.Vector; * in Object Oriented programming and are used to perform initialization and * cleanup of the state respectively. The <code>getName</code> method returns the * name of the state; the default implementation returns the class name. It may be * desirable to have <code>getName</code> return the the state instance name instead, * desirable to have <code>getName</code> return the state instance name instead, * in particular if a particular state class has multiple instances.</p> * * <p>When a state machine is created, <code>addState</code> is used to build the Loading Loading @@ -433,14 +433,14 @@ public class StateMachine { /** * Convenience constant that maybe returned by processMessage * to indicate the the message was processed and is not to be * to indicate the message was processed and is not to be * processed by parent states */ public static final boolean HANDLED = true; /** * Convenience constant that maybe returned by processMessage * to indicate the the message was NOT processed and is to be * to indicate the message was NOT processed and is to be * processed by parent states */ public static final boolean NOT_HANDLED = false; Loading
core/tests/utiltests/src/com/android/internal/util/StateMachineTest.java +39 −39 Original line number Diff line number Diff line Loading @@ -542,83 +542,83 @@ public class StateMachineTest extends TestCase { public void testStateMachineEnterExitTransitionToTest() throws Exception { //if (WAIT_FOR_DEBUGGER) Debug.waitForDebugger(); StateMachineEnterExitTransitionToTest smEnterExitTranstionToTest = new StateMachineEnterExitTransitionToTest("smEnterExitTranstionToTest"); smEnterExitTranstionToTest.start(); if (smEnterExitTranstionToTest.isDbg()) { StateMachineEnterExitTransitionToTest smEnterExitTransitionToTest = new StateMachineEnterExitTransitionToTest("smEnterExitTransitionToTest"); smEnterExitTransitionToTest.start(); if (smEnterExitTransitionToTest.isDbg()) { tlog("testStateMachineEnterExitTransitionToTest E"); } synchronized (smEnterExitTranstionToTest) { smEnterExitTranstionToTest.sendMessage(TEST_CMD_1); synchronized (smEnterExitTransitionToTest) { smEnterExitTransitionToTest.sendMessage(TEST_CMD_1); try { // wait for the messages to be handled smEnterExitTranstionToTest.wait(); smEnterExitTransitionToTest.wait(); } catch (InterruptedException e) { tloge("testStateMachineEnterExitTransitionToTest: exception while waiting " + e.getMessage()); } } dumpLogRecs(smEnterExitTranstionToTest); dumpLogRecs(smEnterExitTransitionToTest); assertEquals(9, smEnterExitTranstionToTest.getLogRecCount()); assertEquals(9, smEnterExitTransitionToTest.getLogRecCount()); LogRec lr; lr = smEnterExitTranstionToTest.getLogRec(0); lr = smEnterExitTransitionToTest.getLogRec(0); assertEquals(ENTER, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS1, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS1, lr.getState()); lr = smEnterExitTranstionToTest.getLogRec(1); lr = smEnterExitTransitionToTest.getLogRec(1); assertEquals(EXIT, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS1, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS1, lr.getState()); lr = smEnterExitTranstionToTest.getLogRec(2); lr = smEnterExitTransitionToTest.getLogRec(2); assertEquals(ENTER, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS2, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS2, lr.getState()); lr = smEnterExitTranstionToTest.getLogRec(3); lr = smEnterExitTransitionToTest.getLogRec(3); assertEquals(TEST_CMD_1, lr.getWhat()); assertEquals(smEnterExitTranstionToTest.mS2, lr.getState()); assertEquals(smEnterExitTranstionToTest.mS2, lr.getOriginalState()); assertEquals(smEnterExitTranstionToTest.mS3, lr.getDestState()); assertEquals(smEnterExitTransitionToTest.mS2, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS2, lr.getOriginalState()); assertEquals(smEnterExitTransitionToTest.mS3, lr.getDestState()); lr = smEnterExitTranstionToTest.getLogRec(4); lr = smEnterExitTransitionToTest.getLogRec(4); assertEquals(TEST_CMD_1, lr.getWhat()); assertEquals(smEnterExitTranstionToTest.mS2, lr.getState()); assertEquals(smEnterExitTranstionToTest.mS2, lr.getOriginalState()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getDestState()); assertEquals(smEnterExitTransitionToTest.mS2, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS2, lr.getOriginalState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getDestState()); assertEquals(EXIT, lr.getInfo()); lr = smEnterExitTranstionToTest.getLogRec(5); lr = smEnterExitTransitionToTest.getLogRec(5); assertEquals(TEST_CMD_1, lr.getWhat()); assertEquals(ENTER, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS3, lr.getState()); assertEquals(smEnterExitTranstionToTest.mS3, lr.getOriginalState()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getDestState()); assertEquals(smEnterExitTransitionToTest.mS3, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS3, lr.getOriginalState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getDestState()); lr = smEnterExitTranstionToTest.getLogRec(6); lr = smEnterExitTransitionToTest.getLogRec(6); assertEquals(TEST_CMD_1, lr.getWhat()); assertEquals(EXIT, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS3, lr.getState()); assertEquals(smEnterExitTranstionToTest.mS3, lr.getOriginalState()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getDestState()); assertEquals(smEnterExitTransitionToTest.mS3, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS3, lr.getOriginalState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getDestState()); lr = smEnterExitTranstionToTest.getLogRec(7); lr = smEnterExitTransitionToTest.getLogRec(7); assertEquals(TEST_CMD_1, lr.getWhat()); assertEquals(ENTER, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getState()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getOriginalState()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getDestState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getOriginalState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getDestState()); lr = smEnterExitTranstionToTest.getLogRec(8); lr = smEnterExitTransitionToTest.getLogRec(8); assertEquals(TEST_CMD_1, lr.getWhat()); assertEquals(EXIT, lr.getInfo()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getState()); assertEquals(smEnterExitTranstionToTest.mS4, lr.getOriginalState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getState()); assertEquals(smEnterExitTransitionToTest.mS4, lr.getOriginalState()); if (smEnterExitTranstionToTest.isDbg()) { if (smEnterExitTransitionToTest.isDbg()) { tlog("testStateMachineEnterExitTransitionToTest X"); } } Loading