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

Commit 1528d2eb authored by Jing Ji's avatar Jing Ji Committed by Android (Google) Code Review
Browse files

Merge "Move the callbacks in app died/crash handling out of WM global lock" into sc-dev

parents 7d8314ea ec5674a9
Loading
Loading
Loading
Loading
+10 −7
Original line number Original line Diff line number Diff line
@@ -5620,10 +5620,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
                    mTaskSupervisor.endDeferResume();
                    mTaskSupervisor.endDeferResume();
                }
                }


                if (wpc.isInstrumenting()) {
                    finishInstrumentationCallback.run();
                }

                if (!restarting && hasVisibleActivities) {
                if (!restarting && hasVisibleActivities) {
                    deferWindowLayout();
                    deferWindowLayout();
                    try {
                    try {
@@ -5640,6 +5636,9 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
                    }
                    }
                }
                }
            }
            }
            if (wpc.isInstrumenting()) {
                finishInstrumentationCallback.run();
            }
        }
        }


        @Override
        @Override
@@ -6139,6 +6138,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
        public boolean handleAppCrashInActivityController(String processName, int pid,
        public boolean handleAppCrashInActivityController(String processName, int pid,
                String shortMsg, String longMsg, long timeMillis, String stackTrace,
                String shortMsg, String longMsg, long timeMillis, String stackTrace,
                Runnable killCrashingAppCallback) {
                Runnable killCrashingAppCallback) {
            Runnable targetRunnable = null;
            synchronized (mGlobalLock) {
            synchronized (mGlobalLock) {
                if (mController == null) {
                if (mController == null) {
                    return false;
                    return false;
@@ -6147,15 +6147,18 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
                try {
                try {
                    if (!mController.appCrashed(processName, pid, shortMsg, longMsg, timeMillis,
                    if (!mController.appCrashed(processName, pid, shortMsg, longMsg, timeMillis,
                            stackTrace)) {
                            stackTrace)) {
                        killCrashingAppCallback.run();
                        targetRunnable = killCrashingAppCallback;
                        return true;
                    }
                    }
                } catch (RemoteException e) {
                } catch (RemoteException e) {
                    mController = null;
                    mController = null;
                    Watchdog.getInstance().setActivityController(null);
                    Watchdog.getInstance().setActivityController(null);
                }
                }
                return false;
            }
            }
            if (targetRunnable != null) {
                targetRunnable.run();
                return true;
            }
            return false;
        }
        }


        @Override
        @Override