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

Commit 5ea3a6d1 authored by Atneya Nair's avatar Atneya Nair Committed by Android (Google) Code Review
Browse files

Merge changes from topic "appops_native_foreground_mode_changes" into udc-dev

* changes:
  Correct attribution source for MMAP thread
  Listen for foreground AppOps changes
parents 6037baff f59db5cb
Loading
Loading
Loading
Loading
+5 −2
Original line number Original line Diff line number Diff line
@@ -9985,6 +9985,9 @@ status_t AudioFlinger::MmapThread::start(const AudioClient& client,
    audio_port_handle_t portId = AUDIO_PORT_HANDLE_NONE;
    audio_port_handle_t portId = AUDIO_PORT_HANDLE_NONE;


    audio_io_handle_t io = mId;
    audio_io_handle_t io = mId;
    AttributionSourceState adjAttributionSource = AudioFlinger::checkAttributionSourcePackage(
            client.attributionSource);

    if (isOutput()) {
    if (isOutput()) {
        audio_config_t config = AUDIO_CONFIG_INITIALIZER;
        audio_config_t config = AUDIO_CONFIG_INITIALIZER;
        config.sample_rate = mSampleRate;
        config.sample_rate = mSampleRate;
@@ -10000,7 +10003,7 @@ status_t AudioFlinger::MmapThread::start(const AudioClient& client,
        ret = AudioSystem::getOutputForAttr(&mAttr, &io,
        ret = AudioSystem::getOutputForAttr(&mAttr, &io,
                                            mSessionId,
                                            mSessionId,
                                            &stream,
                                            &stream,
                                            client.attributionSource,
                                            adjAttributionSource,
                                            &config,
                                            &config,
                                            flags,
                                            flags,
                                            &deviceId,
                                            &deviceId,
@@ -10019,7 +10022,7 @@ status_t AudioFlinger::MmapThread::start(const AudioClient& client,
        ret = AudioSystem::getInputForAttr(&mAttr, &io,
        ret = AudioSystem::getInputForAttr(&mAttr, &io,
                                              RECORD_RIID_INVALID,
                                              RECORD_RIID_INVALID,
                                              mSessionId,
                                              mSessionId,
                                              client.attributionSource,
                                              adjAttributionSource,
                                              &config,
                                              &config,
                                              AUDIO_INPUT_FLAG_MMAP_NOIRQ,
                                              AUDIO_INPUT_FLAG_MMAP_NOIRQ,
                                              &deviceId,
                                              &deviceId,
+1 −0
Original line number Original line Diff line number Diff line
@@ -1917,6 +1917,7 @@ void AudioPolicyService::OpRecordAudioMonitor::onFirstRef()
    // since it controls the mic permission for legacy apps.
    // since it controls the mic permission for legacy apps.
    mAppOpsManager.startWatchingMode(mAppOp, VALUE_OR_FATAL(aidl2legacy_string_view_String16(
    mAppOpsManager.startWatchingMode(mAppOp, VALUE_OR_FATAL(aidl2legacy_string_view_String16(
        mAttributionSource.packageName.value_or(""))),
        mAttributionSource.packageName.value_or(""))),
        AppOpsManager::WATCH_FOREGROUND_CHANGES,
        mOpCallback);
        mOpCallback);
}
}