Merge "Add sent default picture/audio parameter API" into main
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
index 9a15d15..006abee 100644
--- 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
@@ -50,9 +50,11 @@
android.hardware.tv.mediaquality.IPictureProfileChangedListener getPictureProfileListener();
void setPictureProfileAdjustmentListener(android.hardware.tv.mediaquality.IPictureProfileAdjustmentListener listener);
android.hardware.tv.mediaquality.PictureParameters getPictureParameters(long pictureProfileId);
+ void sendDefaultPictureParameters(in android.hardware.tv.mediaquality.PictureParameters pictureParameters);
android.hardware.tv.mediaquality.ISoundProfileChangedListener getSoundProfileListener();
void setSoundProfileAdjustmentListener(android.hardware.tv.mediaquality.ISoundProfileAdjustmentListener listener);
android.hardware.tv.mediaquality.SoundParameters getSoundParameters(long soundProfileId);
+ void sendDefaultSoundParameters(in android.hardware.tv.mediaquality.SoundParameters soundParameters);
void getParamCaps(in android.hardware.tv.mediaquality.ParameterName[] paramNames, out android.hardware.tv.mediaquality.ParamCapability[] caps);
void getVendorParamCaps(in android.hardware.tv.mediaquality.VendorParameterIdentifier[] names, out android.hardware.tv.mediaquality.VendorParamCapability[] caps);
}
diff --git a/tv/mediaquality/aidl/android/hardware/tv/mediaquality/IMediaQuality.aidl b/tv/mediaquality/aidl/android/hardware/tv/mediaquality/IMediaQuality.aidl
index 028621a..6a992a1 100644
--- a/tv/mediaquality/aidl/android/hardware/tv/mediaquality/IMediaQuality.aidl
+++ b/tv/mediaquality/aidl/android/hardware/tv/mediaquality/IMediaQuality.aidl
@@ -162,6 +162,15 @@
PictureParameters getPictureParameters(long pictureProfileId);
/**
+ * Send the default picture parameters to the vendor code or HAL to apply the picture
+ * parameters.
+ *
+ * @param pictureParameters PictureParameters with pre-defined parameters and vendor defined
+ * parameters.
+ */
+ void sendDefaultPictureParameters(in PictureParameters pictureParameters);
+
+ /**
* Get sound profile changed listener.
*
* @return the ISoundProfileChangedListener.
@@ -184,6 +193,14 @@
SoundParameters getSoundParameters(long soundProfileId);
/**
+ * Send the default sound parameters to the vendor code or HAL to apply the sound parameters.
+ *
+ * @param soundParameters SoundParameters with pre-defined parameters and vendor defined
+ * parameters.
+ */
+ void sendDefaultSoundParameters(in SoundParameters soundParameters);
+
+ /**
* Gets capability information of the given parameters.
*/
void getParamCaps(in ParameterName[] paramNames, out ParamCapability[] caps);
diff --git a/tv/mediaquality/aidl/default/hal/media_quality_hal_impl.rs b/tv/mediaquality/aidl/default/hal/media_quality_hal_impl.rs
index 2958a5e..35fb999 100644
--- a/tv/mediaquality/aidl/default/hal/media_quality_hal_impl.rs
+++ b/tv/mediaquality/aidl/default/hal/media_quality_hal_impl.rs
@@ -243,6 +243,11 @@
Ok(picture_params)
}
+ fn sendDefaultPictureParameters(&self, _picture_parameters: &PictureParameters) -> binder::Result<()>{
+ println!("Received picture parameters");
+ Ok(())
+ }
+
fn getSoundProfileListener(&self) -> binder::Result<binder::Strong<dyn ISoundProfileChangedListener>> {
println!("getSoundProfileListener");
let listener = self.sound_profile_changed_listener.lock().unwrap();
@@ -278,6 +283,11 @@
Ok(sound_params)
}
+ fn sendDefaultSoundParameters(&self, _sound_parameters: &SoundParameters) -> binder::Result<()>{
+ println!("Received sound parameters");
+ Ok(())
+ }
+
fn getParamCaps(
&self,
param_names: &[ParameterName],
diff --git a/tv/mediaquality/aidl/vts/functional/VtsHalMediaQualityTest.cpp b/tv/mediaquality/aidl/vts/functional/VtsHalMediaQualityTest.cpp
index 07e30e6..b508ed6 100644
--- a/tv/mediaquality/aidl/vts/functional/VtsHalMediaQualityTest.cpp
+++ b/tv/mediaquality/aidl/vts/functional/VtsHalMediaQualityTest.cpp
@@ -169,6 +169,13 @@
ASSERT_EQ(pictureParams.pictureParameters.size(), 2);
}
+TEST_P(MediaQualityAidl, TestSendDefaultPictureParameters) {
+ PictureParameters pictureParams;
+ auto result = mediaquality->getPictureParameters(1, &pictureParams);
+ ASSERT_TRUE(result.isOk());
+ ASSERT_OK(mediaquality->sendDefaultPictureParameters(pictureParams));
+}
+
TEST_P(MediaQualityAidl, TestSetSoundProfileAdjustmentListener) {
std::shared_ptr<SoundProfileAdjustmentListener> listener =
ndk::SharedRefBase::make<SoundProfileAdjustmentListener>(
@@ -183,6 +190,13 @@
ASSERT_EQ(soundParams.soundParameters.size(), 2);
}
+TEST_P(MediaQualityAidl, TestSendDefaultSoundParameters) {
+ SoundParameters soundParams;
+ auto result = mediaquality->getSoundParameters(1, &soundParams);
+ ASSERT_TRUE(result.isOk());
+ ASSERT_OK(mediaquality->sendDefaultSoundParameters(soundParams));
+}
+
TEST_P(MediaQualityAidl, TestSetAmbientBacklightDetector) {
AmbientBacklightSettings in_settings = {
.packageName = "com.android.mediaquality",