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

This commit is contained in:
Jing Ji
2021-04-23 01:20:51 +00:00
committed by Android (Google) Code Review

View File

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