diff options
| author | Benjamin Schwartz <bsschwar@google.com> | 2021-03-12 01:01:35 +0000 |
|---|---|---|
| committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-03-12 01:01:35 +0000 |
| commit | 4abdf481ec76a329bada53c9a837f0f76df4b3cc (patch) | |
| tree | c4b21574bf47b681a46ce346a22139e0e997b497 /power/stats/aidl/default/PowerStats.cpp | |
| parent | a26fdc46691103f39083bb43c9fc3bee31e61c3b (diff) | |
| parent | 3dd0588218311801ade4e74ad5cbc37569722e48 (diff) | |
Merge "power/stats: Return exception codes on error" am: 777542355a am: 3dd0588218
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1626963
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I2a54a2ed50c042858dbc774b259df7811b06b7a6
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) { |
