Add additional meminfo fields

This change adds 7 additional fields to parse from /proc/meminfo:
MemAvailable, Active(anon), Inactive(anon), Active(file),
Inactive(file), CmaTotal, and CmaFree. This is intended to provide a
more detailed view of system-wide memory usage.

Test: libmeminfo_test
Bug: 260245141
Change-Id: Id5768d4c5a5cd9419e2907e037393e78724e2d9f
diff --git a/libmeminfo_test.cpp b/libmeminfo_test.cpp
index 31279b7..8b1fe59 100644
--- a/libmeminfo_test.cpp
+++ b/libmeminfo_test.cpp
@@ -951,6 +951,13 @@
     EXPECT_EQ(mi.mem_active_kb(), 445856);
     EXPECT_EQ(mi.mem_inactive_kb(), 459092);
     EXPECT_EQ(mi.mem_unevictable_kb(), 3096);
+    EXPECT_EQ(mi.mem_available_kb(), 2546560);
+    EXPECT_EQ(mi.mem_active_anon_kb(), 78492);
+    EXPECT_EQ(mi.mem_inactive_anon_kb(), 2240);
+    EXPECT_EQ(mi.mem_active_file_kb(), 367364);
+    EXPECT_EQ(mi.mem_inactive_file_kb(), 456852);
+    EXPECT_EQ(mi.mem_cma_total_kb(), 131072);
+    EXPECT_EQ(mi.mem_cma_free_kb(), 130380);
 }
 
 TEST(SysMemInfo, TestEmptyFile) {
@@ -995,6 +1002,13 @@
     MEMINFO_ACTIVE,
     MEMINFO_INACTIVE,
     MEMINFO_UNEVICTABLE,
+    MEMINFO_AVAILABLE,
+    MEMINFO_ACTIVE_ANON,
+    MEMINFO_INACTIVE_ANON,
+    MEMINFO_ACTIVE_FILE,
+    MEMINFO_INACTIVE_FILE,
+    MEMINFO_CMA_TOTAL,
+    MEMINFO_CMA_FREE,
     MEMINFO_COUNT
 };
 
@@ -1077,6 +1091,13 @@
     EXPECT_EQ(mem[MEMINFO_ACTIVE], 445856);
     EXPECT_EQ(mem[MEMINFO_INACTIVE], 459092);
     EXPECT_EQ(mem[MEMINFO_UNEVICTABLE], 3096);
+    EXPECT_EQ(mem[MEMINFO_AVAILABLE], 2546560);
+    EXPECT_EQ(mem[MEMINFO_ACTIVE_ANON], 78492);
+    EXPECT_EQ(mem[MEMINFO_INACTIVE_ANON], 2240);
+    EXPECT_EQ(mem[MEMINFO_ACTIVE_FILE], 367364);
+    EXPECT_EQ(mem[MEMINFO_INACTIVE_FILE], 456852);
+    EXPECT_EQ(mem[MEMINFO_CMA_TOTAL], 131072);
+    EXPECT_EQ(mem[MEMINFO_CMA_FREE], 130380);
 }
 
 TEST(SysMemInfo, TestVmallocInfoNoMemory) {