Merge "create library for mainline module" am: c59870928e am: 26531301a0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1818896 Change-Id: Ic3137a8521f0cca651292a9a56cddde54a138ea7
This commit is contained in:
@@ -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 {
|
filegroup {
|
||||||
name: "framework-ims-common-shared-srcs",
|
name: "framework-ims-common-shared-srcs",
|
||||||
srcs: [
|
srcs: [
|
||||||
|
|||||||
@@ -27,12 +27,12 @@ import android.os.Message;
|
|||||||
public interface IState {
|
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;
|
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;
|
static final boolean NOT_HANDLED = false;
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ import java.util.Vector;
|
|||||||
* in Object Oriented programming and are used to perform initialization and
|
* in Object Oriented programming and are used to perform initialization and
|
||||||
* cleanup of the state respectively. The <code>getName</code> method returns the
|
* 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
|
* 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>
|
* 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
|
* <p>When a state machine is created, <code>addState</code> is used to build the
|
||||||
@@ -433,14 +433,14 @@ public class StateMachine {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Convenience constant that maybe returned by processMessage
|
* 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
|
* processed by parent states
|
||||||
*/
|
*/
|
||||||
public static final boolean HANDLED = true;
|
public static final boolean HANDLED = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convenience constant that maybe returned by processMessage
|
* 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
|
* processed by parent states
|
||||||
*/
|
*/
|
||||||
public static final boolean NOT_HANDLED = false;
|
public static final boolean NOT_HANDLED = false;
|
||||||
|
|||||||
@@ -542,83 +542,83 @@ public class StateMachineTest extends TestCase {
|
|||||||
public void testStateMachineEnterExitTransitionToTest() throws Exception {
|
public void testStateMachineEnterExitTransitionToTest() throws Exception {
|
||||||
//if (WAIT_FOR_DEBUGGER) Debug.waitForDebugger();
|
//if (WAIT_FOR_DEBUGGER) Debug.waitForDebugger();
|
||||||
|
|
||||||
StateMachineEnterExitTransitionToTest smEnterExitTranstionToTest =
|
StateMachineEnterExitTransitionToTest smEnterExitTransitionToTest =
|
||||||
new StateMachineEnterExitTransitionToTest("smEnterExitTranstionToTest");
|
new StateMachineEnterExitTransitionToTest("smEnterExitTransitionToTest");
|
||||||
smEnterExitTranstionToTest.start();
|
smEnterExitTransitionToTest.start();
|
||||||
if (smEnterExitTranstionToTest.isDbg()) {
|
if (smEnterExitTransitionToTest.isDbg()) {
|
||||||
tlog("testStateMachineEnterExitTransitionToTest E");
|
tlog("testStateMachineEnterExitTransitionToTest E");
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized (smEnterExitTranstionToTest) {
|
synchronized (smEnterExitTransitionToTest) {
|
||||||
smEnterExitTranstionToTest.sendMessage(TEST_CMD_1);
|
smEnterExitTransitionToTest.sendMessage(TEST_CMD_1);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// wait for the messages to be handled
|
// wait for the messages to be handled
|
||||||
smEnterExitTranstionToTest.wait();
|
smEnterExitTransitionToTest.wait();
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
tloge("testStateMachineEnterExitTransitionToTest: exception while waiting "
|
tloge("testStateMachineEnterExitTransitionToTest: exception while waiting "
|
||||||
+ e.getMessage());
|
+ e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dumpLogRecs(smEnterExitTranstionToTest);
|
dumpLogRecs(smEnterExitTransitionToTest);
|
||||||
|
|
||||||
assertEquals(9, smEnterExitTranstionToTest.getLogRecCount());
|
assertEquals(9, smEnterExitTransitionToTest.getLogRecCount());
|
||||||
LogRec lr;
|
LogRec lr;
|
||||||
|
|
||||||
lr = smEnterExitTranstionToTest.getLogRec(0);
|
lr = smEnterExitTransitionToTest.getLogRec(0);
|
||||||
assertEquals(ENTER, lr.getInfo());
|
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(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(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(TEST_CMD_1, lr.getWhat());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS2, lr.getState());
|
assertEquals(smEnterExitTransitionToTest.mS2, lr.getState());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS2, lr.getOriginalState());
|
assertEquals(smEnterExitTransitionToTest.mS2, lr.getOriginalState());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS3, lr.getDestState());
|
assertEquals(smEnterExitTransitionToTest.mS3, lr.getDestState());
|
||||||
|
|
||||||
lr = smEnterExitTranstionToTest.getLogRec(4);
|
lr = smEnterExitTransitionToTest.getLogRec(4);
|
||||||
assertEquals(TEST_CMD_1, lr.getWhat());
|
assertEquals(TEST_CMD_1, lr.getWhat());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS2, lr.getState());
|
assertEquals(smEnterExitTransitionToTest.mS2, lr.getState());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS2, lr.getOriginalState());
|
assertEquals(smEnterExitTransitionToTest.mS2, lr.getOriginalState());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS4, lr.getDestState());
|
assertEquals(smEnterExitTransitionToTest.mS4, lr.getDestState());
|
||||||
assertEquals(EXIT, lr.getInfo());
|
assertEquals(EXIT, lr.getInfo());
|
||||||
|
|
||||||
lr = smEnterExitTranstionToTest.getLogRec(5);
|
lr = smEnterExitTransitionToTest.getLogRec(5);
|
||||||
assertEquals(TEST_CMD_1, lr.getWhat());
|
assertEquals(TEST_CMD_1, lr.getWhat());
|
||||||
assertEquals(ENTER, lr.getInfo());
|
assertEquals(ENTER, lr.getInfo());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS3, lr.getState());
|
assertEquals(smEnterExitTransitionToTest.mS3, lr.getState());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS3, lr.getOriginalState());
|
assertEquals(smEnterExitTransitionToTest.mS3, lr.getOriginalState());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS4, lr.getDestState());
|
assertEquals(smEnterExitTransitionToTest.mS4, lr.getDestState());
|
||||||
|
|
||||||
lr = smEnterExitTranstionToTest.getLogRec(6);
|
lr = smEnterExitTransitionToTest.getLogRec(6);
|
||||||
assertEquals(TEST_CMD_1, lr.getWhat());
|
assertEquals(TEST_CMD_1, lr.getWhat());
|
||||||
assertEquals(EXIT, lr.getInfo());
|
assertEquals(EXIT, lr.getInfo());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS3, lr.getState());
|
assertEquals(smEnterExitTransitionToTest.mS3, lr.getState());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS3, lr.getOriginalState());
|
assertEquals(smEnterExitTransitionToTest.mS3, lr.getOriginalState());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS4, lr.getDestState());
|
assertEquals(smEnterExitTransitionToTest.mS4, lr.getDestState());
|
||||||
|
|
||||||
lr = smEnterExitTranstionToTest.getLogRec(7);
|
lr = smEnterExitTransitionToTest.getLogRec(7);
|
||||||
assertEquals(TEST_CMD_1, lr.getWhat());
|
assertEquals(TEST_CMD_1, lr.getWhat());
|
||||||
assertEquals(ENTER, lr.getInfo());
|
assertEquals(ENTER, lr.getInfo());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS4, lr.getState());
|
assertEquals(smEnterExitTransitionToTest.mS4, lr.getState());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS4, lr.getOriginalState());
|
assertEquals(smEnterExitTransitionToTest.mS4, lr.getOriginalState());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS4, lr.getDestState());
|
assertEquals(smEnterExitTransitionToTest.mS4, lr.getDestState());
|
||||||
|
|
||||||
lr = smEnterExitTranstionToTest.getLogRec(8);
|
lr = smEnterExitTransitionToTest.getLogRec(8);
|
||||||
assertEquals(TEST_CMD_1, lr.getWhat());
|
assertEquals(TEST_CMD_1, lr.getWhat());
|
||||||
assertEquals(EXIT, lr.getInfo());
|
assertEquals(EXIT, lr.getInfo());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS4, lr.getState());
|
assertEquals(smEnterExitTransitionToTest.mS4, lr.getState());
|
||||||
assertEquals(smEnterExitTranstionToTest.mS4, lr.getOriginalState());
|
assertEquals(smEnterExitTransitionToTest.mS4, lr.getOriginalState());
|
||||||
|
|
||||||
if (smEnterExitTranstionToTest.isDbg()) {
|
if (smEnterExitTransitionToTest.isDbg()) {
|
||||||
tlog("testStateMachineEnterExitTransitionToTest X");
|
tlog("testStateMachineEnterExitTransitionToTest X");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user