Loading libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/FakeBubbleTaskViewFactory.kt +2 −3 Original line number Diff line number Diff line Loading @@ -20,8 +20,8 @@ import android.app.ActivityManager import android.content.Context import com.android.wm.shell.common.ShellExecutor import com.android.wm.shell.taskview.TaskView import com.android.wm.shell.taskview.TaskViewController import com.android.wm.shell.taskview.TaskViewTaskController import com.android.wm.shell.taskview.TaskViewTransitions import org.mockito.kotlin.mock import org.mockito.kotlin.whenever Loading @@ -33,9 +33,8 @@ class FakeBubbleTaskViewFactory( private val mainExecutor: ShellExecutor, ) : BubbleTaskViewFactory { override fun create(): BubbleTaskView { val taskViewTransitions = mock<TaskViewTransitions>() val taskViewTaskController = mock<TaskViewTaskController>() val taskView = TaskView(context, taskViewTransitions, taskViewTaskController) val taskView = TaskView(context, mock<TaskViewController>(), taskViewTaskController) val taskInfo = mock<ActivityManager.RunningTaskInfo>() whenever(taskViewTaskController.taskInfo).thenReturn(taskInfo) return BubbleTaskView(taskView, mainExecutor) Loading libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/bar/BubbleBarAnimationHelperTest.kt +11 −11 Original line number Diff line number Diff line Loading @@ -47,8 +47,8 @@ import com.android.wm.shell.bubbles.FakeBubbleExpandedViewManager import com.android.wm.shell.bubbles.FakeBubbleFactory import com.android.wm.shell.common.TestShellExecutor import com.android.wm.shell.taskview.TaskView import com.android.wm.shell.taskview.TaskViewController import com.android.wm.shell.taskview.TaskViewTaskController import com.android.wm.shell.taskview.TaskViewTransitions import com.google.common.truth.Truth.assertThat import java.util.concurrent.Semaphore import java.util.concurrent.TimeUnit Loading Loading @@ -167,8 +167,8 @@ class BubbleBarAnimationHelperTest { fun animateSwitch_bubbleToBubble_updateTaskBounds() { val fromBubble = createBubble("from").initialize(container) val toBubbleTaskController = mock<TaskViewTaskController>() val taskTransitions = mock<TaskViewTransitions>() val toBubble = createBubble("to", taskTransitions, toBubbleTaskController).initialize( val taskController = mock<TaskViewController>() val toBubble = createBubble("to", taskController, toBubbleTaskController).initialize( container) activityScenario.onActivity { Loading @@ -178,11 +178,11 @@ class BubbleBarAnimationHelperTest { } getInstrumentation().waitForIdleSync() // Clear invocations to ensure that bounds update happens after animation ends clearInvocations(taskTransitions) clearInvocations(taskController) getInstrumentation().runOnMainSync { animatorTestRule.advanceTimeBy(900) } getInstrumentation().waitForIdleSync() verify(taskTransitions).setTaskBounds(eq(toBubbleTaskController), any()) verify(taskController).setTaskBounds(eq(toBubbleTaskController), any()) } @Test Loading Loading @@ -234,8 +234,8 @@ class BubbleBarAnimationHelperTest { @Test fun animateToRestPosition_updateTaskBounds() { val taskView = mock<TaskViewTaskController>() val tvTransitions = mock<TaskViewTransitions>() val bubble = createBubble("key", tvTransitions, taskView).initialize(container) val controller = mock<TaskViewController>() val bubble = createBubble("key", controller, taskView).initialize(container) val semaphore = Semaphore(0) val after = Runnable { semaphore.release() } Loading @@ -252,11 +252,11 @@ class BubbleBarAnimationHelperTest { animatorTestRule.advanceTimeBy(100) } // Clear invocations to ensure that bounds update happens after animation ends clearInvocations(tvTransitions) clearInvocations(controller) getInstrumentation().runOnMainSync { animatorTestRule.advanceTimeBy(900) } getInstrumentation().waitForIdleSync() verify(tvTransitions).setTaskBounds(eq(taskView), any()) verify(controller).setTaskBounds(eq(taskView), any()) } @Test Loading Loading @@ -334,10 +334,10 @@ class BubbleBarAnimationHelperTest { private fun createBubble( key: String, taskViewTransitions: TaskViewTransitions = mock<TaskViewTransitions>(), taskViewController: TaskViewController = mock<TaskViewController>(), taskViewTaskController: TaskViewTaskController = mock<TaskViewTaskController>(), ): Bubble { val taskView = TaskView(context, taskViewTransitions, taskViewTaskController) val taskView = TaskView(context, taskViewController, taskViewTaskController) val taskInfo = mock<ActivityManager.RunningTaskInfo>() whenever(taskViewTaskController.taskInfo).thenReturn(taskInfo) val bubbleTaskView = BubbleTaskView(taskView, mainExecutor) Loading libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/bar/BubbleBarExpandedViewTest.kt +2 −2 Original line number Diff line number Diff line Loading @@ -46,8 +46,8 @@ import com.android.wm.shell.bubbles.UiEventSubject.Companion.assertThat import com.android.wm.shell.common.TestShellExecutor import com.android.wm.shell.shared.handles.RegionSamplingHelper import com.android.wm.shell.taskview.TaskView import com.android.wm.shell.taskview.TaskViewController import com.android.wm.shell.taskview.TaskViewTaskController import com.android.wm.shell.taskview.TaskViewTransitions import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertWithMessage import com.google.common.util.concurrent.MoreExecutors.directExecutor Loading Loading @@ -357,7 +357,7 @@ class BubbleBarExpandedViewTest { private inner class FakeBubbleTaskViewFactory : BubbleTaskViewFactory { override fun create(): BubbleTaskView { val taskViewTaskController = mock<TaskViewTaskController>() val taskView = TaskView(context, mock<TaskViewTransitions>(), taskViewTaskController) val taskView = TaskView(context, mock<TaskViewController>(), taskViewTaskController) val taskInfo = mock<ActivityManager.RunningTaskInfo>() whenever(taskViewTaskController.taskInfo).thenReturn(taskInfo) return BubbleTaskView(taskView, mainExecutor) Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java +6 −5 Original line number Diff line number Diff line Loading @@ -117,6 +117,7 @@ import com.android.wm.shell.sysui.ShellCommandHandler; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInit; import com.android.wm.shell.taskview.TaskView; import com.android.wm.shell.taskview.TaskViewController; import com.android.wm.shell.taskview.TaskViewRepository; import com.android.wm.shell.taskview.TaskViewTaskController; import com.android.wm.shell.taskview.TaskViewTransitions; Loading Loading @@ -193,7 +194,7 @@ public class BubbleController implements ConfigurationChangeListener, private final TaskStackListenerImpl mTaskStackListener; private final ShellTaskOrganizer mTaskOrganizer; private final DisplayController mDisplayController; private final TaskViewTransitions mTaskViewTransitions; private final TaskViewController mTaskViewController; private final Transitions mTransitions; private final SyncTransactionQueue mSyncQueue; private final ShellController mShellController; Loading Loading @@ -350,10 +351,10 @@ public class BubbleController implements ConfigurationChangeListener, com.android.internal.R.dimen.importance_ring_stroke_width)); mDisplayController = displayController; if (TaskViewTransitions.useRepo()) { mTaskViewTransitions = new TaskViewTransitions(transitions, taskViewRepository, mTaskViewController = new TaskViewTransitions(transitions, taskViewRepository, organizer, syncQueue); } else { mTaskViewTransitions = taskViewTransitions; mTaskViewController = taskViewTransitions; } mTransitions = transitions; mOneHandedOptional = oneHandedOptional; Loading @@ -366,8 +367,8 @@ public class BubbleController implements ConfigurationChangeListener, @Override public BubbleTaskView create() { TaskViewTaskController taskViewTaskController = new TaskViewTaskController( context, organizer, mTaskViewTransitions, syncQueue); TaskView taskView = new TaskView(context, mTaskViewTransitions, context, organizer, mTaskViewController, syncQueue); TaskView taskView = new TaskView(context, mTaskViewController, taskViewTaskController); return new BubbleTaskView(taskView, mainExecutor); } Loading libs/WindowManager/Shell/src/com/android/wm/shell/taskview/TaskView.java +10 −10 Original line number Diff line number Diff line Loading @@ -74,16 +74,16 @@ public class TaskView extends SurfaceView implements SurfaceHolder.Callback, private final Rect mTmpRootRect = new Rect(); private final int[] mTmpLocation = new int[2]; private final Rect mBoundsOnScreen = new Rect(); private final TaskViewTransitions mTaskViewTransitions; private final TaskViewController mTaskViewController; private final TaskViewTaskController mTaskViewTaskController; private Region mObscuredTouchRegion; private Insets mCaptionInsets; private Handler mHandler; public TaskView(Context context, TaskViewTransitions taskViewTransitions, public TaskView(Context context, TaskViewController taskViewController, TaskViewTaskController taskViewTaskController) { super(context, null, 0, 0, true /* disableBackgroundLayer */); mTaskViewTransitions = taskViewTransitions; mTaskViewController = taskViewController; mTaskViewTaskController = taskViewTaskController; // TODO(b/266736992): Think about a better way to set the TaskViewBase on the // TaskViewTaskController and vice-versa Loading @@ -103,7 +103,7 @@ public class TaskView extends SurfaceView implements SurfaceHolder.Callback, */ public void startActivity(@NonNull PendingIntent pendingIntent, @Nullable Intent fillInIntent, @NonNull ActivityOptions options, @Nullable Rect launchBounds) { mTaskViewTransitions.startActivity(mTaskViewTaskController, pendingIntent, fillInIntent, mTaskViewController.startActivity(mTaskViewTaskController, pendingIntent, fillInIntent, options, launchBounds); } Loading @@ -119,7 +119,7 @@ public class TaskView extends SurfaceView implements SurfaceHolder.Callback, */ public void startShortcutActivity(@NonNull ShortcutInfo shortcut, @NonNull ActivityOptions options, @Nullable Rect launchBounds) { mTaskViewTransitions.startShortcutActivity(mTaskViewTaskController, shortcut, options, mTaskViewController.startShortcutActivity(mTaskViewTaskController, shortcut, options, launchBounds); } Loading @@ -127,12 +127,12 @@ public class TaskView extends SurfaceView implements SurfaceHolder.Callback, * Moves the current task in taskview out of the view and back to fullscreen. */ public void moveToFullscreen() { mTaskViewTransitions.moveTaskViewToFullscreen(mTaskViewTaskController); mTaskViewController.moveTaskViewToFullscreen(mTaskViewTaskController); } @Override public void onTaskAppeared(ActivityManager.RunningTaskInfo taskInfo, SurfaceControl leash) { if (mTaskViewTransitions.isUsingShellTransitions()) { if (mTaskViewController.isUsingShellTransitions()) { // No need for additional work as it is already taken care of during // prepareOpenAnimation(). return; Loading Loading @@ -227,14 +227,14 @@ public class TaskView extends SurfaceView implements SurfaceHolder.Callback, */ public void onLocationChanged() { getBoundsOnScreen(mTmpRect); mTaskViewTransitions.setTaskBounds(mTaskViewTaskController, mTmpRect); mTaskViewController.setTaskBounds(mTaskViewTaskController, mTmpRect); } /** * Call to remove the task from window manager. This task will not appear in recents. */ public void removeTask() { mTaskViewTransitions.removeTaskView(mTaskViewTaskController, null /* token */); mTaskViewController.removeTaskView(mTaskViewTaskController, null /* token */); } /** Loading @@ -259,7 +259,7 @@ public class TaskView extends SurfaceView implements SurfaceHolder.Callback, public void surfaceChanged(@androidx.annotation.NonNull SurfaceHolder holder, int format, int width, int height) { getBoundsOnScreen(mTmpRect); mTaskViewTransitions.setTaskBounds(mTaskViewTaskController, mTmpRect); mTaskViewController.setTaskBounds(mTaskViewTaskController, mTmpRect); } @Override Loading Loading
libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/FakeBubbleTaskViewFactory.kt +2 −3 Original line number Diff line number Diff line Loading @@ -20,8 +20,8 @@ import android.app.ActivityManager import android.content.Context import com.android.wm.shell.common.ShellExecutor import com.android.wm.shell.taskview.TaskView import com.android.wm.shell.taskview.TaskViewController import com.android.wm.shell.taskview.TaskViewTaskController import com.android.wm.shell.taskview.TaskViewTransitions import org.mockito.kotlin.mock import org.mockito.kotlin.whenever Loading @@ -33,9 +33,8 @@ class FakeBubbleTaskViewFactory( private val mainExecutor: ShellExecutor, ) : BubbleTaskViewFactory { override fun create(): BubbleTaskView { val taskViewTransitions = mock<TaskViewTransitions>() val taskViewTaskController = mock<TaskViewTaskController>() val taskView = TaskView(context, taskViewTransitions, taskViewTaskController) val taskView = TaskView(context, mock<TaskViewController>(), taskViewTaskController) val taskInfo = mock<ActivityManager.RunningTaskInfo>() whenever(taskViewTaskController.taskInfo).thenReturn(taskInfo) return BubbleTaskView(taskView, mainExecutor) Loading
libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/bar/BubbleBarAnimationHelperTest.kt +11 −11 Original line number Diff line number Diff line Loading @@ -47,8 +47,8 @@ import com.android.wm.shell.bubbles.FakeBubbleExpandedViewManager import com.android.wm.shell.bubbles.FakeBubbleFactory import com.android.wm.shell.common.TestShellExecutor import com.android.wm.shell.taskview.TaskView import com.android.wm.shell.taskview.TaskViewController import com.android.wm.shell.taskview.TaskViewTaskController import com.android.wm.shell.taskview.TaskViewTransitions import com.google.common.truth.Truth.assertThat import java.util.concurrent.Semaphore import java.util.concurrent.TimeUnit Loading Loading @@ -167,8 +167,8 @@ class BubbleBarAnimationHelperTest { fun animateSwitch_bubbleToBubble_updateTaskBounds() { val fromBubble = createBubble("from").initialize(container) val toBubbleTaskController = mock<TaskViewTaskController>() val taskTransitions = mock<TaskViewTransitions>() val toBubble = createBubble("to", taskTransitions, toBubbleTaskController).initialize( val taskController = mock<TaskViewController>() val toBubble = createBubble("to", taskController, toBubbleTaskController).initialize( container) activityScenario.onActivity { Loading @@ -178,11 +178,11 @@ class BubbleBarAnimationHelperTest { } getInstrumentation().waitForIdleSync() // Clear invocations to ensure that bounds update happens after animation ends clearInvocations(taskTransitions) clearInvocations(taskController) getInstrumentation().runOnMainSync { animatorTestRule.advanceTimeBy(900) } getInstrumentation().waitForIdleSync() verify(taskTransitions).setTaskBounds(eq(toBubbleTaskController), any()) verify(taskController).setTaskBounds(eq(toBubbleTaskController), any()) } @Test Loading Loading @@ -234,8 +234,8 @@ class BubbleBarAnimationHelperTest { @Test fun animateToRestPosition_updateTaskBounds() { val taskView = mock<TaskViewTaskController>() val tvTransitions = mock<TaskViewTransitions>() val bubble = createBubble("key", tvTransitions, taskView).initialize(container) val controller = mock<TaskViewController>() val bubble = createBubble("key", controller, taskView).initialize(container) val semaphore = Semaphore(0) val after = Runnable { semaphore.release() } Loading @@ -252,11 +252,11 @@ class BubbleBarAnimationHelperTest { animatorTestRule.advanceTimeBy(100) } // Clear invocations to ensure that bounds update happens after animation ends clearInvocations(tvTransitions) clearInvocations(controller) getInstrumentation().runOnMainSync { animatorTestRule.advanceTimeBy(900) } getInstrumentation().waitForIdleSync() verify(tvTransitions).setTaskBounds(eq(taskView), any()) verify(controller).setTaskBounds(eq(taskView), any()) } @Test Loading Loading @@ -334,10 +334,10 @@ class BubbleBarAnimationHelperTest { private fun createBubble( key: String, taskViewTransitions: TaskViewTransitions = mock<TaskViewTransitions>(), taskViewController: TaskViewController = mock<TaskViewController>(), taskViewTaskController: TaskViewTaskController = mock<TaskViewTaskController>(), ): Bubble { val taskView = TaskView(context, taskViewTransitions, taskViewTaskController) val taskView = TaskView(context, taskViewController, taskViewTaskController) val taskInfo = mock<ActivityManager.RunningTaskInfo>() whenever(taskViewTaskController.taskInfo).thenReturn(taskInfo) val bubbleTaskView = BubbleTaskView(taskView, mainExecutor) Loading
libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/bar/BubbleBarExpandedViewTest.kt +2 −2 Original line number Diff line number Diff line Loading @@ -46,8 +46,8 @@ import com.android.wm.shell.bubbles.UiEventSubject.Companion.assertThat import com.android.wm.shell.common.TestShellExecutor import com.android.wm.shell.shared.handles.RegionSamplingHelper import com.android.wm.shell.taskview.TaskView import com.android.wm.shell.taskview.TaskViewController import com.android.wm.shell.taskview.TaskViewTaskController import com.android.wm.shell.taskview.TaskViewTransitions import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertWithMessage import com.google.common.util.concurrent.MoreExecutors.directExecutor Loading Loading @@ -357,7 +357,7 @@ class BubbleBarExpandedViewTest { private inner class FakeBubbleTaskViewFactory : BubbleTaskViewFactory { override fun create(): BubbleTaskView { val taskViewTaskController = mock<TaskViewTaskController>() val taskView = TaskView(context, mock<TaskViewTransitions>(), taskViewTaskController) val taskView = TaskView(context, mock<TaskViewController>(), taskViewTaskController) val taskInfo = mock<ActivityManager.RunningTaskInfo>() whenever(taskViewTaskController.taskInfo).thenReturn(taskInfo) return BubbleTaskView(taskView, mainExecutor) Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java +6 −5 Original line number Diff line number Diff line Loading @@ -117,6 +117,7 @@ import com.android.wm.shell.sysui.ShellCommandHandler; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInit; import com.android.wm.shell.taskview.TaskView; import com.android.wm.shell.taskview.TaskViewController; import com.android.wm.shell.taskview.TaskViewRepository; import com.android.wm.shell.taskview.TaskViewTaskController; import com.android.wm.shell.taskview.TaskViewTransitions; Loading Loading @@ -193,7 +194,7 @@ public class BubbleController implements ConfigurationChangeListener, private final TaskStackListenerImpl mTaskStackListener; private final ShellTaskOrganizer mTaskOrganizer; private final DisplayController mDisplayController; private final TaskViewTransitions mTaskViewTransitions; private final TaskViewController mTaskViewController; private final Transitions mTransitions; private final SyncTransactionQueue mSyncQueue; private final ShellController mShellController; Loading Loading @@ -350,10 +351,10 @@ public class BubbleController implements ConfigurationChangeListener, com.android.internal.R.dimen.importance_ring_stroke_width)); mDisplayController = displayController; if (TaskViewTransitions.useRepo()) { mTaskViewTransitions = new TaskViewTransitions(transitions, taskViewRepository, mTaskViewController = new TaskViewTransitions(transitions, taskViewRepository, organizer, syncQueue); } else { mTaskViewTransitions = taskViewTransitions; mTaskViewController = taskViewTransitions; } mTransitions = transitions; mOneHandedOptional = oneHandedOptional; Loading @@ -366,8 +367,8 @@ public class BubbleController implements ConfigurationChangeListener, @Override public BubbleTaskView create() { TaskViewTaskController taskViewTaskController = new TaskViewTaskController( context, organizer, mTaskViewTransitions, syncQueue); TaskView taskView = new TaskView(context, mTaskViewTransitions, context, organizer, mTaskViewController, syncQueue); TaskView taskView = new TaskView(context, mTaskViewController, taskViewTaskController); return new BubbleTaskView(taskView, mainExecutor); } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/taskview/TaskView.java +10 −10 Original line number Diff line number Diff line Loading @@ -74,16 +74,16 @@ public class TaskView extends SurfaceView implements SurfaceHolder.Callback, private final Rect mTmpRootRect = new Rect(); private final int[] mTmpLocation = new int[2]; private final Rect mBoundsOnScreen = new Rect(); private final TaskViewTransitions mTaskViewTransitions; private final TaskViewController mTaskViewController; private final TaskViewTaskController mTaskViewTaskController; private Region mObscuredTouchRegion; private Insets mCaptionInsets; private Handler mHandler; public TaskView(Context context, TaskViewTransitions taskViewTransitions, public TaskView(Context context, TaskViewController taskViewController, TaskViewTaskController taskViewTaskController) { super(context, null, 0, 0, true /* disableBackgroundLayer */); mTaskViewTransitions = taskViewTransitions; mTaskViewController = taskViewController; mTaskViewTaskController = taskViewTaskController; // TODO(b/266736992): Think about a better way to set the TaskViewBase on the // TaskViewTaskController and vice-versa Loading @@ -103,7 +103,7 @@ public class TaskView extends SurfaceView implements SurfaceHolder.Callback, */ public void startActivity(@NonNull PendingIntent pendingIntent, @Nullable Intent fillInIntent, @NonNull ActivityOptions options, @Nullable Rect launchBounds) { mTaskViewTransitions.startActivity(mTaskViewTaskController, pendingIntent, fillInIntent, mTaskViewController.startActivity(mTaskViewTaskController, pendingIntent, fillInIntent, options, launchBounds); } Loading @@ -119,7 +119,7 @@ public class TaskView extends SurfaceView implements SurfaceHolder.Callback, */ public void startShortcutActivity(@NonNull ShortcutInfo shortcut, @NonNull ActivityOptions options, @Nullable Rect launchBounds) { mTaskViewTransitions.startShortcutActivity(mTaskViewTaskController, shortcut, options, mTaskViewController.startShortcutActivity(mTaskViewTaskController, shortcut, options, launchBounds); } Loading @@ -127,12 +127,12 @@ public class TaskView extends SurfaceView implements SurfaceHolder.Callback, * Moves the current task in taskview out of the view and back to fullscreen. */ public void moveToFullscreen() { mTaskViewTransitions.moveTaskViewToFullscreen(mTaskViewTaskController); mTaskViewController.moveTaskViewToFullscreen(mTaskViewTaskController); } @Override public void onTaskAppeared(ActivityManager.RunningTaskInfo taskInfo, SurfaceControl leash) { if (mTaskViewTransitions.isUsingShellTransitions()) { if (mTaskViewController.isUsingShellTransitions()) { // No need for additional work as it is already taken care of during // prepareOpenAnimation(). return; Loading Loading @@ -227,14 +227,14 @@ public class TaskView extends SurfaceView implements SurfaceHolder.Callback, */ public void onLocationChanged() { getBoundsOnScreen(mTmpRect); mTaskViewTransitions.setTaskBounds(mTaskViewTaskController, mTmpRect); mTaskViewController.setTaskBounds(mTaskViewTaskController, mTmpRect); } /** * Call to remove the task from window manager. This task will not appear in recents. */ public void removeTask() { mTaskViewTransitions.removeTaskView(mTaskViewTaskController, null /* token */); mTaskViewController.removeTaskView(mTaskViewTaskController, null /* token */); } /** Loading @@ -259,7 +259,7 @@ public class TaskView extends SurfaceView implements SurfaceHolder.Callback, public void surfaceChanged(@androidx.annotation.NonNull SurfaceHolder holder, int format, int width, int height) { getBoundsOnScreen(mTmpRect); mTaskViewTransitions.setTaskBounds(mTaskViewTaskController, mTmpRect); mTaskViewController.setTaskBounds(mTaskViewTaskController, mTmpRect); } @Override Loading