* | |
* init() start() | auto auto stop() |
* NEW ->-- INITIALIZED -->-- STARTING_PREP -->- STARTING -->- STARTED -->--- |
- * | | ^ | | |
- * | | start() | | | |
- * | ----------->-------------------- | | |
- * | | | |
- * | auto auto | | |
- * |stop() ---------<----- MUST_STOP ---------------------<-- | |
- * | | | |
- * | ---------------------------<-------------------------------- ^
- * | | |
- * | | auto auto start() |
- * | STOPPING_PREP ------>----- STOPPING ------>----- STOPPED ---->------
- * | ^ | | ^
- * | | auto | | |
- * | |stop() MUST_DESTROY------<------- | |
- * | | | | |
- * | | |auto | |
- * | | destroy() \|/ destroy() | |
- * | FAILED ---->------ DESTROYED ----<----------------- |
+ * ||| ^ | | |
+ * ||| start() | | | |
+ * ||----------->-------------------- | | |
+ * || | | |
+ * |--- auto auto | | |
+ * | | ---------<----- MUST_STOP ---------------------<-- | |
+ * | | | | |
+ * | | ---------------------------<-------------------------------- ^
+ * | | | |
+ * | | | auto auto start() |
+ * | | STOPPING_PREP ------>----- STOPPING ------>----- STOPPED ---->------
+ * | | ^ | | ^
+ * | | | auto | | |
+ * | | |stop() MUST_DESTROY------<------- | |
+ * | | | | | |
+ * | | | |auto | |
+ * | | | destroy() \|/ destroy() | |
+ * | | FAILED ---->------ DESTROYED ----<----------------- |
+ * | | ^ |
+ * | | destroy() | |
+ * | ------------------------------- |
* | |
+ * | stop() |
* --->------------------------------>------------------------------
*
* Any state can transition to FAILED.
}
if (!state.equals(LifecycleState.STOPPED) &&
- !state.equals(LifecycleState.FAILED)) {
+ !state.equals(LifecycleState.FAILED) &&
+ !state.equals(LifecycleState.NEW)) {
invalidTransition(Lifecycle.DESTROY_EVENT);
}