diff options
author | Scott Lobdell <slobdell@google.com> | 2021-03-11 19:08:54 +0000 |
---|---|---|
committer | Scott Lobdell <slobdell@google.com> | 2021-03-11 19:08:54 +0000 |
commit | a4bc4d3a2b36280f54cdad53b0bb0de8b4223d55 (patch) | |
tree | 0c8d19a6d8d901cb20498399ab3e3f8434aa1fcd /power/stats/aidl/default/main.cpp | |
parent | 86bfa300dfbcf500ad04bede19a2b5f0e6d418b9 (diff) | |
parent | f4b38dd9acd9e6e5803ceda6c6a467c97512216e (diff) |
Merge SP1A.210311.001
Change-Id: Icc232e4382ad1df43912307e19aa40f579396b6b
Diffstat (limited to 'power/stats/aidl/default/main.cpp')
-rw-r--r-- | power/stats/aidl/default/main.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/power/stats/aidl/default/main.cpp b/power/stats/aidl/default/main.cpp index 0469b4c21d..2fe3d2e103 100644 --- a/power/stats/aidl/default/main.cpp +++ b/power/stats/aidl/default/main.cpp @@ -16,16 +16,61 @@ #include "PowerStats.h" +#include "FakeEnergyConsumer.h" +#include "FakeEnergyMeter.h" +#include "FakeStateResidencyDataProvider.h" + #include <android-base/logging.h> #include <android/binder_manager.h> #include <android/binder_process.h> +using aidl::android::hardware::power::stats::EnergyConsumerType; +using aidl::android::hardware::power::stats::FakeEnergyConsumer; +using aidl::android::hardware::power::stats::FakeEnergyMeter; +using aidl::android::hardware::power::stats::FakeStateResidencyDataProvider; using aidl::android::hardware::power::stats::PowerStats; +using aidl::android::hardware::power::stats::State; + +void setFakeEnergyMeter(std::shared_ptr<PowerStats> p) { + p->setEnergyMeter( + std::make_unique<FakeEnergyMeter>(std::vector<std::pair<std::string, std::string>>{ + {"Rail1", "Display"}, + {"Rail2", "CPU"}, + {"Rail3", "Modem"}, + })); +} + +void addFakeStateResidencyDataProvider1(std::shared_ptr<PowerStats> p) { + p->addStateResidencyDataProvider(std::make_unique<FakeStateResidencyDataProvider>( + "CPU", std::vector<State>{{0, "Idle"}, {1, "Active"}})); +} + +void addFakeStateResidencyDataProvider2(std::shared_ptr<PowerStats> p) { + p->addStateResidencyDataProvider(std::make_unique<FakeStateResidencyDataProvider>( + "Display", std::vector<State>{{0, "Off"}, {1, "On"}})); +} + +void addFakeEnergyConsumer1(std::shared_ptr<PowerStats> p) { + p->addEnergyConsumer(std::make_unique<FakeEnergyConsumer>(EnergyConsumerType::OTHER, "GPU")); +} + +void addFakeEnergyConsumer2(std::shared_ptr<PowerStats> p) { + p->addEnergyConsumer( + std::make_unique<FakeEnergyConsumer>(EnergyConsumerType::MOBILE_RADIO, "MODEM")); +} int main() { ABinderProcess_setThreadPoolMaxThreadCount(0); std::shared_ptr<PowerStats> p = ndk::SharedRefBase::make<PowerStats>(); + setFakeEnergyMeter(p); + + addFakeStateResidencyDataProvider1(p); + addFakeStateResidencyDataProvider2(p); + + addFakeEnergyConsumer1(p); + addFakeEnergyConsumer2(p); + const std::string instance = std::string() + PowerStats::descriptor + "/default"; binder_status_t status = AServiceManager_addService(p->asBinder().get(), instance.c_str()); CHECK(status == STATUS_OK); |