Use design capacity instead of full charge capacity

Full charge capacity is already included as part of
health HAL 1.0. Concluded in b/149121450 to add a value
that is valuable.

Bug: 149428646
Bug: 149121450
Test: lshal debug android.hardware.health@2.1::IHealth/default
Change-Id: Iadf3c14850df57034378dcc10cdbab0eb43c3aae
diff --git a/health/2.1/types.hal b/health/2.1/types.hal
index efd8d6f..d99f63f 100644
--- a/health/2.1/types.hal
+++ b/health/2.1/types.hal
@@ -84,12 +84,12 @@
     int64_t batteryChargeTimeToFullNowSeconds;
 
     /**
-     * Estimated battery full capacity (in microamp hours, uAh).
+     * Estimated battery full charge design capacity (in microamp hours, uAh).
+     * batteryFullCharge must be less than (value * 1000).
      * Value must be 0 if unknown.
-     * Value must be positive if known, and must be between [50%, 120%] of
-     * batteryFullCharge (the designed capacity).
+     * Value must be positive if known.
      */
-    int32_t batteryFullCapacityUah;
+    int32_t batteryFullChargeDesignCapacityUah;
 };
 
 /**
diff --git a/health/2.1/vts/functional/VtsHalHealthV2_1TargetTest.cpp b/health/2.1/vts/functional/VtsHalHealthV2_1TargetTest.cpp
index e75b299..ea69527 100644
--- a/health/2.1/vts/functional/VtsHalHealthV2_1TargetTest.cpp
+++ b/health/2.1/vts/functional/VtsHalHealthV2_1TargetTest.cpp
@@ -228,17 +228,18 @@
             return;
         }
         ASSERT_EQ(Result::SUCCESS, result);
-        const auto& legacy = value.legacy.legacy;
 
         EXPECT_TRUE(IsEnum(value.batteryCapacityLevel)) << " BatteryCapacityLevel";
         EXPECT_GE(value.batteryChargeTimeToFullNowSeconds, 0);
 
-        EXPECT_GE(value.batteryFullCapacityUah, 0)
-                << "batteryFullCapacityUah should not be negative";
+        EXPECT_GE(value.batteryFullChargeDesignCapacityUah, 0)
+                << "batteryFullChargeDesignCapacityUah should not be negative";
 
-        if (value.batteryFullCapacityUah > 0) {
-            EXPECT_GE(value.batteryFullCapacityUah, legacy.batteryFullCharge * 0.50);
-            EXPECT_LE(value.batteryFullCapacityUah, legacy.batteryFullCharge * 1.20);
+        // Check for extreme outliers
+        const auto& legacy = value.legacy.legacy;
+        if (value.batteryFullChargeDesignCapacityUah > 0) {
+            EXPECT_LT((long)legacy.batteryFullCharge,
+                      ((long)value.batteryFullChargeDesignCapacityUah * 1000));
         }
     })));
 }
diff --git a/health/utils/libhealthloop/utils.cpp b/health/utils/libhealthloop/utils.cpp
index ebfd8d8..053fd19 100644
--- a/health/utils/libhealthloop/utils.cpp
+++ b/health/utils/libhealthloop/utils.cpp
@@ -42,6 +42,7 @@
             .batteryCycleCountPath = String8(String8::kEmptyString),
             .batteryCapacityLevelPath = String8(String8::kEmptyString),
             .batteryChargeTimeToFullNowPath = String8(String8::kEmptyString),
+            .batteryFullChargeDesignCapacityUahPath = String8(String8::kEmptyString),
             .energyCounter = NULL,
             .boot_min_cap = 0,
             .screen_on = NULL,