Media: Update PowerStats with more test cases.
Flag: com.android.media.audioserver.power_stats
Test: atest powerstats_collector_tests
Bug: 350114693
Change-Id: I9e89e6b2598bca30eabc5e9c30592c4eb6dfeed3
diff --git a/media/psh_utils/PowerStatsProvider.cpp b/media/psh_utils/PowerStatsProvider.cpp
index 71a39e1..94df933 100644
--- a/media/psh_utils/PowerStatsProvider.cpp
+++ b/media/psh_utils/PowerStatsProvider.cpp
@@ -41,11 +41,12 @@
return powerStats;
}
-int RailEnergyDataProvider::fill(PowerStats *stat) const {
+status_t RailEnergyDataProvider::fill(PowerStats *stat) const {
+ if (stat == nullptr) return BAD_VALUE;
auto powerStatsService = getPowerStatsService();
if (powerStatsService == nullptr) {
LOG(ERROR) << "unable to get power.stats AIDL service";
- return 1;
+ return NO_INIT;
}
std::unordered_map<int32_t, ::aidl::android::hardware::power::stats::Channel> channelMap;
@@ -53,7 +54,7 @@
std::vector<::aidl::android::hardware::power::stats::Channel> channels;
if (!powerStatsService->getEnergyMeterInfo(&channels).isOk()) {
LOG(ERROR) << "unable to get energy meter info";
- return 1;
+ return INVALID_OPERATION;
}
for (auto& channel : channels) {
channelMap.emplace(channel.id, std::move(channel));
@@ -63,7 +64,7 @@
std::vector<::aidl::android::hardware::power::stats::EnergyMeasurement> measurements;
if (!powerStatsService->readEnergyMeter({}, &measurements).isOk()) {
LOG(ERROR) << "unable to get energy measurements";
- return 1;
+ return INVALID_OPERATION;
}
for (const auto& measurement : measurements) {
@@ -83,14 +84,15 @@
return a.rail_name < b.rail_name;
});
- return 0;
+ return NO_ERROR;
}
-int PowerEntityResidencyDataProvider::fill(PowerStats* stat) const {
+status_t PowerEntityResidencyDataProvider::fill(PowerStats* stat) const {
+ if (stat == nullptr) return BAD_VALUE;
auto powerStatsService = getPowerStatsService();
if (powerStatsService == nullptr) {
LOG(ERROR) << "unable to get power.stats AIDL service";
- return 1;
+ return NO_INIT;
}
// these are based on entityId
@@ -102,7 +104,7 @@
std::vector<::aidl::android::hardware::power::stats::PowerEntity> entities;
if (!powerStatsService->getPowerEntityInfo(&entities).isOk()) {
LOG(ERROR) << __func__ << ": unable to get entity info";
- return 1;
+ return INVALID_OPERATION;
}
std::vector<std::string> powerEntityNames;
@@ -124,7 +126,7 @@
std::vector<::aidl::android::hardware::power::stats::StateResidencyResult> results;
if (!powerStatsService->getStateResidency(powerEntityIds, &results).isOk()) {
LOG(ERROR) << __func__ << ": Unable to get state residency";
- return 1;
+ return INVALID_OPERATION;
}
for (const auto& result : results) {
@@ -147,7 +149,7 @@
}
return a.state_name < b.state_name;
});
- return 0;
+ return NO_ERROR;
}
} // namespace android::media::psh_utils