From c6c38cd6f0ee5eb0bfab38116aebaa35b5937636 Mon Sep 17 00:00:00 2001 From: Nate Myren Date: Wed, 28 Apr 2021 21:17:05 -0700 Subject: [PATCH] TEMP: note "RECORD_AUDIO_HOTWORD" in SoundTriggerMiddleware note the RECORD_AUDIO_HOTWORD op, rather than the RECORD_AUDIO. In addition, check the RECORD_AUDIO permission for preflight, not data delivery Bug: 186164881 Test: Manual Change-Id: I3275647d0f9a6e3ce8b97a556f56723b49170c8e --- .../SoundTriggerMiddlewarePermission.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission.java b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission.java index d5ab574b56177..6f0741d20e459 100644 --- a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission.java +++ b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission.java @@ -21,6 +21,7 @@ import static android.Manifest.permission.RECORD_AUDIO; import android.annotation.NonNull; import android.annotation.Nullable; +import android.app.AppOpsManager; import android.content.Context; import android.content.PermissionChecker; import android.media.permission.Identity; @@ -132,7 +133,12 @@ public class SoundTriggerMiddlewarePermission implements ISoundTriggerMiddleware * Throws a {@link SecurityException} iff the originator has permission to receive data. */ void enforcePermissionsForDataDelivery(@NonNull Identity identity, @NonNull String reason) { - enforcePermissionForDataDelivery(mContext, identity, RECORD_AUDIO, reason); + // START TEMP HACK + enforcePermissionForPreflight(mContext, identity, RECORD_AUDIO); + int hotwordOp = AppOpsManager.strOpToOp(AppOpsManager.OPSTR_RECORD_AUDIO_HOTWORD); + mContext.getSystemService(AppOpsManager.class).noteOpNoThrow(hotwordOp, identity.uid, + identity.packageName, identity.attributionTag, reason); + // END TEMP HACK enforcePermissionForDataDelivery(mContext, identity, CAPTURE_AUDIO_HOTWORD, reason); }