Loading core/java/android/app/ApplicationExitInfo.java +27 −0 Original line number Diff line number Diff line Loading @@ -524,6 +524,13 @@ public final class ApplicationExitInfo implements Parcelable { */ private boolean mLoggedInStatsd; /** * Whether or not this process hosts one or more foreground services. * * for system internal use only, will not retain across processes. */ private boolean mHasForegroundServices; /** @hide */ @IntDef(prefix = { "REASON_" }, value = { REASON_UNKNOWN, Loading Loading @@ -996,6 +1003,24 @@ public final class ApplicationExitInfo implements Parcelable { mLoggedInStatsd = loggedInStatsd; } /** * @see #mHasForegroundServices * * @hide */ public boolean hasForegroundServices() { return mHasForegroundServices; } /** * @see #mHasForegroundServices * * @hide */ public void setHasForegroundServices(boolean hasForegroundServices) { mHasForegroundServices = hasForegroundServices; } @Override public int describeContents() { return 0; Loading Loading @@ -1060,6 +1085,8 @@ public final class ApplicationExitInfo implements Parcelable { mTraceFile = other.mTraceFile; mAppTraceRetriever = other.mAppTraceRetriever; mNativeTombstoneRetriever = other.mNativeTombstoneRetriever; mLoggedInStatsd = other.mLoggedInStatsd; mHasForegroundServices = other.mHasForegroundServices; } private ApplicationExitInfo(@NonNull Parcel in) { Loading core/java/android/app/ProcessMemoryState.java +6 −1 Original line number Diff line number Diff line Loading @@ -28,12 +28,15 @@ public final class ProcessMemoryState implements Parcelable { public final int pid; public final String processName; public final int oomScore; public final boolean hasForegroundServices; public ProcessMemoryState(int uid, int pid, String processName, int oomScore) { public ProcessMemoryState(int uid, int pid, String processName, int oomScore, boolean hasForegroundServices) { this.uid = uid; this.pid = pid; this.processName = processName; this.oomScore = oomScore; this.hasForegroundServices = hasForegroundServices; } private ProcessMemoryState(Parcel in) { Loading @@ -41,6 +44,7 @@ public final class ProcessMemoryState implements Parcelable { pid = in.readInt(); processName = in.readString(); oomScore = in.readInt(); hasForegroundServices = in.readInt() == 1; } public static final @android.annotation.NonNull Creator<ProcessMemoryState> CREATOR = new Creator<ProcessMemoryState>() { Loading @@ -66,5 +70,6 @@ public final class ProcessMemoryState implements Parcelable { parcel.writeInt(pid); parcel.writeString(processName); parcel.writeInt(oomScore); parcel.writeInt(hasForegroundServices ? 1 : 0); } } services/core/java/com/android/server/am/ActiveServices.java +1 −0 Original line number Diff line number Diff line Loading @@ -2654,6 +2654,7 @@ public final class ActiveServices { } } mAm.updateProcessForegroundLocked(psr.mApp, anyForeground, fgServiceTypes, oomAdj); psr.setHasReportedForegroundServices(anyForeground); } private void updateAllowlistManagerLocked(ProcessServiceRecord psr) { Loading services/core/java/com/android/server/am/ActivityManagerService.java +2 −1 Original line number Diff line number Diff line Loading @@ -16683,7 +16683,8 @@ public class ActivityManagerService extends IActivityManager.Stub for (int i = 0, size = mPidsSelfLocked.size(); i < size; i++) { final ProcessRecord r = mPidsSelfLocked.valueAt(i); processMemoryStates.add(new ProcessMemoryState( r.uid, r.getPid(), r.processName, r.mState.getCurAdj())); r.uid, r.getPid(), r.processName, r.mState.getCurAdj(), r.mServices.hasForegroundServices())); } } return processMemoryStates; services/core/java/com/android/server/am/AppExitInfoTracker.java +3 −1 Original line number Diff line number Diff line Loading @@ -893,7 +893,8 @@ public final class AppExitInfoTracker { } FrameworkStatsLog.write(FrameworkStatsLog.APP_PROCESS_DIED, info.getPackageUid(), processName, info.getReason(), info.getSubReason(), info.getImportance(), (int) info.getPss(), (int) info.getRss()); info.getImportance(), (int) info.getPss(), (int) info.getRss(), info.hasForegroundServices()); } @GuardedBy("mLock") Loading Loading @@ -1008,6 +1009,7 @@ public final class AppExitInfoTracker { info.setPss(app.mProfile.getLastPss()); info.setRss(app.mProfile.getLastRss()); info.setTimestamp(timestamp); info.setHasForegroundServices(app.mServices.hasReportedForegroundServices()); } return info; Loading Loading
core/java/android/app/ApplicationExitInfo.java +27 −0 Original line number Diff line number Diff line Loading @@ -524,6 +524,13 @@ public final class ApplicationExitInfo implements Parcelable { */ private boolean mLoggedInStatsd; /** * Whether or not this process hosts one or more foreground services. * * for system internal use only, will not retain across processes. */ private boolean mHasForegroundServices; /** @hide */ @IntDef(prefix = { "REASON_" }, value = { REASON_UNKNOWN, Loading Loading @@ -996,6 +1003,24 @@ public final class ApplicationExitInfo implements Parcelable { mLoggedInStatsd = loggedInStatsd; } /** * @see #mHasForegroundServices * * @hide */ public boolean hasForegroundServices() { return mHasForegroundServices; } /** * @see #mHasForegroundServices * * @hide */ public void setHasForegroundServices(boolean hasForegroundServices) { mHasForegroundServices = hasForegroundServices; } @Override public int describeContents() { return 0; Loading Loading @@ -1060,6 +1085,8 @@ public final class ApplicationExitInfo implements Parcelable { mTraceFile = other.mTraceFile; mAppTraceRetriever = other.mAppTraceRetriever; mNativeTombstoneRetriever = other.mNativeTombstoneRetriever; mLoggedInStatsd = other.mLoggedInStatsd; mHasForegroundServices = other.mHasForegroundServices; } private ApplicationExitInfo(@NonNull Parcel in) { Loading
core/java/android/app/ProcessMemoryState.java +6 −1 Original line number Diff line number Diff line Loading @@ -28,12 +28,15 @@ public final class ProcessMemoryState implements Parcelable { public final int pid; public final String processName; public final int oomScore; public final boolean hasForegroundServices; public ProcessMemoryState(int uid, int pid, String processName, int oomScore) { public ProcessMemoryState(int uid, int pid, String processName, int oomScore, boolean hasForegroundServices) { this.uid = uid; this.pid = pid; this.processName = processName; this.oomScore = oomScore; this.hasForegroundServices = hasForegroundServices; } private ProcessMemoryState(Parcel in) { Loading @@ -41,6 +44,7 @@ public final class ProcessMemoryState implements Parcelable { pid = in.readInt(); processName = in.readString(); oomScore = in.readInt(); hasForegroundServices = in.readInt() == 1; } public static final @android.annotation.NonNull Creator<ProcessMemoryState> CREATOR = new Creator<ProcessMemoryState>() { Loading @@ -66,5 +70,6 @@ public final class ProcessMemoryState implements Parcelable { parcel.writeInt(pid); parcel.writeString(processName); parcel.writeInt(oomScore); parcel.writeInt(hasForegroundServices ? 1 : 0); } }
services/core/java/com/android/server/am/ActiveServices.java +1 −0 Original line number Diff line number Diff line Loading @@ -2654,6 +2654,7 @@ public final class ActiveServices { } } mAm.updateProcessForegroundLocked(psr.mApp, anyForeground, fgServiceTypes, oomAdj); psr.setHasReportedForegroundServices(anyForeground); } private void updateAllowlistManagerLocked(ProcessServiceRecord psr) { Loading
services/core/java/com/android/server/am/ActivityManagerService.java +2 −1 Original line number Diff line number Diff line Loading @@ -16683,7 +16683,8 @@ public class ActivityManagerService extends IActivityManager.Stub for (int i = 0, size = mPidsSelfLocked.size(); i < size; i++) { final ProcessRecord r = mPidsSelfLocked.valueAt(i); processMemoryStates.add(new ProcessMemoryState( r.uid, r.getPid(), r.processName, r.mState.getCurAdj())); r.uid, r.getPid(), r.processName, r.mState.getCurAdj(), r.mServices.hasForegroundServices())); } } return processMemoryStates;
services/core/java/com/android/server/am/AppExitInfoTracker.java +3 −1 Original line number Diff line number Diff line Loading @@ -893,7 +893,8 @@ public final class AppExitInfoTracker { } FrameworkStatsLog.write(FrameworkStatsLog.APP_PROCESS_DIED, info.getPackageUid(), processName, info.getReason(), info.getSubReason(), info.getImportance(), (int) info.getPss(), (int) info.getRss()); info.getImportance(), (int) info.getPss(), (int) info.getRss(), info.hasForegroundServices()); } @GuardedBy("mLock") Loading Loading @@ -1008,6 +1009,7 @@ public final class AppExitInfoTracker { info.setPss(app.mProfile.getLastPss()); info.setRss(app.mProfile.getLastRss()); info.setTimestamp(timestamp); info.setHasForegroundServices(app.mServices.hasReportedForegroundServices()); } return info; Loading