From fee832a09734bd8d78501122d94111474fa791b7 Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Fri, 29 Jan 2016 16:33:55 -0800 Subject: [PATCH] Dynamic audio policies: fix AttributeMatchCriterion addition in mix When adding an AttributeMatchCriterion for a mix, build the instance with the constructor that matches the rule. Bug 26798796 Change-Id: I130f4bdab51644685413d294096d35d9685ea5eb --- .../android/media/audiopolicy/AudioMixingRule.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/media/java/android/media/audiopolicy/AudioMixingRule.java b/media/java/android/media/audiopolicy/AudioMixingRule.java index f9fdd8daa89aa..54543ec43f89a 100644 --- a/media/java/android/media/audiopolicy/AudioMixingRule.java +++ b/media/java/android/media/audiopolicy/AudioMixingRule.java @@ -428,8 +428,17 @@ public class AudioMixingRule { } } // rule didn't exist, add it - // FIXME doesn't work with RULE_MATCH_UID yet - mCriteria.add(new AttributeMatchCriterion(attrToMatch, rule)); + switch (match_rule) { + case RULE_MATCH_ATTRIBUTE_USAGE: + case RULE_MATCH_ATTRIBUTE_CAPTURE_PRESET: + mCriteria.add(new AttributeMatchCriterion(attrToMatch, rule)); + break; + case RULE_MATCH_UID: + mCriteria.add(new AttributeMatchCriterion(intProp, rule)); + break; + default: + throw new IllegalStateException("Unreachable code in addRuleInternal()"); + } } return this; }