Merge "Do not start another transition from handleRequest" into udc-dev am: 1ad609b5b0
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22187959 Change-Id: I9a97b8ddc4d64deac31f9d9c250fb7e76b6a421a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -41,7 +41,6 @@ import android.os.RemoteException;
|
|||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
import android.util.Pair;
|
|
||||||
import android.view.SurfaceControl;
|
import android.view.SurfaceControl;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.window.DisplayAreaInfo;
|
import android.window.DisplayAreaInfo;
|
||||||
@@ -364,10 +363,7 @@ public class DesktopModeController implements RemoteCallable<DesktopModeControll
|
|||||||
}
|
}
|
||||||
ProtoLog.d(WM_SHELL_DESKTOP_MODE, "handle shell transition request: %s", request);
|
ProtoLog.d(WM_SHELL_DESKTOP_MODE, "handle shell transition request: %s", request);
|
||||||
|
|
||||||
Pair<Transitions.TransitionHandler, WindowContainerTransaction> subHandler =
|
WindowContainerTransaction wct = new WindowContainerTransaction();
|
||||||
mTransitions.dispatchRequest(transition, request, this);
|
|
||||||
WindowContainerTransaction wct = subHandler != null
|
|
||||||
? subHandler.second : new WindowContainerTransaction();
|
|
||||||
bringDesktopAppsToFront(wct);
|
bringDesktopAppsToFront(wct);
|
||||||
wct.reorder(request.getTriggerTask().token, true /* onTop */);
|
wct.reorder(request.getTriggerTask().token, true /* onTop */);
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import static org.mockito.Mockito.clearInvocations;
|
|||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.never;
|
import static org.mockito.Mockito.never;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
|
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.app.ActivityManager.RunningTaskInfo;
|
import android.app.ActivityManager.RunningTaskInfo;
|
||||||
@@ -418,6 +419,17 @@ public class DesktopModeControllerTest extends ShellTestCase {
|
|||||||
assertThat(wct).isNotNull();
|
assertThat(wct).isNotNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testHandleTransitionRequest_taskOpen_doesNotStartAnotherTransition() {
|
||||||
|
RunningTaskInfo trigger = new RunningTaskInfo();
|
||||||
|
trigger.token = new MockToken().token();
|
||||||
|
trigger.configuration.windowConfiguration.setWindowingMode(WINDOWING_MODE_FREEFORM);
|
||||||
|
mController.handleRequest(
|
||||||
|
mock(IBinder.class),
|
||||||
|
new TransitionRequestInfo(TRANSIT_OPEN, trigger, null /* remote */));
|
||||||
|
verifyZeroInteractions(mTransitions);
|
||||||
|
}
|
||||||
|
|
||||||
private DesktopModeController createController() {
|
private DesktopModeController createController() {
|
||||||
return new DesktopModeController(mContext, mShellInit, mShellController,
|
return new DesktopModeController(mContext, mShellInit, mShellController,
|
||||||
mShellTaskOrganizer, mRootTaskDisplayAreaOrganizer, mTransitions,
|
mShellTaskOrganizer, mRootTaskDisplayAreaOrganizer, mTransitions,
|
||||||
|
|||||||
Reference in New Issue
Block a user