diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java index e84c5f4d9dff8..98e8df21a336a 100644 --- a/services/core/java/com/android/server/am/ActiveServices.java +++ b/services/core/java/com/android/server/am/ActiveServices.java @@ -2567,6 +2567,8 @@ public final class ActiveServices { Message msg = mAm.mHandler.obtainMessage( ActivityManagerService.SERVICE_FOREGROUND_CRASH_MSG); msg.obj = r.app; + msg.getData().putCharSequence( + ActivityManagerService.SERVICE_RECORD_KEY, r.toString()); mAm.mHandler.sendMessage(msg); } } @@ -3482,13 +3484,15 @@ public final class ActiveServices { if (app != null) { 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, - "Context.startForegroundService() did not then call Service.startForeground()"); + "Context.startForegroundService() did not then call Service.startForeground(): " + + serviceRecord); } void scheduleServiceTimeoutLocked(ProcessRecord proc) { diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index f756afb753775..289765b7cda82 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -1913,6 +1913,8 @@ public class ActivityManagerService extends IActivityManager.Stub static final int FIRST_COMPAT_MODE_MSG = 300; static final int FIRST_SUPERVISOR_STACK_MSG = 100; + static final String SERVICE_RECORD_KEY = "servicerecord"; + static ServiceThread sKillThread = null; static KillHandler sKillHandler = null; @@ -2161,7 +2163,8 @@ public class ActivityManagerService extends IActivityManager.Stub mServices.serviceForegroundTimeout((ServiceRecord)msg.obj); } break; case SERVICE_FOREGROUND_CRASH_MSG: { - mServices.serviceForegroundCrash((ProcessRecord)msg.obj); + mServices.serviceForegroundCrash( + (ProcessRecord) msg.obj, msg.getData().getCharSequence(SERVICE_RECORD_KEY)); } break; case DISPATCH_PENDING_INTENT_CANCEL_MSG: { RemoteCallbackList callbacks