diff options
| author | 2019-02-04 17:38:33 +0000 | |
|---|---|---|
| committer | 2019-02-04 17:38:33 +0000 | |
| commit | ccf67cd8f31bc977acb678a8b05f492d83d9a3b8 (patch) | |
| tree | f0bf75351eff75ccc34b77cf56c96c55dd550ca0 | |
| parent | af41d5f7bde649305d20b7d179755acb916ed3ce (diff) | |
| parent | 4026330eec34d8f71995cc93ed0fe5d985bbd88a (diff) | |
Merge "Verify config push to launchTaskBehind activities."
| -rw-r--r-- | services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java index f1506a0ebc22..192915fe903c 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java @@ -379,4 +379,39 @@ public class ActivityRecordTests extends ActivityTestsBase { mSupervisor.endDeferResume(); assertEquals(true, mActivity.shouldMakeActive(null /* activeActivity */)); } + + @Test + public void testPushConfigurationWhenLaunchTaskBehind() throws Exception { + mActivity.setState(ActivityStack.ActivityState.STOPPED, "Testing"); + + final TestActivityStack stack = (TestActivityStack) new StackBuilder(mRootActivityContainer) + .build(); + try { + stack.setIsTranslucent(false); + assertFalse(mStack.shouldBeVisible(null /* starting */)); + + mTask.onRequestedOverrideConfigurationChanged(mTask.getConfiguration()); + mActivity.setLastReportedConfiguration(new MergedConfiguration(new Configuration(), + mActivity.getConfiguration())); + + mActivity.mLaunchTaskBehind = true; + mActivity.info.configChanges |= ActivityInfo.CONFIG_ORIENTATION; + final Configuration newConfig = new Configuration(mActivity.getConfiguration()); + newConfig.orientation = newConfig.orientation == Configuration.ORIENTATION_PORTRAIT + ? Configuration.ORIENTATION_LANDSCAPE + : Configuration.ORIENTATION_PORTRAIT; + + mTask.onConfigurationChanged(newConfig); + + mActivity.ensureActivityConfiguration(0 /* globalChanges */, + false /* preserveWindow */, true /* ignoreStopState */); + + final ActivityConfigurationChangeItem expected = + ActivityConfigurationChangeItem.obtain(newConfig); + verify(mService.getLifecycleManager()).scheduleTransaction( + eq(mActivity.app.getThread()), eq(mActivity.appToken), eq(expected)); + } finally { + stack.getDisplay().removeChild(stack); + } + } } |