From e9e26309fdc095a71a12b8de55cff3fbbf183b12 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Wed, 25 Mar 2020 09:24:05 -0700 Subject: [PATCH] AudioProductStrategy: fix attributesMatches() Use AudioAttributes.getSystemUsage() instead of getUsage() when comparing attributes as getUsage() defaults to UNKNOWN for system usages and causes a false match. Bug: 136121584 Test: build & run cts-dev -m CtsMediaTestCase --test android.media.cts.AudioProductStrategyTest Change-Id: I377e840b18443c33fb0b562b27fbc706aaeb8055 --- .../java/android/media/audiopolicy/AudioProductStrategy.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/media/java/android/media/audiopolicy/AudioProductStrategy.java b/media/java/android/media/audiopolicy/AudioProductStrategy.java index f9dbc50e20cff..090f78e4e4f74 100644 --- a/media/java/android/media/audiopolicy/AudioProductStrategy.java +++ b/media/java/android/media/audiopolicy/AudioProductStrategy.java @@ -374,8 +374,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)