Use non-singleton looper for activity task manager tests
The handler thread for testing will quit after each test method.
It should prevent the delayed messages from affecting other
subsequent tests.
Test: atest ActivityStackTests
Change-Id: I56bad6ad8d6e9e769e3a5d96e9d5ff70c99d344a
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 8f99dae..6889239 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -190,6 +190,7 @@
import android.os.IBinder;
import android.os.IUserManager;
import android.os.LocaleList;
+import android.os.Looper;
import android.os.Message;
import android.os.PersistableBundle;
import android.os.PowerManager;
@@ -246,7 +247,6 @@
import com.android.internal.util.function.pooled.PooledLambda;
import com.android.server.AppOpsService;
import com.android.server.AttributeCache;
-import com.android.server.DisplayThread;
import com.android.server.LocalServices;
import com.android.server.SystemService;
import com.android.server.SystemServiceManager;
@@ -753,9 +753,9 @@
return mGlobalLock;
}
- public void setActivityManagerService(IntentFirewall intentFirewall,
- PendingIntentController intentController) {
- mH = new H();
+ public void initialize(IntentFirewall intentFirewall, PendingIntentController intentController,
+ Looper looper) {
+ mH = new H(looper);
mUiHandler = new UiHandler();
mIntentFirewall = intentFirewall;
final File systemDir = SystemServiceManager.ensureSystemDir();
@@ -5576,8 +5576,8 @@
static final int FIRST_ACTIVITY_STACK_MSG = 100;
static final int FIRST_SUPERVISOR_STACK_MSG = 200;
- public H() {
- super(DisplayThread.get().getLooper());
+ H(Looper looper) {
+ super(looper);
}
@Override