Loading services/core/java/com/android/server/am/CachedAppOptimizer.java +16 −7 Original line number Diff line number Diff line Loading @@ -1326,8 +1326,7 @@ public final class CachedAppOptimizer { UidRecord uidRec = app.getUidRecord(); if (uidRec != null && uidRec.isFrozen()) { uidRec.setFrozen(false); mFreezeHandler.removeMessages(UID_FROZEN_STATE_CHANGED_MSG, app); reportOneUidFrozenStateChanged(app.uid, false); postUidFrozenMessage(uidRec.getUid(), false); } opt.setFreezerOverride(false); Loading Loading @@ -1468,8 +1467,7 @@ public final class CachedAppOptimizer { UidRecord uidRec = app.getUidRecord(); if (uidRec != null && uidRec.isFrozen()) { uidRec.setFrozen(false); mFreezeHandler.removeMessages(UID_FROZEN_STATE_CHANGED_MSG, app); reportOneUidFrozenStateChanged(app.uid, false); postUidFrozenMessage(uidRec.getUid(), false); } mFrozenProcesses.delete(app.getPid()); Loading Loading @@ -1998,6 +1996,15 @@ public final class CachedAppOptimizer { mAm.reportUidFrozenStateChanged(uids, frozenStates); } private void postUidFrozenMessage(int uid, boolean frozen) { final Integer uidObj = Integer.valueOf(uid); mFreezeHandler.removeEqualMessages(UID_FROZEN_STATE_CHANGED_MSG, uidObj); final int op = frozen ? 1 : 0; mFreezeHandler.sendMessage(mFreezeHandler.obtainMessage(UID_FROZEN_STATE_CHANGED_MSG, op, 0, uidObj)); } private final class FreezeHandler extends Handler implements ProcLocksReader.ProcLocksReaderCallback { private FreezeHandler() { Loading Loading @@ -2028,7 +2035,9 @@ public final class CachedAppOptimizer { reportUnfreeze(pid, frozenDuration, processName, reason); break; case UID_FROZEN_STATE_CHANGED_MSG: reportOneUidFrozenStateChanged(((ProcessRecord) msg.obj).uid, true); final boolean frozen = (msg.arg1 == 1); final int uid = (int) msg.obj; reportOneUidFrozenStateChanged(uid, frozen); break; case DEADLOCK_WATCHDOG_MSG: try { Loading Loading @@ -2139,8 +2148,8 @@ public final class CachedAppOptimizer { final UidRecord uidRec = proc.getUidRecord(); if (frozen && uidRec != null && uidRec.areAllProcessesFrozen()) { uidRec.setFrozen(true); mFreezeHandler.sendMessage(mFreezeHandler.obtainMessage( UID_FROZEN_STATE_CHANGED_MSG, proc)); postUidFrozenMessage(uidRec.getUid(), true); } } Loading Loading
services/core/java/com/android/server/am/CachedAppOptimizer.java +16 −7 Original line number Diff line number Diff line Loading @@ -1326,8 +1326,7 @@ public final class CachedAppOptimizer { UidRecord uidRec = app.getUidRecord(); if (uidRec != null && uidRec.isFrozen()) { uidRec.setFrozen(false); mFreezeHandler.removeMessages(UID_FROZEN_STATE_CHANGED_MSG, app); reportOneUidFrozenStateChanged(app.uid, false); postUidFrozenMessage(uidRec.getUid(), false); } opt.setFreezerOverride(false); Loading Loading @@ -1468,8 +1467,7 @@ public final class CachedAppOptimizer { UidRecord uidRec = app.getUidRecord(); if (uidRec != null && uidRec.isFrozen()) { uidRec.setFrozen(false); mFreezeHandler.removeMessages(UID_FROZEN_STATE_CHANGED_MSG, app); reportOneUidFrozenStateChanged(app.uid, false); postUidFrozenMessage(uidRec.getUid(), false); } mFrozenProcesses.delete(app.getPid()); Loading Loading @@ -1998,6 +1996,15 @@ public final class CachedAppOptimizer { mAm.reportUidFrozenStateChanged(uids, frozenStates); } private void postUidFrozenMessage(int uid, boolean frozen) { final Integer uidObj = Integer.valueOf(uid); mFreezeHandler.removeEqualMessages(UID_FROZEN_STATE_CHANGED_MSG, uidObj); final int op = frozen ? 1 : 0; mFreezeHandler.sendMessage(mFreezeHandler.obtainMessage(UID_FROZEN_STATE_CHANGED_MSG, op, 0, uidObj)); } private final class FreezeHandler extends Handler implements ProcLocksReader.ProcLocksReaderCallback { private FreezeHandler() { Loading Loading @@ -2028,7 +2035,9 @@ public final class CachedAppOptimizer { reportUnfreeze(pid, frozenDuration, processName, reason); break; case UID_FROZEN_STATE_CHANGED_MSG: reportOneUidFrozenStateChanged(((ProcessRecord) msg.obj).uid, true); final boolean frozen = (msg.arg1 == 1); final int uid = (int) msg.obj; reportOneUidFrozenStateChanged(uid, frozen); break; case DEADLOCK_WATCHDOG_MSG: try { Loading Loading @@ -2139,8 +2148,8 @@ public final class CachedAppOptimizer { final UidRecord uidRec = proc.getUidRecord(); if (frozen && uidRec != null && uidRec.areAllProcessesFrozen()) { uidRec.setFrozen(true); mFreezeHandler.sendMessage(mFreezeHandler.obtainMessage( UID_FROZEN_STATE_CHANGED_MSG, proc)); postUidFrozenMessage(uidRec.getUid(), true); } } Loading