Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab89566e authored by Dianne Hackborn's avatar Dianne Hackborn
Browse files

Update to follow per-version proc stats change.

Change-Id: Iea44f1c7e9bd59a2eeaa1739bbaa5c0bdc349b0b
parent e179bb01
Loading
Loading
Loading
Loading
+20 −15
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.util.ArrayMap;
import android.util.Log;
import android.util.SparseArray;
import com.android.internal.app.ProcessStats;

import java.util.ArrayList;
@@ -109,9 +110,12 @@ public final class ProcStatsEntry implements Parcelable {
            // See if there is one significant package that was running here.
            ArrayList<ProcStatsEntry> subProcs = new ArrayList<ProcStatsEntry>();
            for (int ipkg=0; ipkg<mPackages.size(); ipkg++) {
                ProcessStats.PackageState pkgState = stats.mPackages.get(mPackages.get(ipkg), mUid);
                SparseArray<ProcessStats.PackageState> vpkgs
                        = stats.mPackages.get(mPackages.get(ipkg), mUid);
                for (int ivers=0;  ivers<vpkgs.size(); ivers++) {
                    ProcessStats.PackageState pkgState = vpkgs.valueAt(ivers);
                    if (DEBUG) Log.d(TAG, "Eval pkg of " + mName + ", pkg "
                        + mPackages.get(ipkg) + ":");
                            + pkgState + ":");
                    if (pkgState == null) {
                        Log.w(TAG, "No package state found for " + mPackages.get(ipkg) + "/"
                                + mUid + " in process " + mName);
@@ -126,6 +130,7 @@ public final class ProcStatsEntry implements Parcelable {
                    subProcs.add(new ProcStatsEntry(pkgProc, pkgState.mPackageName, totals, useUss,
                            weightWithTime));
                }
            }
            if (subProcs.size() > 1) {
                Collections.sort(subProcs, compare);
                if (subProcs.get(0).mWeight > (subProcs.get(1).mWeight*3)) {
+45 −38
Original line number Diff line number Diff line
@@ -466,10 +466,12 @@ public class ProcessStatsUi extends PreferenceFragment

        final ProcessMap<ProcStatsEntry> entriesMap = new ProcessMap<ProcStatsEntry>();
        for (int ipkg=0, N=mStats.mPackages.getMap().size(); ipkg<N; ipkg++) {
            final SparseArray<ProcessStats.PackageState> pkgUids
            final SparseArray<SparseArray<ProcessStats.PackageState>> pkgUids
                    = mStats.mPackages.getMap().valueAt(ipkg);
            for (int iu=0; iu<pkgUids.size(); iu++) {
                final ProcessStats.PackageState st = pkgUids.valueAt(iu);
                final SparseArray<ProcessStats.PackageState> vpkgs = pkgUids.valueAt(iu);
                for (int iv=0; iv<vpkgs.size(); iv++) {
                    final ProcessStats.PackageState st = vpkgs.valueAt(iv);
                    for (int iproc=0; iproc<st.mProcesses.size(); iproc++) {
                        final ProcessStats.ProcessState pkgProc = st.mProcesses.valueAt(iproc);
                        final ProcessStats.ProcessState proc = mStats.mProcesses.get(pkgProc.mName,
@@ -497,15 +499,19 @@ public class ProcessStatsUi extends PreferenceFragment
                    }
                }
            }
        }

        if (DEBUG) Log.d(TAG, "-------------------- MAPPING SERVICES");

        // Add in service info.
        if (mStatsType == MENU_TYPE_BACKGROUND) {
            for (int ip=0, N=mStats.mPackages.getMap().size(); ip<N; ip++) {
                SparseArray<ProcessStats.PackageState> uids = mStats.mPackages.getMap().valueAt(ip);
                SparseArray<SparseArray<ProcessStats.PackageState>> uids
                        = mStats.mPackages.getMap().valueAt(ip);
                for (int iu=0; iu<uids.size(); iu++) {
                    ProcessStats.PackageState ps = uids.valueAt(iu);
                    SparseArray<ProcessStats.PackageState> vpkgs = uids.valueAt(iu);
                    for (int iv=0; iv<vpkgs.size(); iv++) {
                        ProcessStats.PackageState ps = vpkgs.valueAt(iv);
                        for (int is=0, NS=ps.mServices.size(); is<NS; is++) {
                            ProcessStats.ServiceState ss = ps.mServices.valueAt(is);
                            if (ss.mProcessName != null) {
@@ -524,6 +530,7 @@ public class ProcessStatsUi extends PreferenceFragment
                    }
                }
            }
        }

        /*
        SparseArray<ArrayMap<String, ProcStatsEntry>> processes