Merge "Simplify the activity lifecycle from START to STOP"
This commit is contained in:
committed by
Android (Google) Code Review
commit
64259a3b43
@@ -75,9 +75,15 @@ public class TransactionExecutorHelper {
|
||||
|
||||
mLifecycleSequence.clear();
|
||||
if (finish >= start) {
|
||||
// just go there
|
||||
for (int i = start + 1; i <= finish; i++) {
|
||||
mLifecycleSequence.add(i);
|
||||
if (start == ON_START && finish == ON_STOP) {
|
||||
// A case when we from start to stop state soon, we don't need to go
|
||||
// through the resumed, paused state.
|
||||
mLifecycleSequence.add(ON_STOP);
|
||||
} else {
|
||||
// just go there
|
||||
for (int i = start + 1; i <= finish; i++) {
|
||||
mLifecycleSequence.add(i);
|
||||
}
|
||||
}
|
||||
} else { // finish < start, can't just cycle down
|
||||
if (start == ON_PAUSE && finish == ON_RESUME) {
|
||||
|
||||
@@ -124,7 +124,7 @@ public class TransactionExecutorTests {
|
||||
assertArrayEquals(new int[] {}, path(ON_START));
|
||||
assertArrayEquals(new int[] {ON_RESUME}, path(ON_RESUME));
|
||||
assertArrayEquals(new int[] {ON_RESUME, ON_PAUSE}, path(ON_PAUSE));
|
||||
assertArrayEquals(new int[] {ON_RESUME, ON_PAUSE, ON_STOP}, path(ON_STOP));
|
||||
assertArrayEquals(new int[] {ON_STOP}, path(ON_STOP));
|
||||
assertArrayEquals(new int[] {ON_RESUME, ON_PAUSE, ON_STOP, ON_DESTROY}, path(ON_DESTROY));
|
||||
}
|
||||
|
||||
@@ -362,7 +362,9 @@ public class TransactionExecutorTests {
|
||||
public void testClosestStateResolutionFromOnStart() {
|
||||
mClientRecord.setState(ON_START);
|
||||
assertEquals(ON_RESUME, mExecutorHelper.getClosestOfStates(mClientRecord, shuffledArray(
|
||||
new int[] {ON_CREATE, ON_RESUME, ON_PAUSE, ON_STOP, ON_DESTROY})));
|
||||
new int[] {ON_CREATE, ON_RESUME, ON_PAUSE, ON_DESTROY})));
|
||||
assertEquals(ON_STOP, mExecutorHelper.getClosestOfStates(mClientRecord, shuffledArray(
|
||||
new int[] {ON_STOP})));
|
||||
assertEquals(ON_CREATE, mExecutorHelper.getClosestOfStates(mClientRecord, shuffledArray(
|
||||
new int[] {ON_CREATE})));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user