summaryrefslogtreecommitdiff
path: root/power/stats/aidl/default/PowerStats.cpp
diff options
context:
space:
mode:
authorBenjamin Schwartz <bsschwar@google.com>2021-03-12 01:01:35 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-03-12 01:01:35 +0000
commit4abdf481ec76a329bada53c9a837f0f76df4b3cc (patch)
treec4b21574bf47b681a46ce346a22139e0e997b497 /power/stats/aidl/default/PowerStats.cpp
parenta26fdc46691103f39083bb43c9fc3bee31e61c3b (diff)
parent3dd0588218311801ade4e74ad5cbc37569722e48 (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.cpp24
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) {