Loading media/java/android/media/quality/MediaQualityContract.java +1 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ public class MediaQualityContract { String PARAMETER_NAME = "_name"; String PARAMETER_PACKAGE = "_package"; String PARAMETER_INPUT_ID = "_input_id"; String VENDOR_PARAMETERS = "_vendor_parameters"; } /** Loading services/core/Android.bp +5 −4 Original line number Diff line number Diff line Loading @@ -138,6 +138,7 @@ java_library_static { "ondeviceintelligence_conditionally", ], srcs: [ ":android.hardware.audio.effect-V1-java-source", ":android.hardware.tv.hdmi.connection-V1-java-source", ":android.hardware.tv.hdmi.earc-V1-java-source", ":android.hardware.tv.mediaquality-V1-java-source", Loading services/core/java/com/android/server/media/quality/MediaQualityService.java +31 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.hardware.audio.effect.DefaultExtension; import android.hardware.tv.mediaquality.AmbientBacklightColorFormat; import android.hardware.tv.mediaquality.IMediaQuality; import android.hardware.tv.mediaquality.IPictureProfileAdjustmentListener; Loading Loading @@ -57,6 +58,7 @@ import android.os.Binder; import android.os.Bundle; import android.os.Environment; import android.os.IBinder; import android.os.Parcel; import android.os.PersistableBundle; import android.os.RemoteCallbackList; import android.os.RemoteException; Loading Loading @@ -365,13 +367,21 @@ public class MediaQualityService extends SystemService { try { if (mMediaQuality != null) { PictureParameters pp = new PictureParameters(); PictureParameter[] pictureParameters = MediaQualityUtils .convertPersistableBundleToPictureParameterList(params); PictureParameters pp = new PictureParameters(); PersistableBundle vendorPictureParameters = params .getPersistableBundle(BaseParameters.VENDOR_PARAMETERS); Parcel parcel = Parcel.obtain(); if (vendorPictureParameters != null) { setVendorPictureParameters(pp, parcel, vendorPictureParameters); } pp.pictureParameters = pictureParameters; mMediaQuality.sendDefaultPictureParameters(pp); parcel.recycle(); return true; } } catch (RemoteException e) { Loading Loading @@ -1419,11 +1429,19 @@ public class MediaQualityService extends SystemService { MediaQualityUtils.convertPersistableBundleToPictureParameterList( params); PersistableBundle vendorPictureParameters = params .getPersistableBundle(BaseParameters.VENDOR_PARAMETERS); Parcel parcel = Parcel.obtain(); if (vendorPictureParameters != null) { setVendorPictureParameters(pictureParameters, parcel, vendorPictureParameters); } android.hardware.tv.mediaquality.PictureProfile toReturn = new android.hardware.tv.mediaquality.PictureProfile(); toReturn.pictureProfileId = id; toReturn.parameters = pictureParameters; parcel.recycle(); return toReturn; } Loading Loading @@ -1729,4 +1747,16 @@ public class MediaQualityService extends SystemService { return android.hardware.tv.mediaquality.IMediaQualityCallback.Stub.VERSION; } } private void setVendorPictureParameters( PictureParameters pictureParameters, Parcel parcel, PersistableBundle vendorPictureParameters) { vendorPictureParameters.writeToParcel(parcel, 0); byte[] vendorBundleToByteArray = parcel.marshall(); DefaultExtension defaultExtension = new DefaultExtension(); defaultExtension.bytes = Arrays.copyOf( vendorBundleToByteArray, vendorBundleToByteArray.length); pictureParameters.vendorPictureParameters.setParcelable(defaultExtension); } } Loading
media/java/android/media/quality/MediaQualityContract.java +1 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ public class MediaQualityContract { String PARAMETER_NAME = "_name"; String PARAMETER_PACKAGE = "_package"; String PARAMETER_INPUT_ID = "_input_id"; String VENDOR_PARAMETERS = "_vendor_parameters"; } /** Loading
services/core/Android.bp +5 −4 Original line number Diff line number Diff line Loading @@ -138,6 +138,7 @@ java_library_static { "ondeviceintelligence_conditionally", ], srcs: [ ":android.hardware.audio.effect-V1-java-source", ":android.hardware.tv.hdmi.connection-V1-java-source", ":android.hardware.tv.hdmi.earc-V1-java-source", ":android.hardware.tv.mediaquality-V1-java-source", Loading
services/core/java/com/android/server/media/quality/MediaQualityService.java +31 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.hardware.audio.effect.DefaultExtension; import android.hardware.tv.mediaquality.AmbientBacklightColorFormat; import android.hardware.tv.mediaquality.IMediaQuality; import android.hardware.tv.mediaquality.IPictureProfileAdjustmentListener; Loading Loading @@ -57,6 +58,7 @@ import android.os.Binder; import android.os.Bundle; import android.os.Environment; import android.os.IBinder; import android.os.Parcel; import android.os.PersistableBundle; import android.os.RemoteCallbackList; import android.os.RemoteException; Loading Loading @@ -365,13 +367,21 @@ public class MediaQualityService extends SystemService { try { if (mMediaQuality != null) { PictureParameters pp = new PictureParameters(); PictureParameter[] pictureParameters = MediaQualityUtils .convertPersistableBundleToPictureParameterList(params); PictureParameters pp = new PictureParameters(); PersistableBundle vendorPictureParameters = params .getPersistableBundle(BaseParameters.VENDOR_PARAMETERS); Parcel parcel = Parcel.obtain(); if (vendorPictureParameters != null) { setVendorPictureParameters(pp, parcel, vendorPictureParameters); } pp.pictureParameters = pictureParameters; mMediaQuality.sendDefaultPictureParameters(pp); parcel.recycle(); return true; } } catch (RemoteException e) { Loading Loading @@ -1419,11 +1429,19 @@ public class MediaQualityService extends SystemService { MediaQualityUtils.convertPersistableBundleToPictureParameterList( params); PersistableBundle vendorPictureParameters = params .getPersistableBundle(BaseParameters.VENDOR_PARAMETERS); Parcel parcel = Parcel.obtain(); if (vendorPictureParameters != null) { setVendorPictureParameters(pictureParameters, parcel, vendorPictureParameters); } android.hardware.tv.mediaquality.PictureProfile toReturn = new android.hardware.tv.mediaquality.PictureProfile(); toReturn.pictureProfileId = id; toReturn.parameters = pictureParameters; parcel.recycle(); return toReturn; } Loading Loading @@ -1729,4 +1747,16 @@ public class MediaQualityService extends SystemService { return android.hardware.tv.mediaquality.IMediaQualityCallback.Stub.VERSION; } } private void setVendorPictureParameters( PictureParameters pictureParameters, Parcel parcel, PersistableBundle vendorPictureParameters) { vendorPictureParameters.writeToParcel(parcel, 0); byte[] vendorBundleToByteArray = parcel.marshall(); DefaultExtension defaultExtension = new DefaultExtension(); defaultExtension.bytes = Arrays.copyOf( vendorBundleToByteArray, vendorBundleToByteArray.length); pictureParameters.vendorPictureParameters.setParcelable(defaultExtension); } }