Loading services/core/java/com/android/server/wm/TaskFragmentOrganizerController.java +2 −0 Original line number Diff line number Diff line Loading @@ -470,6 +470,8 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr .setException(exception) .build(); mPendingTaskFragmentEvents.add(pendingEvent); // Make sure the error event will be dispatched if there are no other changes. mAtmService.mWindowManager.mWindowPlacerLocked.requestTraversal(); } void onActivityReparentToTask(ActivityRecord activity) { Loading services/core/java/com/android/server/wm/WindowOrganizerController.java +1 −1 Original line number Diff line number Diff line Loading @@ -525,7 +525,7 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub } } if ((effects & TRANSACT_EFFECTS_CLIENT_CONFIG) == 0) { if ((effects & TRANSACT_EFFECTS_CLIENT_CONFIG) != 0) { mService.addWindowLayoutReasons(LAYOUT_REASON_CONFIG_CHANGED); } } finally { Loading services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java +4 −2 Original line number Diff line number Diff line Loading @@ -922,13 +922,14 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { .build(); doReturn(true).when(mTaskFragment).isAllowedToEmbedActivity(activity); mWindowOrganizerController.mLaunchTaskFragments.put(mFragmentToken, mTaskFragment); clearInvocations(mAtm.mRootWindowContainer); // Reparent activity to mTaskFragment, which is smaller than activity's // minimum dimensions. mTransaction.reparentActivityToTaskFragment(mFragmentToken, activity.token) .setErrorCallbackToken(mErrorToken); mWindowOrganizerController.applyTransaction(mTransaction); // The pending event will be dispatched on the handler (from requestTraversal). waitHandlerIdle(mWm.mAnimationHandler); verify(mOrganizer).onTaskFragmentError(eq(mErrorToken), any(SecurityException.class)); } Loading Loading @@ -958,7 +959,6 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { doReturn(true).when(mTaskFragment).isAllowedToEmbedActivity(activity); mWindowOrganizerController.mLaunchTaskFragments.put(oldFragToken, oldTaskFrag); mWindowOrganizerController.mLaunchTaskFragments.put(mFragmentToken, mTaskFragment); clearInvocations(mAtm.mRootWindowContainer); // Reparent oldTaskFrag's children to mTaskFragment, which is smaller than activity's // minimum dimensions. Loading @@ -966,6 +966,8 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { mTaskFragment.mRemoteToken.toWindowContainerToken()) .setErrorCallbackToken(mErrorToken); mWindowOrganizerController.applyTransaction(mTransaction); // The pending event will be dispatched on the handler (from requestTraversal). waitHandlerIdle(mWm.mAnimationHandler); verify(mOrganizer).onTaskFragmentError(eq(mErrorToken), any(SecurityException.class)); } Loading Loading
services/core/java/com/android/server/wm/TaskFragmentOrganizerController.java +2 −0 Original line number Diff line number Diff line Loading @@ -470,6 +470,8 @@ public class TaskFragmentOrganizerController extends ITaskFragmentOrganizerContr .setException(exception) .build(); mPendingTaskFragmentEvents.add(pendingEvent); // Make sure the error event will be dispatched if there are no other changes. mAtmService.mWindowManager.mWindowPlacerLocked.requestTraversal(); } void onActivityReparentToTask(ActivityRecord activity) { Loading
services/core/java/com/android/server/wm/WindowOrganizerController.java +1 −1 Original line number Diff line number Diff line Loading @@ -525,7 +525,7 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub } } if ((effects & TRANSACT_EFFECTS_CLIENT_CONFIG) == 0) { if ((effects & TRANSACT_EFFECTS_CLIENT_CONFIG) != 0) { mService.addWindowLayoutReasons(LAYOUT_REASON_CONFIG_CHANGED); } } finally { Loading
services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java +4 −2 Original line number Diff line number Diff line Loading @@ -922,13 +922,14 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { .build(); doReturn(true).when(mTaskFragment).isAllowedToEmbedActivity(activity); mWindowOrganizerController.mLaunchTaskFragments.put(mFragmentToken, mTaskFragment); clearInvocations(mAtm.mRootWindowContainer); // Reparent activity to mTaskFragment, which is smaller than activity's // minimum dimensions. mTransaction.reparentActivityToTaskFragment(mFragmentToken, activity.token) .setErrorCallbackToken(mErrorToken); mWindowOrganizerController.applyTransaction(mTransaction); // The pending event will be dispatched on the handler (from requestTraversal). waitHandlerIdle(mWm.mAnimationHandler); verify(mOrganizer).onTaskFragmentError(eq(mErrorToken), any(SecurityException.class)); } Loading Loading @@ -958,7 +959,6 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { doReturn(true).when(mTaskFragment).isAllowedToEmbedActivity(activity); mWindowOrganizerController.mLaunchTaskFragments.put(oldFragToken, oldTaskFrag); mWindowOrganizerController.mLaunchTaskFragments.put(mFragmentToken, mTaskFragment); clearInvocations(mAtm.mRootWindowContainer); // Reparent oldTaskFrag's children to mTaskFragment, which is smaller than activity's // minimum dimensions. Loading @@ -966,6 +966,8 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { mTaskFragment.mRemoteToken.toWindowContainerToken()) .setErrorCallbackToken(mErrorToken); mWindowOrganizerController.applyTransaction(mTransaction); // The pending event will be dispatched on the handler (from requestTraversal). waitHandlerIdle(mWm.mAnimationHandler); verify(mOrganizer).onTaskFragmentError(eq(mErrorToken), any(SecurityException.class)); } Loading