Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e52699cc authored by Haofan Wang's avatar Haofan Wang Committed by Android (Google) Code Review
Browse files

Merge "Add sent default picture/audio parameter API" into main

parents 9fb2edb4 778dcf27
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -50,9 +50,11 @@ interface IMediaQuality {
  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);
}
+17 −0
Original line number Diff line number Diff line
@@ -161,6 +161,15 @@ interface IMediaQuality {
     */
    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.
     *
@@ -183,6 +192,14 @@ interface IMediaQuality {
     */
    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.
     */
+10 −0
Original line number Diff line number Diff line
@@ -243,6 +243,11 @@ impl IMediaQuality for MediaQualityService {
        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 @@ impl IMediaQuality for MediaQualityService {
        Ok(sound_params)
    }

    fn sendDefaultSoundParameters(&self, _sound_parameters: &SoundParameters) -> binder::Result<()>{
        println!("Received sound parameters");
        Ok(())
    }

    fn getParamCaps(
            &self,
            param_names: &[ParameterName],
+14 −0
Original line number Diff line number Diff line
@@ -169,6 +169,13 @@ TEST_P(MediaQualityAidl, TestGetPictureParameters) {
    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 @@ TEST_P(MediaQualityAidl, TestGetSoundParameters) {
    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",