diff options
author | 2023-10-05 15:40:38 -0700 | |
---|---|---|
committer | 2023-10-05 15:40:38 -0700 | |
commit | 1961b2f7b191744f3fc6bb4d32f0da0ce3ee0567 (patch) | |
tree | b9785db180fb54b3a776f645cbb2a7ef480e0cb9 /services/powermanager/PowerHalController.cpp | |
parent | e4b64ebecf894e3047e46894a83ab8d37feabd3e (diff) | |
parent | 313d1596d818bc94fbab3d42b8c50306871f74a5 (diff) |
Merge Android 14
Bug: 298295554
Merged-In: I114a4cf83978f152959a6ec244d322603ff5257b
Change-Id: Ia35ae6e11052fcc3b2bdaabd6dc57d0d223de269
Diffstat (limited to 'services/powermanager/PowerHalController.cpp')
-rw-r--r-- | services/powermanager/PowerHalController.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/services/powermanager/PowerHalController.cpp b/services/powermanager/PowerHalController.cpp index 8c225d5d02..f89035fd1c 100644 --- a/services/powermanager/PowerHalController.cpp +++ b/services/powermanager/PowerHalController.cpp @@ -33,16 +33,20 @@ namespace power { // ------------------------------------------------------------------------------------------------- std::unique_ptr<HalWrapper> HalConnector::connect() { - sp<IPower> halAidl = PowerHalLoader::loadAidl(); - if (halAidl) { + if (sp<IPower> halAidl = PowerHalLoader::loadAidl()) { return std::make_unique<AidlHalWrapper>(halAidl); } - sp<V1_0::IPower> halHidlV1_0 = PowerHalLoader::loadHidlV1_0(); - sp<V1_1::IPower> halHidlV1_1 = PowerHalLoader::loadHidlV1_1(); - if (halHidlV1_1) { - return std::make_unique<HidlHalWrapperV1_1>(halHidlV1_0, halHidlV1_1); - } - if (halHidlV1_0) { + // If V1_0 isn't defined, none of them are + if (sp<V1_0::IPower> halHidlV1_0 = PowerHalLoader::loadHidlV1_0()) { + if (sp<V1_3::IPower> halHidlV1_3 = PowerHalLoader::loadHidlV1_3()) { + return std::make_unique<HidlHalWrapperV1_3>(halHidlV1_3); + } + if (sp<V1_2::IPower> halHidlV1_2 = PowerHalLoader::loadHidlV1_2()) { + return std::make_unique<HidlHalWrapperV1_2>(halHidlV1_2); + } + if (sp<V1_1::IPower> halHidlV1_1 = PowerHalLoader::loadHidlV1_1()) { + return std::make_unique<HidlHalWrapperV1_1>(halHidlV1_1); + } return std::make_unique<HidlHalWrapperV1_0>(halHidlV1_0); } return nullptr; |