diff --git a/health/1.0/default/Android.bp b/health/1.0/default/Android.bp index aab9cc72b5..ff4b8759b8 100644 --- a/health/1.0/default/Android.bp +++ b/health/1.0/default/Android.bp @@ -17,62 +17,3 @@ cc_library_static { ], } - -cc_library_static { - name: "android.hardware.health@1.0-impl-helper", - vendor: true, - srcs: ["Health.cpp"], - - header_libs: [ - "libbase_headers", - "libhealthd_headers", - ], - - shared_libs: [ - "libcutils", - "libhidlbase", - "liblog", - "libutils", - "android.hardware.health@1.0", - ], - - static_libs: [ - "android.hardware.health@1.0-convert", - ], -} - -cc_library_shared { - name: "android.hardware.health@1.0-impl", - vendor: true, - relative_install_path: "hw", - - static_libs: [ - "android.hardware.health@1.0-impl-helper", - "android.hardware.health@1.0-convert", - "libhealthd.default", - ], - - shared_libs: [ - "libhidlbase", - "libutils", - "android.hardware.health@1.0", - ], -} - -cc_binary { - name: "android.hardware.health@1.0-service", - vendor: true, - relative_install_path: "hw", - init_rc: ["android.hardware.health@1.0-service.rc"], - srcs: ["HealthService.cpp"], - - shared_libs: [ - "liblog", - "libcutils", - "libdl", - "libbase", - "libutils", - "libhidlbase", - "android.hardware.health@1.0", - ], -} diff --git a/health/1.0/default/Health.cpp b/health/1.0/default/Health.cpp deleted file mode 100644 index 1a02956f11..0000000000 --- a/health/1.0/default/Health.cpp +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define LOG_TAG "health-hal" - -#include -#include - -namespace android { -namespace hardware { -namespace health { -namespace V1_0 { -namespace implementation { - -using ::android::hardware::health::V1_0::hal_conversion::convertToHealthConfig; -using ::android::hardware::health::V1_0::hal_conversion::convertFromHealthConfig; -using ::android::hardware::health::V1_0::hal_conversion::convertToHealthInfo; -using ::android::hardware::health::V1_0::hal_conversion::convertFromHealthInfo; - -// Methods from ::android::hardware::health::V1_0::IHealth follow. -Return Health::init(const HealthConfig& config, init_cb _hidl_cb) { - struct healthd_config healthd_config = {}; - HealthConfig configOut; - - // To keep working with existing healthd static HALs, - // convert the new HealthConfig to the old healthd_config - // and back. - - convertFromHealthConfig(config, &healthd_config); - healthd_board_init(&healthd_config); - mGetEnergyCounter = healthd_config.energyCounter; - convertToHealthConfig(&healthd_config, configOut); - - _hidl_cb(configOut); - - return Void(); -} - -Return Health::update(const HealthInfo& info, update_cb _hidl_cb) { - struct android::BatteryProperties p = {}; - HealthInfo infoOut; - - // To keep working with existing healthd static HALs, - // convert the new HealthInfo to android::Batteryproperties - // and back. - - convertFromHealthInfo(info, &p); - int skipLogging = healthd_board_battery_update(&p); - convertToHealthInfo(&p, infoOut); - - _hidl_cb(!!skipLogging, infoOut); - - return Void(); -} - -Return Health::energyCounter(energyCounter_cb _hidl_cb) { - int64_t energy = 0; - Result result = Result::NOT_SUPPORTED; - - if (mGetEnergyCounter) { - int status = mGetEnergyCounter(&energy); - if (status == 0) { - result = Result::SUCCESS; - } - } - - _hidl_cb(result, energy); - - return Void(); -} - -IHealth* HIDL_FETCH_IHealth(const char* /* name */) { - return new Health(); -} - -} // namespace implementation -} // namespace V1_0 -} // namespace health -} // namespace hardware -} // namespace android diff --git a/health/1.0/default/Health.h b/health/1.0/default/Health.h deleted file mode 100644 index ed364c1132..0000000000 --- a/health/1.0/default/Health.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef ANDROID_HARDWARE_HEALTH_V1_0_HEALTH_H -#define ANDROID_HARDWARE_HEALTH_V1_0_HEALTH_H - -#include -#include -#include -#include -#include - -namespace android { -namespace hardware { -namespace health { -namespace V1_0 { -namespace implementation { - -using ::android::hardware::health::V1_0::HealthInfo; -using ::android::hardware::health::V1_0::HealthConfig; -using ::android::hardware::health::V1_0::IHealth; -using ::android::hardware::Return; -using ::android::hardware::Void; -using ::android::hardware::hidl_vec; -using ::android::hardware::hidl_string; -using ::android::sp; - -struct Health : public IHealth { - // Methods from ::android::hardware::health::V1_0::IHealth follow. - Return init(const HealthConfig& config, init_cb _hidl_cb) override; - Return update(const HealthInfo& info, update_cb _hidl_cb) override; - Return energyCounter(energyCounter_cb _hidl_cb) override; -private: - std::function mGetEnergyCounter; -}; - -extern "C" IHealth* HIDL_FETCH_IHealth(const char* name); - -} // namespace implementation -} // namespace V1_0 -} // namespace health -} // namespace hardware -} // namespace android - -#endif // ANDROID_HARDWARE_HEALTH_V1_0_HEALTH_H diff --git a/health/1.0/default/HealthService.cpp b/health/1.0/default/HealthService.cpp deleted file mode 100644 index 55848d2841..0000000000 --- a/health/1.0/default/HealthService.cpp +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define LOG_TAG "android.hardware.health@1.0-service" - -#include -#include - -using android::hardware::health::V1_0::IHealth; -using android::hardware::defaultPassthroughServiceImplementation; - -int main() { - return defaultPassthroughServiceImplementation(); -} diff --git a/health/1.0/default/README.md b/health/1.0/default/README.md deleted file mode 100644 index 1ded7dede5..0000000000 --- a/health/1.0/default/README.md +++ /dev/null @@ -1,66 +0,0 @@ -# Implement the 2.1 HAL instead! - -It is strongly recommended that you implement the 2.1 HAL directly. See -`hardware/interfaces/health/2.1/README.md` for more details. - -# Implement Health 1.0 HAL - -1. Install common binderized service. The binderized service `dlopen()`s - passthrough implementations on the device, so there is no need to write - your own. - - ```mk - # Install default binderized implementation to vendor. - PRODUCT_PACKAGES += android.hardware.health@1.0-service - ``` - -1. Add proper VINTF manifest entry to your device manifest. Example: - - ```xml - - android.hardware.health - hwbinder - 1.0 - - IHealth - default - - - ``` - -1. Install the proper passthrough implemetation. - - 1. If you want to use the default implementation (with default `libhealthd`), - add the following to `device.mk`: - - ```mk - PRODUCT_PACKAGES += \ - android.hardware.health@1.0-impl - ``` - - 1. Otherwise, if you have a customized `libhealthd.`: - - 1. Define your passthrough implementation. Example (replace `` - and `` accordingly): - - ```bp - cc_library_shared { - name: "android.hardware.health@1.0-impl-", - vendor: true, - relative_install_path: "hw", - - static_libs: [ - "android.hardware.health@1.0-impl-helper", - "android.hardware.health@1.0-convert", - "libhealthd.", - ], - } - ``` - - 1. Add to `device.mk`. - - ``` - PRODUCT_PACKAGES += android.hardware.health@1.0-impl- - ``` - - 1. Define appropriate SELinux permissions. diff --git a/health/1.0/default/android.hardware.health@1.0-service.rc b/health/1.0/default/android.hardware.health@1.0-service.rc deleted file mode 100644 index 569dc8851a..0000000000 --- a/health/1.0/default/android.hardware.health@1.0-service.rc +++ /dev/null @@ -1,5 +0,0 @@ -service vendor.health-hal-1-0 /vendor/bin/hw/android.hardware.health@1.0-service - class hal - user system - group system - capabilities WAKE_ALARM BLOCK_SUSPEND diff --git a/health/1.0/default/libhealthd/Android.bp b/health/1.0/default/libhealthd/Android.bp deleted file mode 100644 index 43463eb4bd..0000000000 --- a/health/1.0/default/libhealthd/Android.bp +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2016 The Android Open Source Project - -cc_library_static { - srcs: ["healthd_board_default.cpp"], - name: "libhealthd.default", - vendor_available: true, - recovery_available: true, - cflags: ["-Werror"], - include_dirs: ["system/libbase/include"], - header_libs: ["libhealthd_headers"], -} diff --git a/health/1.0/default/libhealthd/healthd_board_default.cpp b/health/1.0/default/libhealthd/healthd_board_default.cpp deleted file mode 100644 index 127f98e444..0000000000 --- a/health/1.0/default/libhealthd/healthd_board_default.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2013 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -void healthd_board_init(struct healthd_config*) -{ - // use defaults -} - -int healthd_board_battery_update(struct android::BatteryProperties*) -{ - // return 0 to log periodic polled battery status to kernel log - return 0; -} diff --git a/health/1.0/vts/functional/Android.bp b/health/1.0/vts/functional/Android.bp deleted file mode 100644 index f4a04a7308..0000000000 --- a/health/1.0/vts/functional/Android.bp +++ /dev/null @@ -1,23 +0,0 @@ -// -// Copyright (C) 2017 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -cc_test { - name: "VtsHalHealthV1_0TargetTest", - defaults: ["VtsHalTargetTestDefaults"], - srcs: ["VtsHalHealthV1_0TargetTest.cpp"], - static_libs: ["android.hardware.health@1.0"], - test_suites: ["general-tests", "vts"], -} diff --git a/health/1.0/vts/functional/VtsHalHealthV1_0TargetTest.cpp b/health/1.0/vts/functional/VtsHalHealthV1_0TargetTest.cpp deleted file mode 100644 index 8b3dcc1f5d..0000000000 --- a/health/1.0/vts/functional/VtsHalHealthV1_0TargetTest.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define LOG_TAG "health_hidl_hal_test" - -#include -#include -#include -#include -#include -#include - -using HealthConfig = ::android::hardware::health::V1_0::HealthConfig; -using HealthInfo = ::android::hardware::health::V1_0::HealthInfo; -using IHealth = ::android::hardware::health::V1_0::IHealth; -using Result = ::android::hardware::health::V1_0::Result; - -using ::android::sp; - -class HealthHidlTest : public ::testing::TestWithParam { - public: - virtual void SetUp() override { - health = IHealth::getService(GetParam()); - ASSERT_NE(health, nullptr); - health->init(config, - [&](const auto& halConfigOut) { config = halConfigOut; }); - } - - sp health; - HealthConfig config; -}; - -/** - * Ensure EnergyCounter call returns positive energy counter or NOT_SUPPORTED - */ -TEST_P(HealthHidlTest, TestEnergyCounter) { - Result result; - int64_t energy = 0; - health->energyCounter([&](Result ret, int64_t energyOut) { - result = ret; - energy = energyOut; - }); - - ASSERT_TRUE(result == Result::SUCCESS || result == Result::NOT_SUPPORTED); - ASSERT_TRUE(result != Result::SUCCESS || energy > 0); -} - -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(HealthHidlTest); -INSTANTIATE_TEST_SUITE_P( - PerInstance, HealthHidlTest, - testing::ValuesIn(android::hardware::getAllHalInstanceNames(IHealth::descriptor)), - android::hardware::PrintInstanceNameToString);