Remove impl and VTS for health 1.0.

It is removed.

Bug: 171260613
Test: TH
Change-Id: Ieea9cc1c574c0f03e60ff83f5607e67b9da6eecd
This commit is contained in:
Yifan Hong
2021-01-15 13:40:28 -08:00
parent 55ac62f92d
commit 152abdcce8
10 changed files with 0 additions and 434 deletions

View File

@@ -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",
],
}

View File

@@ -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 <Health.h>
#include <include/hal_conversion.h>
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<void> 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<void> 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<void> 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

View File

@@ -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 <android/hardware/health/1.0/IHealth.h>
#include <hidl/Status.h>
#include <hidl/MQDescriptor.h>
#include <healthd/healthd.h>
#include <utils/String8.h>
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<void> init(const HealthConfig& config, init_cb _hidl_cb) override;
Return<void> update(const HealthInfo& info, update_cb _hidl_cb) override;
Return<void> energyCounter(energyCounter_cb _hidl_cb) override;
private:
std::function<int(int64_t *)> 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

View File

@@ -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 <android/hardware/health/1.0/IHealth.h>
#include <hidl/LegacySupport.h>
using android::hardware::health::V1_0::IHealth;
using android::hardware::defaultPassthroughServiceImplementation;
int main() {
return defaultPassthroughServiceImplementation<IHealth>();
}

View File

@@ -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
<hal format="hidl">
<name>android.hardware.health</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IHealth</name>
<instance>default</instance>
</interface>
</hal>
```
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.<board>`:
1. Define your passthrough implementation. Example (replace `<device>`
and `<board>` accordingly):
```bp
cc_library_shared {
name: "android.hardware.health@1.0-impl-<device>",
vendor: true,
relative_install_path: "hw",
static_libs: [
"android.hardware.health@1.0-impl-helper",
"android.hardware.health@1.0-convert",
"libhealthd.<board>",
],
}
```
1. Add to `device.mk`.
```
PRODUCT_PACKAGES += android.hardware.health@1.0-impl-<device>
```
1. Define appropriate SELinux permissions.

View File

@@ -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

View File

@@ -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"],
}

View File

@@ -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 <healthd/healthd.h>
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;
}

View File

@@ -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"],
}

View File

@@ -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 <android/hardware/health/1.0/IHealth.h>
#include <android/hardware/health/1.0/types.h>
#include <gtest/gtest.h>
#include <hidl/GtestPrinter.h>
#include <hidl/ServiceManagement.h>
#include <log/log.h>
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<std::string> {
public:
virtual void SetUp() override {
health = IHealth::getService(GetParam());
ASSERT_NE(health, nullptr);
health->init(config,
[&](const auto& halConfigOut) { config = halConfigOut; });
}
sp<IHealth> 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);