diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java index e4c758e3d1bdc..d899dab8a61d6 100644 --- a/core/java/android/app/ActivityManager.java +++ b/core/java/android/app/ActivityManager.java @@ -3128,7 +3128,13 @@ public class ActivityManager { /** * All packages that have been loaded into the process. */ - public String pkgList[]; + public String[] pkgList; + + /** + * Additional packages loaded into the process as dependency. + * @hide + */ + public String[] pkgDeps; /** * Constant for {@link #flags}: this is an app that is unable to @@ -3509,6 +3515,7 @@ public class ActivityManager { dest.writeInt(pid); dest.writeInt(uid); dest.writeStringArray(pkgList); + dest.writeStringArray(pkgDeps); dest.writeInt(this.flags); dest.writeInt(lastTrimLevel); dest.writeInt(importance); @@ -3527,6 +3534,7 @@ public class ActivityManager { pid = source.readInt(); uid = source.readInt(); pkgList = source.readStringArray(); + pkgDeps = source.readStringArray(); flags = source.readInt(); lastTrimLevel = source.readInt(); importance = source.readInt(); diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java index 48eb0de9011f6..dbce8c962307c 100644 --- a/services/core/java/com/android/server/am/ProcessList.java +++ b/services/core/java/com/android/server/am/ProcessList.java @@ -3724,6 +3724,10 @@ public final class ProcessList { ActivityManager.RunningAppProcessInfo currApp = new ActivityManager.RunningAppProcessInfo(app.processName, app.getPid(), app.getPackageList()); + if (app.getPkgDeps() != null) { + final int size = app.getPkgDeps().size(); + currApp.pkgDeps = app.getPkgDeps().toArray(new String[size]); + } fillInProcMemInfoLOSP(app, currApp, clientTargetSdk); if (state.getAdjSource() instanceof ProcessRecord) { currApp.importanceReasonPid = ((ProcessRecord) state.getAdjSource()).getPid();