Loading core/java/com/android/internal/os/TimeoutRecord.java +5 −1 Original line number Diff line number Diff line Loading @@ -151,7 +151,11 @@ public class TimeoutRecord { /** Record for a service exec timeout. */ @NonNull public static TimeoutRecord forServiceExec(@NonNull String reason) { public static TimeoutRecord forServiceExec(@NonNull String shortInstanceName, long timeoutDurationMs) { String reason = "executing service " + shortInstanceName + ", waited " + timeoutDurationMs + "ms"; return TimeoutRecord.endingNow(TimeoutKind.SERVICE_EXEC, reason); } Loading services/core/java/com/android/server/am/ActiveServices.java +3 −2 Original line number Diff line number Diff line Loading @@ -6640,8 +6640,9 @@ public final class ActiveServices { mAm.mHandler.removeCallbacks(mLastAnrDumpClearer); mAm.mHandler.postDelayed(mLastAnrDumpClearer, LAST_ANR_LIFETIME_DURATION_MSECS); String anrMessage = "executing service " + timeout.shortInstanceName; timeoutRecord = TimeoutRecord.forServiceExec(anrMessage); long waitedMillis = now - timeout.executingStart; timeoutRecord = TimeoutRecord.forServiceExec(timeout.shortInstanceName, waitedMillis); } else { Message msg = mAm.mHandler.obtainMessage( ActivityManagerService.SERVICE_TIMEOUT_MSG); Loading tests/Internal/src/com/android/internal/os/TimeoutRecordTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -104,11 +104,11 @@ public class TimeoutRecordTest { @Test public void forServiceExec_returnsCorrectTimeoutRecord() { TimeoutRecord record = TimeoutRecord.forServiceExec("Test ANR reason"); TimeoutRecord record = TimeoutRecord.forServiceExec("com.app.MyService", 1000L); assertNotNull(record); assertEquals(record.mKind, TimeoutRecord.TimeoutKind.SERVICE_EXEC); assertEquals(record.mReason, "Test ANR reason"); assertEquals(record.mReason, "executing service com.app.MyService, waited 1000ms"); assertTrue(record.mEndTakenBeforeLocks); } Loading Loading
core/java/com/android/internal/os/TimeoutRecord.java +5 −1 Original line number Diff line number Diff line Loading @@ -151,7 +151,11 @@ public class TimeoutRecord { /** Record for a service exec timeout. */ @NonNull public static TimeoutRecord forServiceExec(@NonNull String reason) { public static TimeoutRecord forServiceExec(@NonNull String shortInstanceName, long timeoutDurationMs) { String reason = "executing service " + shortInstanceName + ", waited " + timeoutDurationMs + "ms"; return TimeoutRecord.endingNow(TimeoutKind.SERVICE_EXEC, reason); } Loading
services/core/java/com/android/server/am/ActiveServices.java +3 −2 Original line number Diff line number Diff line Loading @@ -6640,8 +6640,9 @@ public final class ActiveServices { mAm.mHandler.removeCallbacks(mLastAnrDumpClearer); mAm.mHandler.postDelayed(mLastAnrDumpClearer, LAST_ANR_LIFETIME_DURATION_MSECS); String anrMessage = "executing service " + timeout.shortInstanceName; timeoutRecord = TimeoutRecord.forServiceExec(anrMessage); long waitedMillis = now - timeout.executingStart; timeoutRecord = TimeoutRecord.forServiceExec(timeout.shortInstanceName, waitedMillis); } else { Message msg = mAm.mHandler.obtainMessage( ActivityManagerService.SERVICE_TIMEOUT_MSG); Loading
tests/Internal/src/com/android/internal/os/TimeoutRecordTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -104,11 +104,11 @@ public class TimeoutRecordTest { @Test public void forServiceExec_returnsCorrectTimeoutRecord() { TimeoutRecord record = TimeoutRecord.forServiceExec("Test ANR reason"); TimeoutRecord record = TimeoutRecord.forServiceExec("com.app.MyService", 1000L); assertNotNull(record); assertEquals(record.mKind, TimeoutRecord.TimeoutKind.SERVICE_EXEC); assertEquals(record.mReason, "Test ANR reason"); assertEquals(record.mReason, "executing service com.app.MyService, waited 1000ms"); assertTrue(record.mEndTakenBeforeLocks); } Loading