From ff4a125d6e09e25012b34f4e8618e21a0e8c335b Mon Sep 17 00:00:00 2001 From: Hall Liu Date: Wed, 1 Jan 2020 16:27:14 -0800 Subject: [PATCH] Add CAPTURE_AUDIO_OUTPUT permission requirement Add the CAPTURE_AUDIO_OUTPUT permission requirement annotation to setShouldScreenCallViaAudioProcessing -- this permission is needed to do call screening once the call has been placed into the special state. Fixes: 146563331 Test: atest BackgroundCallAudioTest Change-Id: I8eec1e19c6512d54f39cd9ad63347a2ac0ec2a98 --- api/system-current.txt | 2 +- api/test-current.txt | 2 +- telecomm/java/android/telecom/CallScreeningService.java | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/api/system-current.txt b/api/system-current.txt index 8388654dbcd9e..47749159453ac 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -7601,7 +7601,7 @@ package android.telecom { } public static class CallScreeningService.CallResponse.Builder { - method @NonNull public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean); + method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean); } public abstract class Conference extends android.telecom.Conferenceable { diff --git a/api/test-current.txt b/api/test-current.txt index 44498dd16b877..b63fb63536f54 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -2803,7 +2803,7 @@ package android.telecom { } public static class CallScreeningService.CallResponse.Builder { - method @NonNull public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean); + method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean); } public abstract class Conference extends android.telecom.Conferenceable { diff --git a/telecomm/java/android/telecom/CallScreeningService.java b/telecomm/java/android/telecom/CallScreeningService.java index f8722f4ea653d..6bb49057458bb 100644 --- a/telecomm/java/android/telecom/CallScreeningService.java +++ b/telecomm/java/android/telecom/CallScreeningService.java @@ -16,7 +16,9 @@ package android.telecom; +import android.Manifest; import android.annotation.NonNull; +import android.annotation.RequiresPermission; import android.annotation.SdkConstant; import android.annotation.SystemApi; import android.annotation.TestApi; @@ -290,6 +292,7 @@ public abstract class CallScreeningService extends Service { */ @SystemApi @TestApi + @RequiresPermission(Manifest.permission.CAPTURE_AUDIO_OUTPUT) public @NonNull Builder setShouldScreenCallViaAudioProcessing( boolean shouldScreenCallViaAudioProcessing) { mShouldScreenCallViaAudioProcessing = shouldScreenCallViaAudioProcessing;