From 04436c51f63492944bbed276021a51cfe2081613 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Mon, 9 Sep 2013 09:51:34 -0700 Subject: [PATCH] Follow-on for #10671878: Proc stats needs to remove old data structures The UI can now show better information about services, now that we have the name of the process each service runs in and its total run time. Change-Id: I0777d8295a50c8f69c57bad24ccafe3bf0fbe5b8 --- .../settings/applications/ProcStatsEntry.java | 35 +++++-------------- .../settings/applications/ProcessStatsUi.java | 22 +++++++++++- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/src/com/android/settings/applications/ProcStatsEntry.java b/src/com/android/settings/applications/ProcStatsEntry.java index cbbfbb702b1..d6311dc81ff 100644 --- a/src/com/android/settings/applications/ProcStatsEntry.java +++ b/src/com/android/settings/applications/ProcStatsEntry.java @@ -78,7 +78,6 @@ public final class ProcStatsEntry implements Parcelable { mBestTargetPackage = null; if (mUnique) { mBestTargetPackage = mPackage; - addServices(stats.getPackageStateLocked(mPackage, mUid)); } else { // See if there is one significant package that was running here. ArrayList subProcs = new ArrayList(); @@ -90,18 +89,13 @@ public final class ProcStatsEntry implements Parcelable { continue; } ProcessStats.PackageState pkgState = uids.valueAt(iu); - boolean match = false; for (int iproc=0, NPROC=pkgState.mProcesses.size(); iproc 1) { @@ -173,12 +167,8 @@ public final class ProcStatsEntry implements Parcelable { } } - public void addServices(ProcessStats.PackageState pkgState) { - for (int isvc=0, NSVC=pkgState.mServices.size(); isvc startDuration) { - startDuration = bindDuration; - } - if (execDuration > startDuration) { - startDuration = execDuration; - } - mDuration = startDuration; } public Service(Parcel in) { mPackage = in.readString(); mName = in.readString(); + mProcess = in.readString(); mDuration = in.readLong(); } @@ -251,6 +231,7 @@ public final class ProcStatsEntry implements Parcelable { public void writeToParcel(Parcel dest, int flags) { dest.writeString(mPackage); dest.writeString(mName); + dest.writeString(mProcess); dest.writeLong(mDuration); } diff --git a/src/com/android/settings/applications/ProcessStatsUi.java b/src/com/android/settings/applications/ProcessStatsUi.java index 49682ed1241..5c5355dc7e2 100644 --- a/src/com/android/settings/applications/ProcessStatsUi.java +++ b/src/com/android/settings/applications/ProcessStatsUi.java @@ -30,6 +30,7 @@ import android.preference.PreferenceActivity; import android.preference.PreferenceFragment; import android.preference.PreferenceGroup; import android.preference.PreferenceScreen; +import android.util.ArrayMap; import android.util.Log; import android.util.SparseArray; import android.util.TimeUtils; @@ -245,10 +246,14 @@ public class ProcessStatsUi extends PreferenceFragment { } */ + ArrayMap processes = new ArrayMap( + mStats.mProcesses.getMap().size()); for (int ip=0, N=mStats.mProcesses.getMap().size(); ip uids = mStats.mProcesses.getMap().valueAt(ip); for (int iu=0; iu (MAX_ITEMS_TO_LIST+1)) break; } + + // Add in service info. + for (int ip=0, N=mStats.mPackages.getMap().size(); ip uids = mStats.mPackages.getMap().valueAt(ip); + for (int iu=0; iu