androidx.test.runner.lifecycle.Stage Java Examples
The following examples show how to use
androidx.test.runner.lifecycle.Stage.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ActivityLifecycleMonitorImpl.java From android-test with Apache License 2.0 | 6 votes |
@Override public Collection<Activity> getActivitiesInStage(Stage stage) { checkMainThread(); checkNotNull(stage); List<Activity> activities = new ArrayList<Activity>(); Iterator<ActivityStatus> statusIterator = activityStatuses.iterator(); while (statusIterator.hasNext()) { ActivityStatus status = statusIterator.next(); Activity statusActivity = status.activityRef.get(); if (null == statusActivity) { statusIterator.remove(); } else if (stage == status.lifecycleStage) { activities.add(statusActivity); } } return activities; }
Example #2
Source File: AndroidJUnitRunnerLifeCycleTest.java From android-test with Apache License 2.0 | 6 votes |
@Suppress @UiThreadTest public void testOnStartStopCalled() { startActivity(new Intent(), null, null); // if we dont pair start/stop together the test runner will block until a timeout // occurs waiting for the activity to stop. getInstrumentation().callActivityOnStart(spiedActivity); assertThat(spiedActivity, isIn(monitor.getActivitiesInStage(Stage.STARTED))); assertThat(monitor.getLifecycleStageOf(spiedActivity), is(Stage.STARTED)); getInstrumentation().callActivityOnStop(spiedActivity); assertThat(spiedActivity, isIn(monitor.getActivitiesInStage(Stage.STOPPED))); assertThat(monitor.getLifecycleStageOf(spiedActivity), is(Stage.STOPPED)); InOrder order = inOrder(spiedActivity, callback); order.verify(spiedActivity).onStart(); order.verify(callback).onActivityLifecycleChanged(spiedActivity, Stage.STARTED); order.verify(spiedActivity).onStop(); order.verify(callback).onActivityLifecycleChanged(spiedActivity, Stage.STOPPED); }
Example #3
Source File: MonitoringInstrumentation.java From android-test with Apache License 2.0 | 6 votes |
@Override public void run() { List<Activity> activities = new ArrayList<>(); for (Stage s : EnumSet.range(Stage.CREATED, Stage.STOPPED)) { activities.addAll(lifecycleMonitor.getActivitiesInStage(s)); } if (activities.size() > 0) { Log.i(TAG, "Activities that are still in CREATED to STOPPED: " + activities.size()); } for (Activity activity : activities) { if (!activity.isFinishing()) { try { Log.i(TAG, "Finishing activity: " + activity); activity.finish(); } catch (RuntimeException e) { Log.e(TAG, "Failed to finish activity.", e); } } } }
Example #4
Source File: ActivityLifecycleMonitorImplTest.java From android-test with Apache License 2.0 | 6 votes |
@Test public void testAddRemoveListener() { ActivityLifecycleCallback callback = mock(ActivityLifecycleCallback.class); // multiple adds should only register once. monitor.addLifecycleCallback(callback); monitor.addLifecycleCallback(callback); monitor.addLifecycleCallback(callback); monitor.signalLifecycleChange(Stage.CREATED, activity); monitor.signalLifecycleChange(Stage.STARTED, activity); // multiple removes should no-op. monitor.removeLifecycleCallback(callback); monitor.removeLifecycleCallback(callback); monitor.signalLifecycleChange(Stage.DESTROYED, activity); verify(callback).onActivityLifecycleChanged(activity, Stage.CREATED); verify(callback).onActivityLifecycleChanged(activity, Stage.STARTED); verify(callback, never()).onActivityLifecycleChanged(activity, Stage.DESTROYED); }
Example #5
Source File: ActivityLifecycleMonitorImpl.java From android-test with Apache License 2.0 | 6 votes |
@Override public Stage getLifecycleStageOf(Activity activity) { checkMainThread(); checkNotNull(activity); Iterator<ActivityStatus> statusIterator = activityStatuses.iterator(); while (statusIterator.hasNext()) { ActivityStatus status = statusIterator.next(); Activity statusActivity = status.activityRef.get(); if (null == statusActivity) { statusIterator.remove(); } else if (activity == statusActivity) { return status.lifecycleStage; } } throw new IllegalArgumentException("Unknown activity: " + activity); }
Example #6
Source File: RootMatchers.java From android-test with Apache License 2.0 | 6 votes |
private static List<IBinder> getResumedActivityTokens() { ActivityLifecycleMonitor activityLifecycleMonitor = ActivityLifecycleMonitorRegistry.getInstance(); Collection<Activity> resumedActivities = activityLifecycleMonitor.getActivitiesInStage(Stage.RESUMED); if (resumedActivities.isEmpty()) { Log.w( TAG, "suppressed: NoActivityResumedException(\"At least one activity should" + " be in RESUMED stage.\""); } List<IBinder> tokens = Lists.newArrayList(); for (Activity activity : resumedActivities) { tokens.add(activity.getWindow().getDecorView().getApplicationWindowToken()); } return tokens; }
Example #7
Source File: ActivityScenarioRuleWithCustomIntentTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void recreateActivityShouldWork() throws Exception { activityScenarioRule.getScenario().recreate(); activityScenarioRule .getScenario() .onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.RESUMED); assertThat(activity.getNumberOfRecreations()).isEqualTo(1); assertThat(activity.getIntent()) .extras() .string("MyIntentParameterKey") .isEqualTo("MyIntentParameterValue"); }); }
Example #8
Source File: ActivityTestRule.java From android-test with Apache License 2.0 | 5 votes |
@Override public void onActivityLifecycleChanged(Activity activity, Stage stage) { if (activityClass.isInstance(activity)) { if (Stage.RESUMED == stage) { ActivityTestRule.this.activity = makeWeakReference(activityClass.cast(activity)); } else if (Stage.PAUSED == stage) { // If there is an activity result we save it if (activity.isFinishing() && activityResult != null) { setActivityResultForActivity(activityClass.cast(activity)); } } } }
Example #9
Source File: ActivityScenarioRuleTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void recreateActivityShouldWork() throws Exception { activityScenarioRule.getScenario().recreate(); activityScenarioRule .getScenario() .onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.RESUMED); assertThat(activity.getNumberOfRecreations()).isEqualTo(1); }); }
Example #10
Source File: MonitoringInstrumentation.java From android-test with Apache License 2.0 | 5 votes |
@Override public void callActivityOnStop(Activity activity) { try { super.callActivityOnStop(activity); lifecycleMonitor.signalLifecycleChange(Stage.STOPPED, activity); } finally { startedActivityCounter.decrementAndGet(); } }
Example #11
Source File: ActivityScenarioRuleTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void activityShouldBeResumedAutomatically() throws Exception { activityScenarioRule .getScenario() .onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.RESUMED); assertThat(activity.getNumberOfRecreations()).isEqualTo(0); }); }
Example #12
Source File: ActivityScenarioRuleWithCustomIntentTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void activityShouldBeResumedAutomatically() throws Exception { activityScenarioRule .getScenario() .onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.RESUMED); assertThat(activity.getNumberOfRecreations()).isEqualTo(0); assertThat(activity.getIntent()) .extras() .string("MyIntentParameterKey") .isEqualTo("MyIntentParameterValue"); }); }
Example #13
Source File: CloseKeyboardAction.java From android-test with Apache License 2.0 | 5 votes |
private static Activity getRootActivity(UiController uiController) { Collection<Activity> resumedActivities = ActivityLifecycleMonitorRegistry.getInstance().getActivitiesInStage(Stage.RESUMED); if (resumedActivities.isEmpty()) { uiController.loopMainThreadUntilIdle(); resumedActivities = ActivityLifecycleMonitorRegistry.getInstance().getActivitiesInStage(Stage.RESUMED); } checkState( resumedActivities.size() == 1, "More than one activity is in RESUMED stage." + " There may have been an error during the activity creation/startup process," + " please check your logs."); return getOnlyElement(resumedActivities); }
Example #14
Source File: ActivityScenarioTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void recreateResumedActivity() throws Exception { try (ActivityScenario<RecreationRecordingActivity> scenario = ActivityScenario.launch(RecreationRecordingActivity.class)) { scenario.recreate(); assertThat(scenario.getState()).isEqualTo(State.RESUMED); scenario.onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.RESUMED); assertThat(activity.getNumberOfRecreations()).isEqualTo(1); }); } }
Example #15
Source File: ActivityScenarioTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void recreateStartedActivity() throws Exception { try (ActivityScenario<RecreationRecordingActivity> scenario = ActivityScenario.launch(RecreationRecordingActivity.class)) { scenario.moveToState(State.STARTED); scenario.recreate(); assertThat(scenario.getState()).isEqualTo(State.STARTED); scenario.onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.PAUSED); assertThat(activity.getNumberOfRecreations()).isEqualTo(1); }); } }
Example #16
Source File: ActivityScenarioTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void recreateCreatedActivity() throws Exception { try (ActivityScenario<RecreationRecordingActivity> scenario = ActivityScenario.launch(RecreationRecordingActivity.class)) { scenario.moveToState(State.CREATED); scenario.recreate(); assertThat(scenario.getState()).isEqualTo(State.CREATED); scenario.onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.STOPPED); assertThat(activity.getNumberOfRecreations()).isEqualTo(1); }); } }
Example #17
Source File: RootViewPicker.java From android-test with Apache License 2.0 | 5 votes |
/** Returns the list of all non-destroyed activities. */ private List<Activity> getAllActiveActivities() { List<Activity> activities = Lists.newArrayList(); for (Stage s : EnumSet.range(Stage.PRE_ON_CREATE, Stage.RESTARTED)) { activities.addAll(activityLifecycleMonitor.getActivitiesInStage(s)); } return activities; }
Example #18
Source File: MonitoringInstrumentation.java From android-test with Apache License 2.0 | 5 votes |
@Override public void callActivityOnStart(Activity activity) { startedActivityCounter.incrementAndGet(); try { super.callActivityOnStart(activity); lifecycleMonitor.signalLifecycleChange(Stage.STARTED, activity); } catch (RuntimeException re) { startedActivityCounter.decrementAndGet(); throw re; } }
Example #19
Source File: AndroidJUnitRunnerLifeCycleTest.java From android-test with Apache License 2.0 | 5 votes |
@UiThreadTest public void testOnDestroyCalled() { startActivity(new Intent(), null, null); getInstrumentation().callActivityOnDestroy(spiedActivity); assertThat(spiedActivity, isIn(monitor.getActivitiesInStage(Stage.DESTROYED))); assertThat(monitor.getLifecycleStageOf(spiedActivity), is(Stage.DESTROYED)); InOrder order = inOrder(spiedActivity, callback); order.verify(spiedActivity).onDestroy(); order.verify(callback).onActivityLifecycleChanged(spiedActivity, Stage.DESTROYED); }
Example #20
Source File: ActivityScenarioTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void fromStartedToResumed() throws Exception { try (ActivityScenario<RecreationRecordingActivity> scenario = ActivityScenario.launch(RecreationRecordingActivity.class)) { scenario.moveToState(State.STARTED); scenario.moveToState(State.RESUMED); assertThat(scenario.getState()).isEqualTo(State.RESUMED); scenario.onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.RESUMED); assertThat(activity.getNumberOfRecreations()).isEqualTo(0); }); } }
Example #21
Source File: ActivityScenarioTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void fromStartedToStarted() throws Exception { try (ActivityScenario<RecreationRecordingActivity> scenario = ActivityScenario.launch(RecreationRecordingActivity.class)) { scenario.moveToState(State.STARTED); scenario.moveToState(State.STARTED); assertThat(scenario.getState()).isEqualTo(State.STARTED); scenario.onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.PAUSED); assertThat(activity.getNumberOfRecreations()).isEqualTo(0); }); } }
Example #22
Source File: ActivityScenarioTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void fromStartedToCreated() throws Exception { try (ActivityScenario<RecreationRecordingActivity> scenario = ActivityScenario.launch(RecreationRecordingActivity.class)) { scenario.moveToState(State.STARTED); scenario.moveToState(State.CREATED); assertThat(scenario.getState()).isEqualTo(State.CREATED); scenario.onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.STOPPED); assertThat(activity.getNumberOfRecreations()).isEqualTo(0); }); } }
Example #23
Source File: ActivityScenarioTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void fromCreatedToResumed() throws Exception { try (ActivityScenario<RecreationRecordingActivity> scenario = ActivityScenario.launch(RecreationRecordingActivity.class)) { scenario.moveToState(State.CREATED); scenario.moveToState(State.RESUMED); assertThat(scenario.getState()).isEqualTo(State.RESUMED); scenario.onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.RESUMED); assertThat(activity.getNumberOfRecreations()).isEqualTo(0); }); } }
Example #24
Source File: ActivityScenarioTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void fromCreatedToStarted() throws Exception { try (ActivityScenario<RecreationRecordingActivity> scenario = ActivityScenario.launch(RecreationRecordingActivity.class)) { scenario.moveToState(State.CREATED); scenario.moveToState(State.STARTED); assertThat(scenario.getState()).isEqualTo(State.STARTED); scenario.onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.PAUSED); assertThat(activity.getNumberOfRecreations()).isEqualTo(0); }); } }
Example #25
Source File: ActivityScenarioTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void fromCreatedToCreated() throws Exception { try (ActivityScenario<RecreationRecordingActivity> scenario = ActivityScenario.launch(RecreationRecordingActivity.class)) { scenario.moveToState(State.CREATED); scenario.moveToState(State.CREATED); assertThat(scenario.getState()).isEqualTo(State.CREATED); scenario.onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.STOPPED); assertThat(activity.getNumberOfRecreations()).isEqualTo(0); }); } }
Example #26
Source File: ActivityScenarioTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void fromResumedToResumed() throws Exception { try (ActivityScenario<RecreationRecordingActivity> scenario = ActivityScenario.launch(RecreationRecordingActivity.class)) { scenario.moveToState(State.RESUMED); assertThat(scenario.getState()).isEqualTo(State.RESUMED); scenario.onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.RESUMED); assertThat(activity.getNumberOfRecreations()).isEqualTo(0); }); } }
Example #27
Source File: ActivityScenarioTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void fromResumedToStarted() throws Exception { try (ActivityScenario<RecreationRecordingActivity> scenario = ActivityScenario.launch(RecreationRecordingActivity.class)) { scenario.moveToState(State.STARTED); assertThat(scenario.getState()).isEqualTo(State.STARTED); scenario.onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.PAUSED); assertThat(activity.getNumberOfRecreations()).isEqualTo(0); }); } }
Example #28
Source File: ActivityScenarioTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void fromResumedToCreated() throws Exception { try (ActivityScenario<RecreationRecordingActivity> scenario = ActivityScenario.launch(RecreationRecordingActivity.class)) { scenario.moveToState(State.CREATED); assertThat(scenario.getState()).isEqualTo(State.CREATED); scenario.onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.STOPPED); assertThat(activity.getNumberOfRecreations()).isEqualTo(0); }); } }
Example #29
Source File: InstrumentationActivityInvoker.java From android-test with Apache License 2.0 | 5 votes |
private static void checkActivityStageIsIn(Activity activity, Set<Stage> expected) { getInstrumentation() .runOnMainSync( () -> { Stage stage = ActivityLifecycleMonitorRegistry.getInstance().getLifecycleStageOf(activity); checkState( expected.contains(stage), "Activity's stage must be %s but was %s", expected, stage); }); }
Example #30
Source File: ActivityScenarioTest.java From android-test with Apache License 2.0 | 5 votes |
@Test public void launchedActivityShouldBeResumed() throws Exception { try (ActivityScenario<RecreationRecordingActivity> scenario = ActivityScenario.launch(RecreationRecordingActivity.class)) { assertThat(scenario.getState()).isEqualTo(State.RESUMED); scenario.onActivity( activity -> { assertThat(lastLifeCycleTransition(activity)).isEqualTo(Stage.RESUMED); assertThat(activity.getNumberOfRecreations()).isEqualTo(0); }); } }