healthd: Add average current property

Change-Id: Ibc901fe1b550c0d72095ef5590e2db8962d1a7b2
diff --git a/healthd/BatteryMonitor.cpp b/healthd/BatteryMonitor.cpp
index a2da3ee..5b3cac6 100644
--- a/healthd/BatteryMonitor.cpp
+++ b/healthd/BatteryMonitor.cpp
@@ -297,6 +297,16 @@
         }
         break;
 
+    case BATTERY_PROP_CURRENT_AVG:
+        if (!mHealthdConfig->batteryCurrentAvgPath.isEmpty()) {
+            val->valueInt =
+                getIntField(mHealthdConfig->batteryCurrentAvgPath);
+            ret = NO_ERROR;
+        } else {
+            ret = NAME_NOT_FOUND;
+        }
+        break;
+
     default:
         break;
     }
@@ -393,6 +403,14 @@
                         mHealthdConfig->batteryCurrentNowPath = path;
                 }
 
+                if (mHealthdConfig->batteryCurrentAvgPath.isEmpty()) {
+                    path.clear();
+                    path.appendFormat("%s/%s/current_avg",
+                                      POWER_SUPPLY_SYSFS_PATH, name);
+                    if (access(path, R_OK) == 0)
+                        mHealthdConfig->batteryCurrentAvgPath = path;
+                }
+
                 if (mHealthdConfig->batteryChargeCounterPath.isEmpty()) {
                     path.clear();
                     path.appendFormat("%s/%s/charge_counter",
diff --git a/healthd/healthd.cpp b/healthd/healthd.cpp
index 1719c22..f7c79c4 100644
--- a/healthd/healthd.cpp
+++ b/healthd/healthd.cpp
@@ -49,6 +49,7 @@
     .batteryTemperaturePath = String8(String8::kEmptyString),
     .batteryTechnologyPath = String8(String8::kEmptyString),
     .batteryCurrentNowPath = String8(String8::kEmptyString),
+    .batteryCurrentAvgPath = String8(String8::kEmptyString),
     .batteryChargeCounterPath = String8(String8::kEmptyString),
 };
 
diff --git a/healthd/healthd.h b/healthd/healthd.h
index 5374fb1..5a1ad18 100644
--- a/healthd/healthd.h
+++ b/healthd/healthd.h
@@ -61,6 +61,7 @@
     android::String8 batteryTemperaturePath;
     android::String8 batteryTechnologyPath;
     android::String8 batteryCurrentNowPath;
+    android::String8 batteryCurrentAvgPath;
     android::String8 batteryChargeCounterPath;
 };