Merge "Temperature atom: Use int instead of float." into pi-dev
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto
index 2095649..9d6269f 100644
--- a/cmds/statsd/src/atoms.proto
+++ b/cmds/statsd/src/atoms.proto
@@ -1943,7 +1943,8 @@
 }
 
 /**
- * Pulls the temperature of various parts of the device, in Celsius.
+ * Pulls the temperature of various parts of the device.
+ * The units are tenths of a degree Celsius. Eg: 30.3C is reported as 303.
  *
  * Pulled from:
  *   frameworks/base/cmds/statsd/src/external/ResourceThermalManagerPuller.cpp
@@ -1955,6 +1956,6 @@
     // The name of the temperature source. Eg. CPU0
     optional string sensor_name = 2;
 
-    // Temperature in degrees C.
-    optional float temperature_C = 3;
+    // Temperature in tenths of a degree C.
+    optional int32 temperature_dC = 3;
 }
diff --git a/cmds/statsd/src/external/ResourceThermalManagerPuller.cpp b/cmds/statsd/src/external/ResourceThermalManagerPuller.cpp
index b3acdfc..33a17de 100644
--- a/cmds/statsd/src/external/ResourceThermalManagerPuller.cpp
+++ b/cmds/statsd/src/external/ResourceThermalManagerPuller.cpp
@@ -120,7 +120,9 @@
                         wallClockTimestampNs, elapsedTimestampNs);
                 ptr->write((static_cast<int>(temps[i].type)));
                 ptr->write(temps[i].name);
-                ptr->write(temps[i].currentValue);
+                // Convert the temperature to an int.
+                int32_t temp = static_cast<int>(temps[i].currentValue * 10);
+                ptr->write(temp);
                 ptr->init();
                 data->push_back(ptr);
             }