diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActiveServices.java | 10 | ||||
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 5 | 
2 files changed, 11 insertions, 4 deletions
| diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java index 75b651da1ef6..067566dcc177 100644 --- a/services/core/java/com/android/server/am/ActiveServices.java +++ b/services/core/java/com/android/server/am/ActiveServices.java @@ -2645,6 +2645,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);              }          } @@ -3563,13 +3565,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 2e87a442a3f1..adf3480de8d2 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -1920,6 +1920,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; @@ -2168,7 +2170,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<IResultReceiver> callbacks |