Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5fa8a8cb authored by Wale Ogunwale's avatar Wale Ogunwale
Browse files

Switched ActivityStack.mService to ActivityTaskManagerService (7/n)

Objects that contain or represent activities like ActivityStack can
no longer rely on ActivityManagerService as it is going to be in a
different package.

Test: Existing tests pass
Test: go/wm-smoke-auto
Bug: 80414790
Change-Id: I7ea20169245bee91f1be254ac30e88d2382c62a3
parent 8bffca68
Loading
Loading
Loading
Loading
+6 −18
Original line number Diff line number Diff line
@@ -618,8 +618,6 @@ public class ActivityManagerService extends IActivityManager.Stub
    final ActivityStackSupervisor mStackSupervisor;
    final KeyguardController mKeyguardController;
    private final ActivityStartController mActivityStartController;
    final InstrumentationReporter mInstrumentationReporter = new InstrumentationReporter();
    final ArrayList<ActiveInstrumentation> mActiveInstrumentation = new ArrayList<>();
@@ -2837,7 +2835,6 @@ public class ActivityManagerService extends IActivityManager.Stub
        mContext = mInjector.getContext();
        mUiContext = null;
        GL_ES_VERSION = 0;
        mActivityStartController = null;
        mAppErrors = null;
        mAppWarnings = null;
        mAppOpsService = mInjector.getAppOpsService(null, null);
@@ -2949,7 +2946,6 @@ public class ActivityManagerService extends IActivityManager.Stub
        mKeyguardController = mStackSupervisor.getKeyguardController();
        mCompatModePackages = new CompatModePackages(this, systemDir, mHandler);
        mIntentFirewall = new IntentFirewall(new IntentFirewallInterface(), mHandler);
        mActivityStartController = new ActivityStartController(this);
        mProcessCpuThread = new Thread("CpuTracker") {
            @Override
@@ -4397,7 +4393,7 @@ public class ActivityManagerService extends IActivityManager.Stub
                // For ANR debugging to verify if the user activity is the one that actually
                // launched.
                final String myReason = reason + ":" + userId + ":" + resolvedUserId;
                mActivityStartController.startHomeActivity(intent, aInfo, myReason);
                mActivityTaskManager.getActivityStartController().startHomeActivity(intent, aInfo, myReason);
            }
        } else {
            Slog.wtf(TAG, "No home screen found for " + intent, new Throwable());
@@ -6188,7 +6184,7 @@ public class ActivityManagerService extends IActivityManager.Stub
                ProcessList.INVALID_ADJ, callerWillRestart, true, doit, evenPersistent,
                packageName == null ? ("stop user " + userId) : ("stop " + packageName));
        didSomething |= mActivityStartController.clearPendingActivityLaunches(packageName);
        didSomething |= mActivityTaskManager.getActivityStartController().clearPendingActivityLaunches(packageName);
        if (mStackSupervisor.finishDisabledPackageActivitiesLocked(
                packageName, null, doit, evenPersistent, userId)) {
@@ -10130,14 +10126,6 @@ public class ActivityManagerService extends IActivityManager.Stub
        return AppGlobals.getPackageManager();
    }
    ActivityStartController getActivityStartController() {
        return mActivityStartController;
    }
    ClientLifecycleManager getLifecycleManager() {
        return mActivityTaskManager.getLifecycleManager();
    }
    PackageManagerInternal getPackageManagerInternalLocked() {
        if (mPackageManagerInt == null) {
            mPackageManagerInt = LocalServices.getService(PackageManagerInternal.class);
@@ -11017,7 +11005,7 @@ public class ActivityManagerService extends IActivityManager.Stub
            mAppSwitchesAllowedTime = SystemClock.uptimeMillis()
                    + APP_SWITCH_DELAY_TIME;
            mDidAppSwitch = false;
            mActivityStartController.schedulePendingActivityLaunches(APP_SWITCH_DELAY_TIME);
            mActivityTaskManager.getActivityStartController().schedulePendingActivityLaunches(APP_SWITCH_DELAY_TIME);
        }
    }
@@ -13585,7 +13573,7 @@ public class ActivityManagerService extends IActivityManager.Stub
    private void dumpActivityStarterLocked(PrintWriter pw, String dumpPackage) {
        pw.println("ACTIVITY MANAGER STARTER (dumpsys activity starter)");
        mActivityStartController.dump(pw, "", dumpPackage);
        mActivityTaskManager.getActivityStartController().dump(pw, "", dumpPackage);
    }
    void dumpActivitiesLocked(FileDescriptor fd, PrintWriter pw, String[] args,
@@ -19629,7 +19617,7 @@ public class ActivityManagerService extends IActivityManager.Stub
                if (app.thread != null) {
                    if (DEBUG_CONFIGURATION) Slog.v(TAG_CONFIGURATION, "Sending to proc "
                            + app.processName + " new config " + configCopy);
                    getLifecycleManager().scheduleTransaction(app.thread,
                    mActivityTaskManager.getLifecycleManager().scheduleTransaction(app.thread,
                            ConfigurationChangeItem.obtain(configCopy));
                }
            } catch (Exception e) {
@@ -23438,7 +23426,7 @@ public class ActivityManagerService extends IActivityManager.Stub
                    pw.println("  Reason: " + reason);
                }
                pw.println();
                mActivityStartController.dump(pw, "  ", null);
                mActivityTaskManager.getActivityStartController().dump(pw, "  ", null);
                pw.println();
                pw.println("-------------------------------------------------------------------------------");
                dumpActivitiesLocked(null /* fd */, pw, null /* args */, 0 /* opti */,
+63 −64

File changed.

Preview size limit exceeded, changes collapsed.

+4 −5
Original line number Diff line number Diff line
@@ -1549,8 +1549,7 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
                clientTransaction.setLifecycleStateRequest(lifecycleItem);

                // Schedule transaction.
                mService.getLifecycleManager().scheduleTransaction(clientTransaction);

                mService.mActivityTaskManager.getLifecycleManager().scheduleTransaction(clientTransaction);

                if ((app.info.privateFlags & ApplicationInfo.PRIVATE_FLAG_CANT_SAVE_STATE) != 0
                        && mService.mHasHeavyWeightFeature) {
@@ -1621,7 +1620,7 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
        // a chance to initialize itself while in the background, making the
        // switch back to it faster and look better.
        if (isFocusedStack(stack)) {
            mService.getActivityStartController().startSetupActivity();
            mService.mActivityTaskManager.getActivityStartController().startSetupActivity();
        }

        // Update any services we are bound to that might care about whether
@@ -4837,7 +4836,7 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
                            targetActivity);
                }

                mService.getActivityStartController().postStartActivityProcessingForLastStarter(
                mService.mActivityTaskManager.getActivityStartController().postStartActivityProcessingForLastStarter(
                        task.getTopActivity(), ActivityManager.START_TASK_TO_FRONT,
                        task.getStack());
                return ActivityManager.START_TASK_TO_FRONT;
@@ -4846,7 +4845,7 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
            intent = task.intent;
            intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
            userId = task.userId;
            return mService.getActivityStartController().startActivityInPackage(
            return mService.mActivityTaskManager.getActivityStartController().startActivityInPackage(
                    task.mCallingUid, callingPid, callingUid, callingPackage, intent, null, null,
                    null, 0, 0, options, userId, task, "startActivityFromRecents",
                    false /* validateIncomingUser */);
+1 −1
Original line number Diff line number Diff line
@@ -725,7 +725,7 @@ class ActivityStarter {
                ? options.getOptions(intent, aInfo, callerApp, mSupervisor)
                : null;
        if (allowPendingRemoteAnimationRegistryLookup) {
            checkedOptions = mService.getActivityStartController()
            checkedOptions = mService.mActivityTaskManager.getActivityStartController()
                    .getPendingRemoteAnimationRegistry()
                    .overrideOptionsIfNeeded(callingPackage, checkedOptions);
        }
+18 −12
Original line number Diff line number Diff line
@@ -224,6 +224,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
    private TaskChangeNotificationController mTaskChangeNotificationController;
    /** The controller for all operations related to locktask. */
    private LockTaskController mLockTaskController;
    private ActivityStartController mActivityStartController;

    boolean mSuppressResizeConfigChanges;

@@ -262,6 +263,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
        mTaskChangeNotificationController =
                new TaskChangeNotificationController(mAm, mStackSupervisor, mH);
        mLockTaskController = new LockTaskController(mContext, mStackSupervisor, mH);
        mActivityStartController = new ActivityStartController(mAm);
        mRecentTasks = createRecentTasks();
        mStackSupervisor.setRecentTasks(mRecentTasks);
        mVrController = new VrController(mAm);
@@ -285,6 +287,10 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
        return mLifecycleManager;
    }

    ActivityStartController getActivityStartController() {
        return mActivityStartController;
    }

    TaskChangeNotificationController getTaskChangeNotificationController() {
        return mTaskChangeNotificationController;
    }
@@ -334,7 +340,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
        userId = mAm.mUserController.handleIncomingUser(Binder.getCallingPid(),
                Binder.getCallingUid(), userId, false, ALLOW_FULL_ONLY, reason, null);
        // TODO: Switch to user app stacks here.
        return mAm.getActivityStartController().startActivities(caller, -1, callingPackage, intents,
        return getActivityStartController().startActivities(caller, -1, callingPackage, intents,
                resolvedTypes, resultTo, SafeActivityOptions.fromBundle(bOptions), userId, reason);
    }

@@ -353,11 +359,11 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
            boolean validateIncomingUser) {
        mAm.enforceNotIsolatedCaller("startActivityAsUser");

        userId = mAm.getActivityStartController().checkTargetUser(userId, validateIncomingUser,
        userId = getActivityStartController().checkTargetUser(userId, validateIncomingUser,
                Binder.getCallingPid(), Binder.getCallingUid(), "startActivityAsUser");

        // TODO: Switch to user app stacks here.
        return mAm.getActivityStartController().obtainStarter(intent, "startActivityAsUser")
        return getActivityStartController().obtainStarter(intent, "startActivityAsUser")
                .setCaller(caller)
                .setCallingPackage(callingPackage)
                .setResolvedType(resolvedType)
@@ -496,7 +502,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {

            final long origId = Binder.clearCallingIdentity();
            // TODO(b/64750076): Check if calling pid should really be -1.
            final int res = mAm.getActivityStartController()
            final int res = getActivityStartController()
                    .obtainStarter(intent, "startNextMatchingActivity")
                    .setCaller(r.app.thread)
                    .setResolvedType(r.resolvedType)
@@ -532,7 +538,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
                    Binder.getCallingUid(), userId, false, ALLOW_FULL_ONLY,
                    "startActivityAndWait", null);
            // TODO: Switch to user app stacks here.
            mAm.getActivityStartController().obtainStarter(intent, "startActivityAndWait")
            getActivityStartController().obtainStarter(intent, "startActivityAndWait")
                    .setCaller(caller)
                    .setCallingPackage(callingPackage)
                    .setResolvedType(resolvedType)
@@ -559,7 +565,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
                    Binder.getCallingUid(), userId, false, ALLOW_FULL_ONLY,
                    "startActivityWithConfig", null);
            // TODO: Switch to user app stacks here.
            return mAm.getActivityStartController().obtainStarter(intent, "startActivityWithConfig")
            return getActivityStartController().obtainStarter(intent, "startActivityWithConfig")
                    .setCaller(caller)
                    .setCallingPackage(callingPackage)
                    .setResolvedType(resolvedType)
@@ -634,7 +640,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {

        // TODO: Switch to user app stacks here.
        try {
            return mAm.getActivityStartController().obtainStarter(intent, "startActivityAsCaller")
            return getActivityStartController().obtainStarter(intent, "startActivityAsCaller")
                    .setCallingUid(targetUid)
                    .setCallingPackage(targetPackage)
                    .setResolvedType(resolvedType)
@@ -675,7 +681,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
        userId = mAm.mUserController.handleIncomingUser(callingPid, callingUid, userId, false,
                ALLOW_FULL_ONLY, "startVoiceActivity", null);
        // TODO: Switch to user app stacks here.
        return mAm.getActivityStartController().obtainStarter(intent, "startVoiceActivity")
        return getActivityStartController().obtainStarter(intent, "startVoiceActivity")
                .setCallingUid(callingUid)
                .setCallingPackage(callingPackage)
                .setResolvedType(resolvedType)
@@ -695,7 +701,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
        userId = mAm.mUserController.handleIncomingUser(callingPid, callingUid, userId, false,
                ALLOW_FULL_ONLY, "startAssistantActivity", null);

        return mAm.getActivityStartController().obtainStarter(intent, "startAssistantActivity")
        return getActivityStartController().obtainStarter(intent, "startAssistantActivity")
                .setCallingUid(callingUid)
                .setCallingPackage(callingPackage)
                .setResolvedType(resolvedType)
@@ -717,7 +723,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {

                // Start a new recents animation
                final RecentsAnimation anim = new RecentsAnimation(mAm, mStackSupervisor,
                        mAm.getActivityStartController(), mAm.mWindowManager, mAm.mUserController,
                        getActivityStartController(), mAm.mWindowManager, mAm.mUserController,
                        callingPid);
                anim.startRecentsActivity(intent, recentsAnimationRunner, recentsComponent,
                        recentsUid, assistDataReceiver);
@@ -3391,7 +3397,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
        synchronized (mGlobalLock) {
            final long origId = Binder.clearCallingIdentity();
            try {
                mAm.getActivityStartController().registerRemoteAnimationForNextActivityStart(
                getActivityStartController().registerRemoteAnimationForNextActivityStart(
                        packageName, adapter);
            } finally {
                Binder.restoreCallingIdentity(origId);
@@ -3603,7 +3609,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
            }

            synchronized (mGlobalLock) {
                return mAm.getActivityStartController().startActivitiesInPackage(
                return getActivityStartController().startActivitiesInPackage(
                        packageUid, packageName,
                        intents, resolvedTypes, null /* resultTo */,
                        SafeActivityOptions.fromBundle(bOptions), userId,
Loading