Merge "Add API to desktop mode to bring a desktop task to front" into udc-qpr-dev
This commit is contained in:
@@ -519,6 +519,11 @@ public class DesktopModeController implements RemoteCallable<DesktopModeControll
|
||||
controller -> controller.showDesktopApps(displayId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showDesktopApp(int taskId) throws RemoteException {
|
||||
// TODO
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getVisibleTaskCount(int displayId) throws RemoteException {
|
||||
int[] result = new int[1];
|
||||
|
||||
@@ -278,6 +278,11 @@ class DesktopTasksController(
|
||||
}
|
||||
}
|
||||
|
||||
/** Move a task to the front */
|
||||
fun moveTaskToFront(taskId: Int) {
|
||||
shellTaskOrganizer.getRunningTaskInfo(taskId)?.let { task -> moveTaskToFront(task) }
|
||||
}
|
||||
|
||||
/** Move a task to the front */
|
||||
fun moveTaskToFront(taskInfo: RunningTaskInfo) {
|
||||
KtProtoLog.v(
|
||||
@@ -795,6 +800,13 @@ class DesktopTasksController(
|
||||
) { c -> c.hideStashedDesktopApps(displayId) }
|
||||
}
|
||||
|
||||
override fun showDesktopApp(taskId: Int) {
|
||||
ExecutorUtils.executeRemoteCallWithTaskPermission(
|
||||
controller,
|
||||
"showDesktopApp"
|
||||
) { c -> c.moveTaskToFront(taskId) }
|
||||
}
|
||||
|
||||
override fun getVisibleTaskCount(displayId: Int): Int {
|
||||
val result = IntArray(1)
|
||||
ExecutorUtils.executeRemoteCallWithTaskPermission(
|
||||
|
||||
@@ -32,6 +32,9 @@ interface IDesktopMode {
|
||||
/** Hide apps that may be stashed */
|
||||
void hideStashedDesktopApps(int displayId);
|
||||
|
||||
/** Bring task with the given id to front */
|
||||
oneway void showDesktopApp(int taskId);
|
||||
|
||||
/** Get count of visible desktop tasks on the given display */
|
||||
int getVisibleTaskCount(int displayId);
|
||||
|
||||
|
||||
@@ -344,6 +344,18 @@ class DesktopTasksControllerTest : ShellTestCase() {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun moveTaskToFront_postsWctWithReorderOp() {
|
||||
val task1 = setUpFreeformTask()
|
||||
val task2 = setUpFreeformTask()
|
||||
|
||||
controller.moveTaskToFront(task1)
|
||||
|
||||
val wct = getLatestWct(expectTransition = TRANSIT_TO_FRONT)
|
||||
assertThat(wct.hierarchyOps).hasSize(1)
|
||||
wct.assertReorderAt(index = 0, task1)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun moveToNextDisplay_noOtherDisplays() {
|
||||
whenever(rootTaskDisplayAreaOrganizer.displayIds).thenReturn(intArrayOf(DEFAULT_DISPLAY))
|
||||
|
||||
Reference in New Issue
Block a user