Loading services/core/java/com/android/server/media/quality/MediaQualityService.java +37 −2 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.hardware.tv.mediaquality.IPictureProfileChangedListener; import android.hardware.tv.mediaquality.ISoundProfileAdjustmentListener; import android.hardware.tv.mediaquality.ISoundProfileChangedListener; import android.hardware.tv.mediaquality.ParamCapability; import android.hardware.tv.mediaquality.ParameterDefaultValue; import android.hardware.tv.mediaquality.PictureParameter; import android.hardware.tv.mediaquality.PictureParameters; import android.hardware.tv.mediaquality.SoundParameter; Loading Loading @@ -1487,6 +1488,7 @@ public class MediaQualityService extends SystemService { boolean isSupported = pcHal.isSupported; int type = pcHal.defaultValue == null ? 0 : pcHal.defaultValue.getTag() + 1; Bundle bundle = MediaQualityUtils.convertToCaps(type, pcHal.range); putParamCapDefaultValueIntoBundle(bundle, pcHal.defaultValue); pcList.add(new ParameterCapability(name, isSupported, type, bundle)); } Loading @@ -1507,6 +1509,7 @@ public class MediaQualityService extends SystemService { == null ? 0 : vpcHal.defaultValue.getTag() + 1; Bundle paramRangeBundle = MediaQualityUtils.convertToCaps( type, vpcHal.range); putParamCapDefaultValueIntoBundle(paramRangeBundle, vpcHal.defaultValue); MediaQualityUtils.convertToVendorCaps(vpcHal, paramRangeBundle); pcList.add(new ParameterCapability( name, isSupported, type, paramRangeBundle)); Loading Loading @@ -2105,6 +2108,7 @@ public class MediaQualityService extends SystemService { boolean isSupported = cap.isSupported; int type = cap.defaultValue == null ? 0 : cap.defaultValue.getTag() + 1; Bundle bundle = MediaQualityUtils.convertToCaps(type, cap.range); putParamCapDefaultValueIntoBundle(bundle, cap.defaultValue); paramCaps.add(new ParameterCapability(name, isSupported, type, bundle)); } Loading Loading @@ -2323,9 +2327,10 @@ public class MediaQualityService extends SystemService { for (ParamCapability cap: caps) { String name = MediaQualityUtils.getParameterName(cap.name); boolean isSupported = cap.isSupported; //Reason for +1: please see getListParameterCapability() //Reason for +1: please see getParameterCapabilityList() int type = cap.defaultValue == null ? 0 : cap.defaultValue.getTag() + 1; Bundle bundle = MediaQualityUtils.convertToCaps(type, cap.range); putParamCapDefaultValueIntoBundle(bundle, cap.defaultValue); paramCaps.add(new ParameterCapability(name, isSupported, type, bundle)); } Loading @@ -2340,11 +2345,12 @@ public class MediaQualityService extends SystemService { for (VendorParamCapability vpcHal: caps) { String name = MediaQualityUtils.getVendorParameterName(vpcHal); boolean isSupported = vpcHal.isSupported; //Reason for +1: please see getListParameterCapability() //Reason for +1: please see getParameterCapabilityList() int type = vpcHal.defaultValue == null ? 0 : vpcHal.defaultValue.getTag() + 1; Bundle paramRangeBundle = MediaQualityUtils.convertToCaps( type, vpcHal.range); putParamCapDefaultValueIntoBundle(paramRangeBundle, vpcHal.defaultValue); MediaQualityUtils.convertToVendorCaps(vpcHal, paramRangeBundle); vendorParamCaps.add(new ParameterCapability( name, isSupported, type, paramRangeBundle)); Loading Loading @@ -2940,4 +2946,33 @@ public class MediaQualityService extends SystemService { } } } private void putParamCapDefaultValueIntoBundle( Bundle bundle, ParameterDefaultValue defaultValue) { if (defaultValue == null) { return; } switch (defaultValue.getTag()) { case ParameterDefaultValue.intDefault: bundle.putInt( ParameterCapability.CAPABILITY_DEFAULT, defaultValue.getIntDefault()); break; case ParameterDefaultValue.longDefault: bundle.putLong( ParameterCapability.CAPABILITY_DEFAULT, defaultValue.getLongDefault()); break; case ParameterDefaultValue.doubleDefault: bundle.putDouble( ParameterCapability.CAPABILITY_DEFAULT, defaultValue.getDoubleDefault()); break; case ParameterDefaultValue.stringDefault: bundle.putString( ParameterCapability.CAPABILITY_DEFAULT, defaultValue.getStringDefault()); break; default: Log.d(TAG, "putParamCapDefaultValueIntoBundle: " + "default value type is not supported for tag " + defaultValue.getTag()); } } } services/core/java/com/android/server/media/quality/MediaQualityUtils.java +31 −14 Original line number Diff line number Diff line Loading @@ -2143,6 +2143,20 @@ public final class MediaQualityUtils { } else if (type == ParameterDefaultValue.longDefault) { bundle.putObject(ParameterCapability.CAPABILITY_MIN, range.numRange.getLongMinMax()[0]); bundle.putObject(ParameterCapability.CAPABILITY_MAX, range.numRange.getLongMinMax()[1]); } else if (type == ParameterDefaultValue.stringDefault) { byte[] stringParameterValuesByte = Objects.requireNonNull( range.vendorDefinedValues.getParcelable(DefaultExtension.class)).bytes; Parcel paramCapRangeParcel = Parcel.obtain(); paramCapRangeParcel.unmarshall( stringParameterValuesByte, 0, stringParameterValuesByte.length ); paramCapRangeParcel.setDataPosition(0); int paramValuesSize = paramCapRangeParcel.readInt(); paramCapRangeParcel.setDataPosition(0); String[] stringParamValues = new String[paramValuesSize]; paramCapRangeParcel.readStringArray(stringParamValues); bundle.putObject(ParameterCapability.CAPABILITY_ENUM, stringParamValues); paramCapRangeParcel.recycle(); } return bundle; } Loading @@ -2154,6 +2168,7 @@ public final class MediaQualityUtils { * @param paramRangeBundle bundle that will contains vendor param defined values. */ public static void convertToVendorCaps(VendorParamCapability vpcHal, Bundle paramRangeBundle) { if (vpcHal != null && vpcHal.range != null) { byte[] vendorParamCapRangeByteArray = Objects.requireNonNull( vpcHal.range.vendorDefinedValues.getParcelable( DefaultExtension.class)).bytes; Loading @@ -2166,9 +2181,11 @@ public final class MediaQualityUtils { String[] vendorDefinedValues = new String[vendorDefinedValuesSize]; vendorParamCapRangeParcel.readStringArray(vendorDefinedValues); //TODO: Handle int, long and double array paramRangeBundle.putStringArray(ParameterCapability.CAPABILITY_ENUM, vendorDefinedValues); paramRangeBundle.putStringArray(ParameterCapability.CAPABILITY_ENUM, vendorDefinedValues); vendorParamCapRangeParcel.recycle(); } } private static String getTempId(BiMap<Long, String> map, Cursor cursor) { int colIndex = cursor.getColumnIndex(BaseParameters.PARAMETER_ID); Loading Loading
services/core/java/com/android/server/media/quality/MediaQualityService.java +37 −2 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.hardware.tv.mediaquality.IPictureProfileChangedListener; import android.hardware.tv.mediaquality.ISoundProfileAdjustmentListener; import android.hardware.tv.mediaquality.ISoundProfileChangedListener; import android.hardware.tv.mediaquality.ParamCapability; import android.hardware.tv.mediaquality.ParameterDefaultValue; import android.hardware.tv.mediaquality.PictureParameter; import android.hardware.tv.mediaquality.PictureParameters; import android.hardware.tv.mediaquality.SoundParameter; Loading Loading @@ -1487,6 +1488,7 @@ public class MediaQualityService extends SystemService { boolean isSupported = pcHal.isSupported; int type = pcHal.defaultValue == null ? 0 : pcHal.defaultValue.getTag() + 1; Bundle bundle = MediaQualityUtils.convertToCaps(type, pcHal.range); putParamCapDefaultValueIntoBundle(bundle, pcHal.defaultValue); pcList.add(new ParameterCapability(name, isSupported, type, bundle)); } Loading @@ -1507,6 +1509,7 @@ public class MediaQualityService extends SystemService { == null ? 0 : vpcHal.defaultValue.getTag() + 1; Bundle paramRangeBundle = MediaQualityUtils.convertToCaps( type, vpcHal.range); putParamCapDefaultValueIntoBundle(paramRangeBundle, vpcHal.defaultValue); MediaQualityUtils.convertToVendorCaps(vpcHal, paramRangeBundle); pcList.add(new ParameterCapability( name, isSupported, type, paramRangeBundle)); Loading Loading @@ -2105,6 +2108,7 @@ public class MediaQualityService extends SystemService { boolean isSupported = cap.isSupported; int type = cap.defaultValue == null ? 0 : cap.defaultValue.getTag() + 1; Bundle bundle = MediaQualityUtils.convertToCaps(type, cap.range); putParamCapDefaultValueIntoBundle(bundle, cap.defaultValue); paramCaps.add(new ParameterCapability(name, isSupported, type, bundle)); } Loading Loading @@ -2323,9 +2327,10 @@ public class MediaQualityService extends SystemService { for (ParamCapability cap: caps) { String name = MediaQualityUtils.getParameterName(cap.name); boolean isSupported = cap.isSupported; //Reason for +1: please see getListParameterCapability() //Reason for +1: please see getParameterCapabilityList() int type = cap.defaultValue == null ? 0 : cap.defaultValue.getTag() + 1; Bundle bundle = MediaQualityUtils.convertToCaps(type, cap.range); putParamCapDefaultValueIntoBundle(bundle, cap.defaultValue); paramCaps.add(new ParameterCapability(name, isSupported, type, bundle)); } Loading @@ -2340,11 +2345,12 @@ public class MediaQualityService extends SystemService { for (VendorParamCapability vpcHal: caps) { String name = MediaQualityUtils.getVendorParameterName(vpcHal); boolean isSupported = vpcHal.isSupported; //Reason for +1: please see getListParameterCapability() //Reason for +1: please see getParameterCapabilityList() int type = vpcHal.defaultValue == null ? 0 : vpcHal.defaultValue.getTag() + 1; Bundle paramRangeBundle = MediaQualityUtils.convertToCaps( type, vpcHal.range); putParamCapDefaultValueIntoBundle(paramRangeBundle, vpcHal.defaultValue); MediaQualityUtils.convertToVendorCaps(vpcHal, paramRangeBundle); vendorParamCaps.add(new ParameterCapability( name, isSupported, type, paramRangeBundle)); Loading Loading @@ -2940,4 +2946,33 @@ public class MediaQualityService extends SystemService { } } } private void putParamCapDefaultValueIntoBundle( Bundle bundle, ParameterDefaultValue defaultValue) { if (defaultValue == null) { return; } switch (defaultValue.getTag()) { case ParameterDefaultValue.intDefault: bundle.putInt( ParameterCapability.CAPABILITY_DEFAULT, defaultValue.getIntDefault()); break; case ParameterDefaultValue.longDefault: bundle.putLong( ParameterCapability.CAPABILITY_DEFAULT, defaultValue.getLongDefault()); break; case ParameterDefaultValue.doubleDefault: bundle.putDouble( ParameterCapability.CAPABILITY_DEFAULT, defaultValue.getDoubleDefault()); break; case ParameterDefaultValue.stringDefault: bundle.putString( ParameterCapability.CAPABILITY_DEFAULT, defaultValue.getStringDefault()); break; default: Log.d(TAG, "putParamCapDefaultValueIntoBundle: " + "default value type is not supported for tag " + defaultValue.getTag()); } } }
services/core/java/com/android/server/media/quality/MediaQualityUtils.java +31 −14 Original line number Diff line number Diff line Loading @@ -2143,6 +2143,20 @@ public final class MediaQualityUtils { } else if (type == ParameterDefaultValue.longDefault) { bundle.putObject(ParameterCapability.CAPABILITY_MIN, range.numRange.getLongMinMax()[0]); bundle.putObject(ParameterCapability.CAPABILITY_MAX, range.numRange.getLongMinMax()[1]); } else if (type == ParameterDefaultValue.stringDefault) { byte[] stringParameterValuesByte = Objects.requireNonNull( range.vendorDefinedValues.getParcelable(DefaultExtension.class)).bytes; Parcel paramCapRangeParcel = Parcel.obtain(); paramCapRangeParcel.unmarshall( stringParameterValuesByte, 0, stringParameterValuesByte.length ); paramCapRangeParcel.setDataPosition(0); int paramValuesSize = paramCapRangeParcel.readInt(); paramCapRangeParcel.setDataPosition(0); String[] stringParamValues = new String[paramValuesSize]; paramCapRangeParcel.readStringArray(stringParamValues); bundle.putObject(ParameterCapability.CAPABILITY_ENUM, stringParamValues); paramCapRangeParcel.recycle(); } return bundle; } Loading @@ -2154,6 +2168,7 @@ public final class MediaQualityUtils { * @param paramRangeBundle bundle that will contains vendor param defined values. */ public static void convertToVendorCaps(VendorParamCapability vpcHal, Bundle paramRangeBundle) { if (vpcHal != null && vpcHal.range != null) { byte[] vendorParamCapRangeByteArray = Objects.requireNonNull( vpcHal.range.vendorDefinedValues.getParcelable( DefaultExtension.class)).bytes; Loading @@ -2166,9 +2181,11 @@ public final class MediaQualityUtils { String[] vendorDefinedValues = new String[vendorDefinedValuesSize]; vendorParamCapRangeParcel.readStringArray(vendorDefinedValues); //TODO: Handle int, long and double array paramRangeBundle.putStringArray(ParameterCapability.CAPABILITY_ENUM, vendorDefinedValues); paramRangeBundle.putStringArray(ParameterCapability.CAPABILITY_ENUM, vendorDefinedValues); vendorParamCapRangeParcel.recycle(); } } private static String getTempId(BiMap<Long, String> map, Cursor cursor) { int colIndex = cursor.getColumnIndex(BaseParameters.PARAMETER_ID); Loading