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

Commit d91c80d3 authored by Riddle Hsu's avatar Riddle Hsu Committed by Automerger Merge Worker
Browse files

Merge "Reduce acquiring WM lock when ANR happens" into udc-qpr-dev am: 46f899fc

parents b1460a49 46f899fc
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
@@ -546,6 +546,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
     */
    private volatile long mLastStopAppSwitchesTime;

    @GuardedBy("itself")
    private final List<AnrController> mAnrController = new ArrayList<>();
    IActivityController mController = null;
    boolean mControllerIsAMonkey = false;
@@ -733,7 +734,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
    private boolean mShowDialogs = true;

    /** Set if we are shutting down the system, similar to sleeping. */
    boolean mShuttingDown = false;
    volatile boolean mShuttingDown;

    /**
     * We want to hold a wake lock while running a voice interaction session, since
@@ -2298,14 +2299,14 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {

    /** Register an {@link AnrController} to control the ANR dialog behavior */
    public void registerAnrController(AnrController controller) {
        synchronized (mGlobalLock) {
        synchronized (mAnrController) {
            mAnrController.add(controller);
        }
    }

    /** Unregister an {@link AnrController} */
    public void unregisterAnrController(AnrController controller) {
        synchronized (mGlobalLock) {
        synchronized (mAnrController) {
            mAnrController.remove(controller);
        }
    }
@@ -2321,7 +2322,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
        }

        final ArrayList<AnrController> controllers;
        synchronized (mGlobalLock) {
        synchronized (mAnrController) {
            controllers = new ArrayList<>(mAnrController);
        }

@@ -6034,15 +6035,13 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {

        @Override
        public boolean isShuttingDown() {
            synchronized (mGlobalLock) {
            return mShuttingDown;
        }
        }

        @Override
        public boolean shuttingDown(boolean booted, int timeout) {
            synchronized (mGlobalLock) {
            mShuttingDown = true;
            synchronized (mGlobalLock) {
                mRootWindowContainer.prepareForShutdown();
                updateEventDispatchingLocked(booted);
                notifyTaskPersisterLocked(null, true);