Loading api/current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -23406,10 +23406,10 @@ package android.media { public static final class AudioPlaybackCaptureConfiguration.Builder { ctor public AudioPlaybackCaptureConfiguration.Builder(@NonNull android.media.projection.MediaProjection); method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUid(int); method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUsage(@NonNull android.media.AudioAttributes); method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUsage(int); method @NonNull public android.media.AudioPlaybackCaptureConfiguration build(); method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUid(int); method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUsage(@NonNull android.media.AudioAttributes); method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUsage(int); } public final class AudioPlaybackConfiguration implements android.os.Parcelable { media/java/android/media/AudioPlaybackCaptureConfiguration.java +12 −14 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.media; import android.annotation.NonNull; import android.media.AudioAttributes.AttributeUsage; import android.media.audiopolicy.AudioMix; import android.media.audiopolicy.AudioMixingRule; import android.media.projection.MediaProjection; Loading @@ -41,12 +42,9 @@ import com.android.internal.util.Preconditions; * <pre> * MediaProjection mediaProjection; * // Retrieve a audio capable projection from the MediaProjectionManager * AudioAttributes mediaAttr = new AudioAttributes.Builder() * .setUsage(AudioAttributes.USAGE_MEDIA) * .build(); * AudioPlaybackCaptureConfiguration config = * new AudioPlaybackCaptureConfiguration.Builder(mediaProjection) * .addMatchingUsage(mediaAttr) * .addMatchingUsage(AudioAttributes.USAGE_MEDIA) * .build(); * AudioRecord record = new AudioRecord.Builder() * .setAudioPlaybackCaptureConfig(config) Loading Loading @@ -121,14 +119,13 @@ public final class AudioPlaybackCaptureConfiguration { * attributes. * * @throws IllegalStateException if called in conjunction with * {@link #excludeUsage(AudioAttributes)}. * {@link #excludeUsage(int)}. */ public @NonNull Builder addMatchingUsage(@NonNull AudioAttributes audioAttributes) { Preconditions.checkNotNull(audioAttributes); public @NonNull Builder addMatchingUsage(@AttributeUsage int usage) { Preconditions.checkState( mUsageMatchType != MATCH_TYPE_EXCLUSIVE, ERROR_MESSAGE_MISMATCHED_RULES); mAudioMixingRuleBuilder .addRule(audioAttributes, AudioMixingRule.RULE_MATCH_ATTRIBUTE_USAGE); mAudioMixingRuleBuilder.addRule(new AudioAttributes.Builder().setUsage(usage).build(), AudioMixingRule.RULE_MATCH_ATTRIBUTE_USAGE); mUsageMatchType = MATCH_TYPE_INCLUSIVE; return this; } Loading Loading @@ -156,13 +153,14 @@ public final class AudioPlaybackCaptureConfiguration { * given attributes. * * @throws IllegalStateException if called in conjunction with * {@link #addMatchingUsage(AudioAttributes)}. * {@link #addMatchingUsage(int)}. */ public @NonNull Builder excludeUsage(@NonNull AudioAttributes audioAttributes) { Preconditions.checkNotNull(audioAttributes); public @NonNull Builder excludeUsage(@AttributeUsage int usage) { Preconditions.checkState( mUsageMatchType != MATCH_TYPE_INCLUSIVE, ERROR_MESSAGE_MISMATCHED_RULES); mAudioMixingRuleBuilder.excludeRule(audioAttributes, mAudioMixingRuleBuilder.excludeRule(new AudioAttributes.Builder() .setUsage(usage) .build(), AudioMixingRule.RULE_MATCH_ATTRIBUTE_USAGE); mUsageMatchType = MATCH_TYPE_EXCLUSIVE; return this; Loading Loading
api/current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -23406,10 +23406,10 @@ package android.media { public static final class AudioPlaybackCaptureConfiguration.Builder { ctor public AudioPlaybackCaptureConfiguration.Builder(@NonNull android.media.projection.MediaProjection); method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUid(int); method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUsage(@NonNull android.media.AudioAttributes); method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUsage(int); method @NonNull public android.media.AudioPlaybackCaptureConfiguration build(); method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUid(int); method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUsage(@NonNull android.media.AudioAttributes); method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUsage(int); } public final class AudioPlaybackConfiguration implements android.os.Parcelable {
media/java/android/media/AudioPlaybackCaptureConfiguration.java +12 −14 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.media; import android.annotation.NonNull; import android.media.AudioAttributes.AttributeUsage; import android.media.audiopolicy.AudioMix; import android.media.audiopolicy.AudioMixingRule; import android.media.projection.MediaProjection; Loading @@ -41,12 +42,9 @@ import com.android.internal.util.Preconditions; * <pre> * MediaProjection mediaProjection; * // Retrieve a audio capable projection from the MediaProjectionManager * AudioAttributes mediaAttr = new AudioAttributes.Builder() * .setUsage(AudioAttributes.USAGE_MEDIA) * .build(); * AudioPlaybackCaptureConfiguration config = * new AudioPlaybackCaptureConfiguration.Builder(mediaProjection) * .addMatchingUsage(mediaAttr) * .addMatchingUsage(AudioAttributes.USAGE_MEDIA) * .build(); * AudioRecord record = new AudioRecord.Builder() * .setAudioPlaybackCaptureConfig(config) Loading Loading @@ -121,14 +119,13 @@ public final class AudioPlaybackCaptureConfiguration { * attributes. * * @throws IllegalStateException if called in conjunction with * {@link #excludeUsage(AudioAttributes)}. * {@link #excludeUsage(int)}. */ public @NonNull Builder addMatchingUsage(@NonNull AudioAttributes audioAttributes) { Preconditions.checkNotNull(audioAttributes); public @NonNull Builder addMatchingUsage(@AttributeUsage int usage) { Preconditions.checkState( mUsageMatchType != MATCH_TYPE_EXCLUSIVE, ERROR_MESSAGE_MISMATCHED_RULES); mAudioMixingRuleBuilder .addRule(audioAttributes, AudioMixingRule.RULE_MATCH_ATTRIBUTE_USAGE); mAudioMixingRuleBuilder.addRule(new AudioAttributes.Builder().setUsage(usage).build(), AudioMixingRule.RULE_MATCH_ATTRIBUTE_USAGE); mUsageMatchType = MATCH_TYPE_INCLUSIVE; return this; } Loading Loading @@ -156,13 +153,14 @@ public final class AudioPlaybackCaptureConfiguration { * given attributes. * * @throws IllegalStateException if called in conjunction with * {@link #addMatchingUsage(AudioAttributes)}. * {@link #addMatchingUsage(int)}. */ public @NonNull Builder excludeUsage(@NonNull AudioAttributes audioAttributes) { Preconditions.checkNotNull(audioAttributes); public @NonNull Builder excludeUsage(@AttributeUsage int usage) { Preconditions.checkState( mUsageMatchType != MATCH_TYPE_INCLUSIVE, ERROR_MESSAGE_MISMATCHED_RULES); mAudioMixingRuleBuilder.excludeRule(audioAttributes, mAudioMixingRuleBuilder.excludeRule(new AudioAttributes.Builder() .setUsage(usage) .build(), AudioMixingRule.RULE_MATCH_ATTRIBUTE_USAGE); mUsageMatchType = MATCH_TYPE_EXCLUSIVE; return this; Loading