[TeX] Improved readability for Histogram metric APIs
Bug: 268161449
Test: atest expresslog_test
Change-Id: Idd83ca6ec47288ca6ef7ecce333ceb3c88dd761a
diff --git a/libstats/expresslog/Histogram.cpp b/libstats/expresslog/Histogram.cpp
index c90282d..cb29a00 100644
--- a/libstats/expresslog/Histogram.cpp
+++ b/libstats/expresslog/Histogram.cpp
@@ -26,8 +26,8 @@
namespace android {
namespace expresslog {
-Histogram::UniformOptions* Histogram::UniformOptions::create(int binCount, float minValue,
- float exclusiveMaxValue) {
+std::shared_ptr<Histogram::UniformOptions> Histogram::UniformOptions::create(
+ int binCount, float minValue, float exclusiveMaxValue) {
if (binCount < 1) {
ALOGE("Bin count should be positive number");
return nullptr;
@@ -38,7 +38,8 @@
return nullptr;
}
- return new UniformOptions(binCount, minValue, exclusiveMaxValue);
+ return std::shared_ptr<UniformOptions>(
+ new UniformOptions(binCount, minValue, exclusiveMaxValue));
}
Histogram::UniformOptions::UniformOptions(int binCount, float minValue, float exclusiveMaxValue)
diff --git a/libstats/expresslog/include/Histogram.h b/libstats/expresslog/include/Histogram.h
index aba2786..8fdc1b6 100644
--- a/libstats/expresslog/include/Histogram.h
+++ b/libstats/expresslog/include/Histogram.h
@@ -46,10 +46,9 @@
/** Used by Histogram to map data sample to corresponding bin for uniform bins */
class UniformOptions : public BinOptions {
- UniformOptions(int binCount, float minValue, float exclusiveMaxValue);
-
public:
- static UniformOptions* create(int binCount, float minValue, float exclusiveMaxValue);
+ static std::shared_ptr<UniformOptions> create(int binCount, float minValue,
+ float exclusiveMaxValue);
int getBinsCount() const override {
return mBinCount;
@@ -58,6 +57,8 @@
int getBinForSample(float sample) const override;
private:
+ UniformOptions(int binCount, float minValue, float exclusiveMaxValue);
+
const int mBinCount;
const float mMinValue;
const float mExclusiveMaxValue;