Account for spaces after the "Cached" section in free mem helper.

Bug: 257560751
Test: Unit tests (updated)
Change-Id: I3af4f1a26be219f8b9e68c3e53c364e66d42d65b
diff --git a/libraries/collectors-helper/memory/src/com/android/helpers/FreeMemHelper.java b/libraries/collectors-helper/memory/src/com/android/helpers/FreeMemHelper.java
index ee702aa..430442b 100644
--- a/libraries/collectors-helper/memory/src/com/android/helpers/FreeMemHelper.java
+++ b/libraries/collectors-helper/memory/src/com/android/helpers/FreeMemHelper.java
@@ -55,7 +55,7 @@
     private static final String LINE_SEPARATOR = "\\n";
     private static final String MEM_AVAILABLE_PATTERN = "^MemAvailable.*";
     private static final String MEM_FREE_PATTERN = "^MemFree.*";
-    private static final Pattern CACHE_PROC_START_PATTERN = Pattern.compile(".*: Cached$");
+    private static final Pattern CACHE_PROC_START_PATTERN = Pattern.compile(".*: Cached\\s*$");
     private static final Pattern PID_PATTERN = Pattern.compile("^.*pid(?<processid> [0-9]*).*$");
     private static final String DUMPSYS_PROCESS = "dumpsys meminfo %s";
     private static final String MEM_TOTAL = "^\\s+TOTAL\\s+.*";
diff --git a/libraries/collectors-helper/memory/test/src/com/android/helpers/tests/FreeMemHelperTest.java b/libraries/collectors-helper/memory/test/src/com/android/helpers/tests/FreeMemHelperTest.java
index 9770908..5bddd20 100644
--- a/libraries/collectors-helper/memory/test/src/com/android/helpers/tests/FreeMemHelperTest.java
+++ b/libraries/collectors-helper/memory/test/src/com/android/helpers/tests/FreeMemHelperTest.java
@@ -56,5 +56,10 @@
         assertTrue(freeMemMetrics.get(FreeMemHelper.PROC_MEMINFO_MEM_AVAILABLE) > 0);
         assertTrue(freeMemMetrics.get(FreeMemHelper.PROC_MEMINFO_MEM_FREE) > 0);
         assertTrue(freeMemMetrics.get(FreeMemHelper.DUMPSYS_CACHED_PROC_MEMORY) > 0);
+        // Mem available should be less than cache proc dirty, because cache proc dirty includes
+        // mem available plus cached processes' memory usage.
+        assertTrue(
+                freeMemMetrics.get(FreeMemHelper.PROC_MEMINFO_MEM_AVAILABLE)
+                        < freeMemMetrics.get(FreeMemHelper.MEM_AVAILABLE_CACHE_PROC_DIRTY));
     }
 }