Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f91a5ee authored by Atneya Nair's avatar Atneya Nair
Browse files

Add NativePermissionController for audio perms

Audioserver currently sync calls upwards to system_server to check
permission related information.

Add the implementation of NativePermissionController which receives
package/uid updates from system server, and caches the info to provide
and validate package info for audioserver.

Bug: 338089555
Flag: com.android.media.audio.audioserver_permissions
Test: atest audiopermissioncontroller_test
Change-Id: I44f335e32f38ea474e88b3d9970d62a1e886c543
parent dd104a0c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ package com.android.media.permission;
 * Entity representing the package names associated with a particular uid/app-id
 * {@hide}
 */
@JavaDerive(equals = true, toString = true)
parcelable UidPackageState {
    int uid;
    @utf8InCpp List<String> packageNames;
+1 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ cc_fuzz {
        "aaudio-aidl-cpp",
        "audioclient-types-aidl-cpp",
        "audioflinger-aidl-cpp",
        "audio-permission-aidl-cpp",
        "audiopolicy-aidl-cpp",
        "audiopolicy-types-aidl-cpp",
        "av-types-aidl-cpp",
+1 −0
Original line number Diff line number Diff line
@@ -457,6 +457,7 @@ aidl_interface {
        "latest_android_media_audio_common_types_import_interface",
    ],
    imports: [
        "audio-permission-aidl",
        "audioclient-types-aidl",
        "audiopolicy-types-aidl",
        "capture_state_listener-aidl",
+7 −0
Original line number Diff line number Diff line
@@ -58,6 +58,8 @@ import android.media.audio.common.AudioUsage;
import android.media.audio.common.AudioUuid;
import android.media.audio.common.Int;

import com.android.media.permission.INativePermissionController;

/**
 * IAudioPolicyService interface (see AudioPolicyInterface for method descriptions).
 *
@@ -471,6 +473,11 @@ interface IAudioPolicyService {
                                       int /* uid_t */ uid);


    /**
     * Get the native permission controller for audioserver, to push package and permission info
     * required to control audio access.
     */
    INativePermissionController getPermissionController();
    // When adding a new method, please review and update
    // AudioPolicyService.cpp AudioPolicyService::onTransact()
    // AudioPolicyService.cpp IAUDIOPOLICYSERVICE_BINDER_METHOD_MACRO_LIST
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ cc_defaults {
    name: "libaudioclient_aidl_fuzzer_defaults",
    static_libs: [
        "android.hardware.audio.common@7.0-enums",
        "audiopermissioncontroller",
        "libaudiomockhal",
        "libcgrouprc",
        "libcgrouprc_format",
Loading