Atom: Remaining and full battery capacity

Add pulled remaining battery capacity and full battery capacity atoms.

Test: cts test accompanies
Change-Id: I0f09e9459b56e25cc3ac21e1a5e781daadea0a01
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto
index 4e570a6..2e3560a2 100644
--- a/cmds/statsd/src/atoms.proto
+++ b/cmds/statsd/src/atoms.proto
@@ -99,7 +99,7 @@
     }
 
     // Pulled events will start at field 10000.
-    // Next: 10019
+    // Next: 10021
     oneof pulled {
         WifiBytesTransfer wifi_bytes_transfer = 10000;
         WifiBytesTransferByFgBg wifi_bytes_transfer_by_fg_bg = 10001;
@@ -120,6 +120,8 @@
         CpuActiveTime cpu_active_time = 10016;
         CpuClusterTime cpu_cluster_time = 10017;
         DiskSpace disk_space = 10018;
+        RemainingBatteryCapacity remaining_battery_capacity = 10019;
+        FullBatteryCapacity full_battery_capacity = 10020;
     }
 }
 
@@ -1410,3 +1412,19 @@
     // available bytes in download cache or temp directories
     optional uint64 temp_available_bytes = 3;
 }
+
+/**
+ * Pulls battery coulomb counter, which is the remaining battery charge in uAh.
+ * Logged from: frameworks/base/cmds/statsd/src/external/ResourceHealthManagerPuller.cpp
+ */
+message RemainingBatteryCapacity {
+    optional int32 charge_uAh = 1;
+}
+
+/**
+ * Pulls battery capacity, which is the battery capacity when full in uAh.
+ * Logged from: frameworks/base/cmds/statsd/src/external/ResourceHealthManagerPuller.cpp
+ */
+message FullBatteryCapacity {
+    optional int32 capacity_uAh = 1;
+}