Merge "Include ServiceRecord in foreground service exception exception text." into pi-dev

This commit is contained in:
Kodlee Yin
2018-04-06 00:14:55 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 4 deletions

View File

@@ -2645,6 +2645,8 @@ public final class ActiveServices {
Message msg = mAm.mHandler.obtainMessage( Message msg = mAm.mHandler.obtainMessage(
ActivityManagerService.SERVICE_FOREGROUND_CRASH_MSG); ActivityManagerService.SERVICE_FOREGROUND_CRASH_MSG);
msg.obj = r.app; msg.obj = r.app;
msg.getData().putCharSequence(
ActivityManagerService.SERVICE_RECORD_KEY, r.toString());
mAm.mHandler.sendMessage(msg); mAm.mHandler.sendMessage(msg);
} }
} }
@@ -3563,13 +3565,15 @@ public final class ActiveServices {
if (app != null) { if (app != null) {
mAm.mAppErrors.appNotResponding(app, null, null, false, mAm.mAppErrors.appNotResponding(app, null, null, false,
"Context.startForegroundService() did not then call Service.startForeground()"); "Context.startForegroundService() did not then call Service.startForeground(): "
+ r);
} }
} }
void serviceForegroundCrash(ProcessRecord app) { void serviceForegroundCrash(ProcessRecord app, CharSequence serviceRecord) {
mAm.crashApplication(app.uid, app.pid, app.info.packageName, app.userId, mAm.crashApplication(app.uid, app.pid, app.info.packageName, app.userId,
"Context.startForegroundService() did not then call Service.startForeground()"); "Context.startForegroundService() did not then call Service.startForeground(): "
+ serviceRecord);
} }
void scheduleServiceTimeoutLocked(ProcessRecord proc) { void scheduleServiceTimeoutLocked(ProcessRecord proc) {

View File

@@ -1920,6 +1920,8 @@ public class ActivityManagerService extends IActivityManager.Stub
static final int FIRST_COMPAT_MODE_MSG = 300; static final int FIRST_COMPAT_MODE_MSG = 300;
static final int FIRST_SUPERVISOR_STACK_MSG = 100; static final int FIRST_SUPERVISOR_STACK_MSG = 100;
static final String SERVICE_RECORD_KEY = "servicerecord";
static ServiceThread sKillThread = null; static ServiceThread sKillThread = null;
static KillHandler sKillHandler = null; static KillHandler sKillHandler = null;
@@ -2168,7 +2170,8 @@ public class ActivityManagerService extends IActivityManager.Stub
mServices.serviceForegroundTimeout((ServiceRecord)msg.obj); mServices.serviceForegroundTimeout((ServiceRecord)msg.obj);
} break; } break;
case SERVICE_FOREGROUND_CRASH_MSG: { case SERVICE_FOREGROUND_CRASH_MSG: {
mServices.serviceForegroundCrash((ProcessRecord)msg.obj); mServices.serviceForegroundCrash(
(ProcessRecord) msg.obj, msg.getData().getCharSequence(SERVICE_RECORD_KEY));
} break; } break;
case DISPATCH_PENDING_INTENT_CANCEL_MSG: { case DISPATCH_PENDING_INTENT_CANCEL_MSG: {
RemoteCallbackList<IResultReceiver> callbacks RemoteCallbackList<IResultReceiver> callbacks