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

Commit f70f60c4 authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android Git Automerger
Browse files

am 7d19d795: am b41b85dc: am c74500f4: Merge "Fix NPE due to missing ProcessItem.mPackageInfo"

* commit '7d19d795':
  Fix NPE due to missing ProcessItem.mPackageInfo
parents 25bd33e1 7d19d795
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -776,6 +776,7 @@ public class RunningState {
        }
        
        // Look for services and their primary processes that no longer exist...
        ArrayList<Integer> uidToDelete = null;
        for (int i=0; i<mServiceProcessesByName.size(); i++) {
            HashMap<String, ProcessItem> procs = mServiceProcessesByName.valueAt(i);
            Iterator<ProcessItem> pit = procs.values().iterator();
@@ -792,7 +793,10 @@ public class RunningState {
                    changed = true;
                    pit.remove();
                    if (procs.size() == 0) {
                        mServiceProcessesByName.remove(mServiceProcessesByName.keyAt(i));
                        if (uidToDelete == null) {
                            uidToDelete = new ArrayList<Integer>();
                        }
                        uidToDelete.add(mServiceProcessesByName.keyAt(i));
                    }
                    if (pi.mPid != 0) {
                        mServiceProcessesByPid.remove(pi.mPid);
@@ -810,6 +814,13 @@ public class RunningState {
            }
        }
        
        if (uidToDelete != null) {
            for (int i = 0; i < uidToDelete.size(); i++) {
                int uid = uidToDelete.get(i);
                mServiceProcessesByName.remove(uid);
            }
        }

        if (changed) {
            // First determine an order for the services.
            ArrayList<ProcessItem> sortedProcesses = new ArrayList<ProcessItem>();