diff options
Diffstat (limited to 'power/stats/aidl/default/PowerStats.cpp')
| -rw-r--r-- | power/stats/aidl/default/PowerStats.cpp | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/power/stats/aidl/default/PowerStats.cpp b/power/stats/aidl/default/PowerStats.cpp index 13735026c5..7cf591eb66 100644 --- a/power/stats/aidl/default/PowerStats.cpp +++ b/power/stats/aidl/default/PowerStats.cpp @@ -81,14 +81,12 @@ ndk::ScopedAStatus PowerStats::getStateResidency(const std::vector<int32_t>& in_ return getStateResidency(v, _aidl_return); } - binder_status_t err = STATUS_OK; - std::unordered_map<std::string, std::vector<StateResidency>> stateResidencies; for (const int32_t id : in_powerEntityIds) { - // skip any invalid ids + // check for invalid ids if (id < 0 || id >= mPowerEntityInfos.size()) { - continue; + return ndk::ScopedAStatus(AStatus_fromExceptionCode(EX_ILLEGAL_ARGUMENT)); } // Check to see if we already have data for the given id @@ -106,12 +104,12 @@ ndk::ScopedAStatus PowerStats::getStateResidency(const std::vector<int32_t>& in_ }; _aidl_return->emplace_back(res); } else { - // Failed to retrieve results for the given id. - err = STATUS_FAILED_TRANSACTION; + // Failed to get results for the given id. + LOG(ERROR) << "Failed to get results for " << powerEntityName; } } - return ndk::ScopedAStatus::fromStatus(err); + return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus PowerStats::getEnergyConsumerInfo(std::vector<EnergyConsumer>* _aidl_return) { @@ -132,12 +130,10 @@ ndk::ScopedAStatus PowerStats::getEnergyConsumed(const std::vector<int32_t>& in_ return getEnergyConsumed(v, _aidl_return); } - binder_status_t err = STATUS_OK; - for (const auto id : in_energyConsumerIds) { - // skip any invalid ids + // check for invalid ids if (id < 0 || id >= mEnergyConsumers.size()) { - continue; + return ndk::ScopedAStatus(AStatus_fromExceptionCode(EX_ILLEGAL_ARGUMENT)); } auto optionalResult = mEnergyConsumers[id]->getEnergyConsumed(); @@ -146,12 +142,12 @@ ndk::ScopedAStatus PowerStats::getEnergyConsumed(const std::vector<int32_t>& in_ result.id = id; _aidl_return->emplace_back(result); } else { - // Failed to retrieve results for the given id. - err = STATUS_FAILED_TRANSACTION; + // Failed to get results for the given id. + LOG(ERROR) << "Failed to get results for " << mEnergyConsumerInfos[id].name; } } - return ndk::ScopedAStatus::fromStatus(err); + return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus PowerStats::getEnergyMeterInfo(std::vector<Channel>* _aidl_return) { |
