summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/am/ProcessList.java2
-rw-r--r--services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java2
-rw-r--r--services/core/java/com/android/server/wm/ActivityTaskManagerService.java19
-rw-r--r--services/core/java/com/android/server/wm/WindowProcessController.java18
4 files changed, 19 insertions, 22 deletions
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
index 80f13216d8c8..3a40fc7199f3 100644
--- a/services/core/java/com/android/server/am/ProcessList.java
+++ b/services/core/java/com/android/server/am/ProcessList.java
@@ -1723,7 +1723,7 @@ public final class ProcessList {
}
app.setMountMode(mountExternal);
checkSlow(startUptime, "startProcess: building args");
- if (mService.mAtmInternal.isFactoryTestProcess(app.getWindowProcessController())) {
+ if (app.getWindowProcessController().isFactoryTestProcess()) {
uid = 0;
}
int runtimeFlags = 0;
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java b/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java
index ef126a97e7a4..c51808ac3432 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java
@@ -437,8 +437,6 @@ public abstract class ActivityTaskManagerInternal {
boolean allowInstrumenting, boolean fromHomeKey);
/** Start home activities on all displays that support system decorations. */
public abstract boolean startHomeOnAllDisplays(int userId, String reason);
- /** @return true if the given process is the factory test process. */
- public abstract boolean isFactoryTestProcess(WindowProcessController wpc);
public abstract void updateTopComponentForFactoryTest();
public abstract void handleAppDied(WindowProcessController wpc, boolean restarting,
Runnable finishInstrumentationCallback);
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 052c3d8d568f..70e7daeea89e 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -41,7 +41,6 @@ import static android.app.sdksandbox.SdkSandboxManager.ACTION_START_SANDBOXED_AC
import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.content.pm.ActivityInfo.RESIZE_MODE_UNRESIZEABLE;
-import static android.content.pm.ApplicationInfo.FLAG_FACTORY_TEST;
import static android.content.pm.ConfigurationInfo.GL_ES_VERSION_UNDEFINED;
import static android.content.pm.PackageManager.FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS;
import static android.content.pm.PackageManager.FEATURE_CANT_SAVE_STATE;
@@ -50,9 +49,7 @@ import static android.content.pm.PackageManager.FEATURE_FREEFORM_WINDOW_MANAGEME
import static android.content.pm.PackageManager.FEATURE_LEANBACK;
import static android.content.pm.PackageManager.FEATURE_PICTURE_IN_PICTURE;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
-import static android.os.FactoryTest.FACTORY_TEST_HIGH_LEVEL;
import static android.os.FactoryTest.FACTORY_TEST_LOW_LEVEL;
-import static android.os.FactoryTest.FACTORY_TEST_OFF;
import static android.os.InputConstants.DEFAULT_DISPATCHING_TIMEOUT_MILLIS;
import static android.os.Process.FIRST_APPLICATION_UID;
import static android.os.Process.SYSTEM_UID;
@@ -6088,22 +6085,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
}
}
- @HotPath(caller = HotPath.PROCESS_CHANGE)
- @Override
- public boolean isFactoryTestProcess(WindowProcessController wpc) {
- synchronized (mGlobalLockWithoutBoost) {
- if (mFactoryTest == FACTORY_TEST_OFF) {
- return false;
- }
- if (mFactoryTest == FACTORY_TEST_LOW_LEVEL && mTopComponent != null
- && wpc.mName.equals(mTopComponent.getPackageName())) {
- return true;
- }
- return mFactoryTest == FACTORY_TEST_HIGH_LEVEL
- && (wpc.mInfo.flags & FLAG_FACTORY_TEST) != 0;
- }
- }
-
@Override
public void updateTopComponentForFactoryTest() {
synchronized (mGlobalLock) {
diff --git a/services/core/java/com/android/server/wm/WindowProcessController.java b/services/core/java/com/android/server/wm/WindowProcessController.java
index 3e1dc7ee5cfd..9b361fe71425 100644
--- a/services/core/java/com/android/server/wm/WindowProcessController.java
+++ b/services/core/java/com/android/server/wm/WindowProcessController.java
@@ -54,6 +54,7 @@ import android.app.IApplicationThread;
import android.app.ProfilerInfo;
import android.app.servertransaction.ConfigurationChangeItem;
import android.companion.virtual.VirtualDeviceManager;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
@@ -62,6 +63,7 @@ import android.content.pm.ServiceInfo;
import android.content.res.Configuration;
import android.os.Binder;
import android.os.Build;
+import android.os.FactoryTest;
import android.os.IBinder;
import android.os.LocaleList;
import android.os.Message;
@@ -1718,6 +1720,22 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio
return this == mAtm.mHeavyWeightProcess;
}
+ @HotPath(caller = HotPath.PROCESS_CHANGE)
+ public boolean isFactoryTestProcess() {
+ final int factoryTestMode = mAtm.mFactoryTest;
+ if (factoryTestMode == FactoryTest.FACTORY_TEST_OFF) {
+ return false;
+ }
+ if (factoryTestMode == FactoryTest.FACTORY_TEST_LOW_LEVEL) {
+ final ComponentName topComponent = mAtm.mTopComponent;
+ if (topComponent != null && mName.equals(topComponent.getPackageName())) {
+ return true;
+ }
+ }
+ return factoryTestMode == FactoryTest.FACTORY_TEST_HIGH_LEVEL
+ && (mInfo.flags & ApplicationInfo.FLAG_FACTORY_TEST) != 0;
+ }
+
void setRunningRecentsAnimation(boolean running) {
if (mRunningRecentsAnimation == running) {
return;