summaryrefslogtreecommitdiff
path: root/tests/TaskOrganizerTest/src
diff options
context:
space:
mode:
authorWale Ogunwale <ogunwale@google.com>2020-03-21 22:27:35 -0700
committerWale Ogunwale <ogunwale@google.com>2020-03-23 08:59:18 -0700
commit568f9f41c63f34a74c4e9e225ace29b124277a81 (patch)
treec74449a934d6c638dc0a595c686ce990ac20fa92 /tests/TaskOrganizerTest/src
parent5794658be028d9aedb2936ec737a3a0f4c5d2ebc (diff)
Introduce WindowOrganizer
WM currently only allows the organization of tasks, however we will soon be allowing the organization of DisplayAreas. To help with the code structure, we are introducing WindowOrganizer interface which will contain common APIs for all types of windows organizers (e.g. applyTransaction) and also be the interfaece for getting the controller for other organizers. Test: they pass! Bug: 147406652 Bug: 152113464 Bug: 152117221 Change-Id: Id2797b288ce92430206c25345d60e7b0e3be98c8
Diffstat (limited to 'tests/TaskOrganizerTest/src')
-rw-r--r--tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerMultiWindowTest.java40
-rw-r--r--tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerPipTest.java12
2 files changed, 30 insertions, 22 deletions
diff --git a/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerMultiWindowTest.java b/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerMultiWindowTest.java
index cb75c8ba5873..f186ed3b75cf 100644
--- a/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerMultiWindowTest.java
+++ b/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerMultiWindowTest.java
@@ -17,9 +17,9 @@
package com.android.test.taskembed;
import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
+import static android.window.WindowOrganizer.TaskOrganizer;
import android.app.ActivityManager;
-import android.app.ActivityTaskManager;
import android.app.Activity;
import android.app.ActivityOptions;
import android.content.Context;
@@ -27,6 +27,8 @@ import android.content.Intent;
import android.graphics.Color;
import android.graphics.Rect;
import android.os.Bundle;
+import android.os.IBinder;
+import android.os.RemoteException;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.SurfaceControl;
@@ -34,8 +36,10 @@ import android.view.SurfaceHolder;
import android.view.View;
import android.view.ViewGroup;
import android.window.ITaskOrganizer;
+import android.window.IWindowContainerTransactionCallback;
import android.window.WindowContainerTransaction;
import android.widget.LinearLayout;
+import android.window.WindowOrganizer;
public class TaskOrganizerMultiWindowTest extends Activity {
class SplitLayout extends LinearLayout implements View.OnTouchListener {
@@ -112,8 +116,7 @@ public class TaskOrganizerMultiWindowTest extends Activity {
final WindowContainerTransaction wct = new WindowContainerTransaction();
wct.setBounds(mWc, new Rect(0, 0, width, height));
try {
- ActivityTaskManager.getTaskOrganizerController().applyContainerTransaction(wct,
- mOrganizer);
+ WindowOrganizer.applySyncTransaction(wct, mOrganizer.mTransactionCallback);
} catch (Exception e) {
// Oh well
}
@@ -127,6 +130,25 @@ public class TaskOrganizerMultiWindowTest extends Activity {
class Organizer extends ITaskOrganizer.Stub {
private int receivedTransactions = 0;
SurfaceControl.Transaction mergedTransaction = new SurfaceControl.Transaction();
+ IWindowContainerTransactionCallback mTransactionCallback =
+ new IWindowContainerTransactionCallback() {
+ @Override
+ public void transactionReady(int id, SurfaceControl.Transaction t)
+ throws RemoteException {
+ mergedTransaction.merge(t);
+ receivedTransactions++;
+ if (receivedTransactions == 2) {
+ mergedTransaction.apply();
+ receivedTransactions = 0;
+ }
+ }
+
+ @Override
+ public IBinder asBinder() {
+ return null;
+ }
+ };
+
@Override
public void taskAppeared(ActivityManager.RunningTaskInfo ti) {
if (!gotFirstTask) {
@@ -138,14 +160,6 @@ public class TaskOrganizerMultiWindowTest extends Activity {
}
public void taskVanished(ActivityManager.RunningTaskInfo ti) {
}
- public void transactionReady(int id, SurfaceControl.Transaction t) {
- mergedTransaction.merge(t);
- receivedTransactions++;
- if (receivedTransactions == 2) {
- mergedTransaction.apply();
- receivedTransactions = 0;
- }
- }
@Override
public void onTaskInfoChanged(ActivityManager.RunningTaskInfo info) {
}
@@ -158,9 +172,7 @@ public class TaskOrganizerMultiWindowTest extends Activity {
super.onCreate(savedInstanceState);
try {
- ActivityTaskManager.getTaskOrganizerController().registerTaskOrganizer(mOrganizer,
- WINDOWING_MODE_MULTI_WINDOW);
-
+ TaskOrganizer.registerOrganizer(mOrganizer, WINDOWING_MODE_MULTI_WINDOW);
} catch (Exception e) {
}
diff --git a/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerPipTest.java b/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerPipTest.java
index 177841d97ff5..a2f40dc0fd6f 100644
--- a/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerPipTest.java
+++ b/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerPipTest.java
@@ -17,19 +17,19 @@
package com.android.test.taskembed;
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
+import static android.window.WindowOrganizer.TaskOrganizer;
import android.app.ActivityManager;
-import android.app.ActivityTaskManager;
import android.app.Service;
import android.content.Intent;
import android.graphics.Rect;
import android.os.IBinder;
-import android.view.SurfaceControl;
import android.view.ViewGroup;
import android.window.ITaskOrganizer;
import android.window.WindowContainerTransaction;
import android.view.WindowManager;
import android.widget.FrameLayout;
+import android.window.WindowOrganizer;
public class TaskOrganizerPipTest extends Service {
static final int PIP_WIDTH = 640;
@@ -44,14 +44,12 @@ public class TaskOrganizerPipTest extends Service {
final WindowContainerTransaction wct = new WindowContainerTransaction();
wct.scheduleFinishEnterPip(ti.token, new Rect(0, 0, PIP_WIDTH, PIP_HEIGHT));
try {
- ActivityTaskManager.getTaskOrganizerController().applyContainerTransaction(wct, null);
+ WindowOrganizer.applyTransaction(wct);
} catch (Exception e) {
}
}
public void taskVanished(ActivityManager.RunningTaskInfo ti) {
}
- public void transactionReady(int id, SurfaceControl.Transaction t) {
- }
public void onTaskInfoChanged(ActivityManager.RunningTaskInfo info) {
}
}
@@ -68,9 +66,7 @@ public class TaskOrganizerPipTest extends Service {
super.onCreate();
try {
- ActivityTaskManager.getTaskOrganizerController().registerTaskOrganizer(mOrganizer,
- WINDOWING_MODE_PINNED);
-
+ TaskOrganizer.registerOrganizer(mOrganizer, WINDOWING_MODE_PINNED);
} catch (Exception e) {
}