Merge "Freezer: fix delayed freezing operation" into sc-dev
diff --git a/services/core/java/com/android/server/am/CachedAppOptimizer.java b/services/core/java/com/android/server/am/CachedAppOptimizer.java
index 709139e..4629d0b 100644
--- a/services/core/java/com/android/server/am/CachedAppOptimizer.java
+++ b/services/core/java/com/android/server/am/CachedAppOptimizer.java
@@ -881,7 +881,10 @@
 
     @GuardedBy({"mAm", "mProcLock"})
     void freezeAppAsyncLSP(ProcessRecord app) {
-        mFreezeHandler.removeMessages(SET_FROZEN_PROCESS_MSG, app);
+        if (mFreezeHandler.hasMessages(SET_FROZEN_PROCESS_MSG, app)) {
+            // Skip redundant DO_FREEZE message
+            return;
+        }
 
         mFreezeHandler.sendMessageDelayed(
                 mFreezeHandler.obtainMessage(