diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java index 44aaec7470610..2b49f66873db9 100644 --- a/media/java/android/media/AudioAttributes.java +++ b/media/java/android/media/AudioAttributes.java @@ -505,6 +505,16 @@ public final class AudioAttributes implements Parcelable { return (mFlags & FLAG_ALL); } + /** + * @hide + * Return usage, even the non-public ones. + * Internal use only + * @return one of the values that can be set in {@link Builder#setUsage(int)} + */ + public int getSystemUsage() { + return mUsage; + } + /** * @hide * Return the Bundle of data. diff --git a/media/java/android/media/audiopolicy/AudioProductStrategy.java b/media/java/android/media/audiopolicy/AudioProductStrategy.java index a62e847f320aa..75c6e1e7fcaf5 100644 --- a/media/java/android/media/audiopolicy/AudioProductStrategy.java +++ b/media/java/android/media/audiopolicy/AudioProductStrategy.java @@ -336,8 +336,8 @@ public final class AudioProductStrategy implements Parcelable { if (refAttr.equals(sDefaultAttributes)) { return false; } - return ((refAttr.getUsage() == AudioAttributes.USAGE_UNKNOWN) - || (attr.getUsage() == refAttr.getUsage())) + return ((refAttr.getSystemUsage() == AudioAttributes.USAGE_UNKNOWN) + || (attr.getSystemUsage() == refAttr.getSystemUsage())) && ((refAttr.getContentType() == AudioAttributes.CONTENT_TYPE_UNKNOWN) || (attr.getContentType() == refAttr.getContentType())) && ((refAttr.getAllFlags() == 0)