From b3f1415d7b3a38e833dc24992edd9aac99500688 Mon Sep 17 00:00:00 2001 From: Greg Kaiser Date: Mon, 28 Oct 2024 13:33:32 +0000 Subject: [PATCH] Revert "Add Media Quality Service AIDL default implementation" Revert submission 29740730-media_quality_default_hal Reason for revert: b/375852777 ; introduced a non-functioning test breaking VTS runs Reverted changes: /q/submissionid:29740730-media_quality_default_hal Change-Id: I42a1720e3e2e50ddbe4e1530513de41034422c0c --- .../compatibility_matrix.202504.xml | 8 -- tv/mediaquality/OWNERS | 3 - tv/mediaquality/aidl/Android.bp | 30 -------- .../tv/mediaquality/IMediaQuality.aidl | 39 ---------- .../tv/mediaquality/IMediaQuality.aidl | 42 ----------- tv/mediaquality/aidl/default/Android.bp | 24 ------ .../default/hal/media_quality_hal_impl.rs | 52 ------------- tv/mediaquality/aidl/default/hal/mod.rs | 17 ----- tv/mediaquality/aidl/default/main.rs | 45 ------------ .../aidl/default/mediaquality-default.rc | 4 - .../aidl/default/mediaquality-default.xml | 6 -- .../aidl/vts/functional/Android.bp | 41 ----------- .../vts/functional/VtsHalMediaQualityTest.cpp | 73 ------------------- 13 files changed, 384 deletions(-) delete mode 100644 tv/mediaquality/OWNERS delete mode 100644 tv/mediaquality/aidl/Android.bp delete mode 100644 tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/IMediaQuality.aidl delete mode 100644 tv/mediaquality/aidl/android/hardware/tv/mediaquality/IMediaQuality.aidl delete mode 100644 tv/mediaquality/aidl/default/Android.bp delete mode 100644 tv/mediaquality/aidl/default/hal/media_quality_hal_impl.rs delete mode 100644 tv/mediaquality/aidl/default/hal/mod.rs delete mode 100644 tv/mediaquality/aidl/default/main.rs delete mode 100644 tv/mediaquality/aidl/default/mediaquality-default.rc delete mode 100644 tv/mediaquality/aidl/default/mediaquality-default.xml delete mode 100644 tv/mediaquality/aidl/vts/functional/Android.bp delete mode 100644 tv/mediaquality/aidl/vts/functional/VtsHalMediaQualityTest.cpp diff --git a/compatibility_matrices/compatibility_matrix.202504.xml b/compatibility_matrices/compatibility_matrix.202504.xml index f9edde27ff..616a70103f 100644 --- a/compatibility_matrices/compatibility_matrix.202504.xml +++ b/compatibility_matrices/compatibility_matrix.202504.xml @@ -676,14 +676,6 @@ default - - android.hardware.tv.mediaquality - 1 - - IMediaQuality - default - - mapper diff --git a/tv/mediaquality/OWNERS b/tv/mediaquality/OWNERS deleted file mode 100644 index 35ca732bb8..0000000000 --- a/tv/mediaquality/OWNERS +++ /dev/null @@ -1,3 +0,0 @@ -quxiangfang@google.com -shubang@google.com -haofanw@google.com \ No newline at end of file diff --git a/tv/mediaquality/aidl/Android.bp b/tv/mediaquality/aidl/Android.bp deleted file mode 100644 index 1f273eb29b..0000000000 --- a/tv/mediaquality/aidl/Android.bp +++ /dev/null @@ -1,30 +0,0 @@ -package { - // See: http://go/android-license-faq - // A large-scale-change added 'default_applicable_licenses' to import - // all of the 'license_kinds' from "hardware_interfaces_license" - // to get the below license kinds: - // SPDX-license-identifier-Apache-2.0 - default_applicable_licenses: ["hardware_interfaces_license"], -} - -aidl_interface { - name: "android.hardware.tv.mediaquality", - vendor_available: true, - owner: "haofanw", - srcs: [ - "android/hardware/tv/mediaquality/*.aidl", - ], - stability: "vintf", - backend: { - java: { - sdk_version: "module_current", - }, - ndk: { - enabled: true, - }, - rust: { - enabled: true, - }, - }, - frozen: false, -} diff --git a/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/IMediaQuality.aidl b/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/IMediaQuality.aidl deleted file mode 100644 index 6e8b23a3ed..0000000000 --- a/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/IMediaQuality.aidl +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2024 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. - */ -/////////////////////////////////////////////////////////////////////////////// -// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // -/////////////////////////////////////////////////////////////////////////////// - -// This file is a snapshot of an AIDL file. Do not edit it manually. There are -// two cases: -// 1). this is a frozen version file - do not edit this in any case. -// 2). this is a 'current' file. If you make a backwards compatible change to -// the interface (from the latest frozen version), the build system will -// prompt you to update this file with `m -update-api`. -// -// You must not make a backward incompatible change to any AIDL file built -// with the aidl_interface module type with versions property set. The module -// type is used to build AIDL files in a way that they can be used across -// independently updatable components of the system. If a device is shipped -// with such a backward incompatible change, it has a high risk of breaking -// later when a module using the interface is updated, e.g., Mainline modules. - -package android.hardware.tv.mediaquality; -@VintfStability -interface IMediaQuality { - void setAmbientLightDetectionEnabled(in boolean enabled); - boolean getAmbientLightDetectionEnabled(); -} diff --git a/tv/mediaquality/aidl/android/hardware/tv/mediaquality/IMediaQuality.aidl b/tv/mediaquality/aidl/android/hardware/tv/mediaquality/IMediaQuality.aidl deleted file mode 100644 index f75d6d1736..0000000000 --- a/tv/mediaquality/aidl/android/hardware/tv/mediaquality/IMediaQuality.aidl +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2024 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. - */ - -package android.hardware.tv.mediaquality; - -/** - * Interface for the media quality service - */ -@VintfStability -interface IMediaQuality { - /** - * Sets the ambient backlight detection enabled or disabled. The ambient backlight is the - * projection of light against the wall driven by the current content playing. Enable will - * detects the Ambient backlight metadata and ambient control app can control the related - * device as configured before. - * - * @param enabled True to enable the ambient light detection, false to disable. - */ - void setAmbientLightDetectionEnabled(in boolean enabled); - - /** - * Gets the ambient light detection enabled status. The ambient light is enabled by - * calling setAmbientLightDetectionEnabled(in boolean enabled). True to enable the ambient - * light detection and False to disable the ambient light detection. - * - * @return True if the ambient light detection is enabled, false otherwise. - */ - boolean getAmbientLightDetectionEnabled(); -} diff --git a/tv/mediaquality/aidl/default/Android.bp b/tv/mediaquality/aidl/default/Android.bp deleted file mode 100644 index e25b01fdc5..0000000000 --- a/tv/mediaquality/aidl/default/Android.bp +++ /dev/null @@ -1,24 +0,0 @@ -package { - // See: http://go/android-license-faq - // A large-scale-change added 'default_applicable_licenses' to import - // all of the 'license_kinds' from "hardware_interfaces_license" - // to get the below license kinds: - // SPDX-license-identifier-Apache-2.0 - default_applicable_licenses: ["hardware_interfaces_license"], -} - -rust_binary { - name: "android.hardware.tv.mediaquality-service.example", - relative_install_path: "hw", - init_rc: ["mediaquality-default.rc"], - vintf_fragments: ["mediaquality-default.xml"], - vendor: true, - rustlibs: [ - "libandroid_logger", - "liblogger", - "liblog_rust", - "libbinder_rs", - "android.hardware.tv.mediaquality-V1-rust", - ], - srcs: ["main.rs"], -} diff --git a/tv/mediaquality/aidl/default/hal/media_quality_hal_impl.rs b/tv/mediaquality/aidl/default/hal/media_quality_hal_impl.rs deleted file mode 100644 index c739ac8c34..0000000000 --- a/tv/mediaquality/aidl/default/hal/media_quality_hal_impl.rs +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (C) 2024 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. - */ -//! This module implements the IMediaQuality AIDL interface. - -use android_hardware_tv_mediaquality::aidl::android::hardware::tv::mediaquality::{ - IMediaQuality::IMediaQuality, -}; -use binder::Interface; -use std::sync::{Arc, Mutex}; -/// Defined so we can implement the IMediaQuality AIDL interface. -pub struct MediaQualityService { - ambient_light_enabled: Arc> -} - -impl MediaQualityService { - - /// Create a new instance of the MediaQualityService. - pub fn new() -> Self { - Self { - ambient_light_enabled: Arc::new(Mutex::new(false)), - } - } -} - -impl Interface for MediaQualityService {} - -impl IMediaQuality for MediaQualityService { - fn setAmbientLightDetectionEnabled(&self, enabled: bool) -> binder::Result<()> { - println!("Received enabled: {}", enabled); - let mut ambient_light_enabled = self.ambient_light_enabled.lock().unwrap(); - *ambient_light_enabled = enabled; - Ok(()) - } - - fn getAmbientLightDetectionEnabled(&self) -> binder::Result { - let ambient_light_enabled = self.ambient_light_enabled.lock().unwrap(); - Ok(*ambient_light_enabled) - } -} diff --git a/tv/mediaquality/aidl/default/hal/mod.rs b/tv/mediaquality/aidl/default/hal/mod.rs deleted file mode 100644 index 5b5d4ac18f..0000000000 --- a/tv/mediaquality/aidl/default/hal/mod.rs +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2024 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. - */ - -pub mod media_quality_hal_impl; \ No newline at end of file diff --git a/tv/mediaquality/aidl/default/main.rs b/tv/mediaquality/aidl/default/main.rs deleted file mode 100644 index f0cccb439c..0000000000 --- a/tv/mediaquality/aidl/default/main.rs +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2024 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. - */ -//! This implements the MediaQuality Example Service. -use android_hardware_tv_mediaquality::aidl::android::hardware::tv::mediaquality::IMediaQuality::{BnMediaQuality, IMediaQuality}; -use binder::BinderFeatures; - -mod hal; -use hal::media_quality_hal_impl::MediaQualityService; - -const LOG_TAG: &str = "mediaquality_service_example_rust"; - -use log::LevelFilter; - -fn main() { - - android_logger::init_once( - android_logger::Config::default() - .with_tag(LOG_TAG) - .with_max_level(LevelFilter::Info), - ); - - let media_quality_service = MediaQualityService::new(); - let media_quality_service_binder = BnMediaQuality::new_binder(media_quality_service, BinderFeatures::default()); - - let service_name = format!("{}/default", MediaQualityService::get_descriptor()); - binder::add_service(&service_name, media_quality_service_binder.as_binder()) - .expect("Failed to register service"); - - log::info!("MediaQualityHal service is running..."); - - binder::ProcessState::join_thread_pool(); -} diff --git a/tv/mediaquality/aidl/default/mediaquality-default.rc b/tv/mediaquality/aidl/default/mediaquality-default.rc deleted file mode 100644 index 5a103a9909..0000000000 --- a/tv/mediaquality/aidl/default/mediaquality-default.rc +++ /dev/null @@ -1,4 +0,0 @@ -service vendor.mediaquality-default /vendor/bin/hw/android.hardware.tv.mediaquality-service.example - class hal - user nobody - group nobody diff --git a/tv/mediaquality/aidl/default/mediaquality-default.xml b/tv/mediaquality/aidl/default/mediaquality-default.xml deleted file mode 100644 index 865f663f27..0000000000 --- a/tv/mediaquality/aidl/default/mediaquality-default.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - android.hardware.tv.mediaquality - IMediaQuality/default - - \ No newline at end of file diff --git a/tv/mediaquality/aidl/vts/functional/Android.bp b/tv/mediaquality/aidl/vts/functional/Android.bp deleted file mode 100644 index b44740fe5a..0000000000 --- a/tv/mediaquality/aidl/vts/functional/Android.bp +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright (C) 2024 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. - -package { - default_team: "trendy_team_tv_os", - // See: http://go/android-license-faq - // A large-scale-change added 'default_applicable_licenses' to import - // all of the 'license_kinds' from "hardware_interfaces_license" - // to get the below license kinds: - // SPDX-license-identifier-Apache-2.0 - default_applicable_licenses: ["hardware_interfaces_license"], -} - -cc_test { - name: "VtsHalMediaQualityTargetTest", - defaults: [ - "VtsHalTargetTestDefaults", - "use_libaidlvintf_gtest_helper_static", - ], - srcs: ["VtsHalMediaQualityTest.cpp"], - shared_libs: [ - "libbinder", - ], - static_libs: [ - "android.hardware.tv.mediaquality-V1-cpp", - ], - test_suites: [ - "vts", - ], -} diff --git a/tv/mediaquality/aidl/vts/functional/VtsHalMediaQualityTest.cpp b/tv/mediaquality/aidl/vts/functional/VtsHalMediaQualityTest.cpp deleted file mode 100644 index 331e76d12a..0000000000 --- a/tv/mediaquality/aidl/vts/functional/VtsHalMediaQualityTest.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2024 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 "ambient_intelligence_light_aidl_hal_test" - -#include -#include -#include -#include -#include -#include -#include -#include - -using android::ProcessState; -using android::sp; -using android::String16; -using android::binder::Status; -using android::hardware::hidl_vec; -using android::hardware::Return; -using android::hardware::Void; -using android::hardware::tv::mediaquality::IMediaQuality; - -#define ASSERT_OK(ret) ASSERT_TRUE(ret.isOk()) -#define EXPECT_OK(ret) EXPECT_TRUE(ret.isOk()) - -class MediaQualityAidl : public testing::TestWithParam { - public: - void SetUp() override { - mediaquality = android::waitForDeclaredService(String16(GetParam().c_str())); - ASSERT_NE(mediaquality, nullptr); - } - - sp mediaquality; - - void TearDown() override {} -}; - -TEST_P(MediaQualityAidl, TestSetAmbientLightDetectionEnabled) { - ASSERT_OK(mediaquality->setAmbientLightDetectionEnabled(true)); -} - -TEST_P(MediaQualityAidl, TestGetAmbientLightDetectionEnabled) { - bool enabled; - Status status = mediaquality->getAmbientLightDetectionEnabled(&enabled); - ASSERT_TRUE(status.isOk()); - ASSERT_TRUE(enabled); -} - -INSTANTIATE_TEST_SUITE_P( - PerInstance, MediaQualityAidl, - testing::ValuesIn(android::getAidlHalInstanceNames(IMediaQuality::descriptor)), - android::PrintInstanceNameToString); - -int main(int argc, char** argv) { - ::testing::InitGoogleTest(&argc, argv); - ProcessState::self()->setThreadPoolMaxThreadCount(1); - ProcessState::self()->startThreadPool(); - return RUN_ALL_TESTS(); -}