Move AudioMMapPolicy* from android.media to a.m.audio.common SAIDL

Bug: 193275465
Test: make
Change-Id: I79ea167fe4a0035a13873a641428305e1209c3cf
diff --git a/media/audioserver/main_audioserver.cpp b/media/audioserver/main_audioserver.cpp
index fd66573..726a6be 100644
--- a/media/audioserver/main_audioserver.cpp
+++ b/media/audioserver/main_audioserver.cpp
@@ -24,9 +24,9 @@
 #include <sys/wait.h>
 #include <cutils/properties.h>
 
-#include <android/media/AudioMMapPolicy.h>
-#include <android/media/AudioMMapPolicyInfo.h>
-#include <android/media/AudioMMapPolicyType.h>
+#include <android/media/audio/common/AudioMMapPolicy.h>
+#include <android/media/audio/common/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
 #include <android/media/IAudioFlingerService.h>
 #include <binder/IPCThreadState.h>
 #include <binder/ProcessState.h>
@@ -44,6 +44,10 @@
 
 using namespace android;
 
+using android::media::audio::common::AudioMMapPolicy;
+using android::media::audio::common::AudioMMapPolicyInfo;
+using android::media::audio::common::AudioMMapPolicyType;
+
 int main(int argc __unused, char **argv)
 {
     // TODO: update with refined parameters
@@ -155,15 +159,15 @@
         // attempting to call audio flinger on a null pointer could make the process crash
         // and attract attentions.
         sp<IAudioFlinger> af = AudioSystem::get_audio_flinger();
-        std::vector<media::AudioMMapPolicyInfo> policyInfos;
+        std::vector<AudioMMapPolicyInfo> policyInfos;
         status_t status = af->getMmapPolicyInfos(
-                media::AudioMMapPolicyType::DEFAULT, &policyInfos);
+                AudioMMapPolicyType::DEFAULT, &policyInfos);
         // Initialize aaudio service when querying mmap policy succeeds and
         // any of the policy supports MMAP.
         if (status == NO_ERROR &&
             std::any_of(policyInfos.begin(), policyInfos.end(), [](const auto& info) {
-                    return info.mmapPolicy == media::AudioMMapPolicy::AUTO ||
-                           info.mmapPolicy == media::AudioMMapPolicy::ALWAYS;
+                    return info.mmapPolicy == AudioMMapPolicy::AUTO ||
+                           info.mmapPolicy == AudioMMapPolicy::ALWAYS;
             })) {
             AAudioService::instantiate();
         } else {
diff --git a/media/libaaudio/src/core/AudioStreamBuilder.cpp b/media/libaaudio/src/core/AudioStreamBuilder.cpp
index 2a6b235..2be3d65 100644
--- a/media/libaaudio/src/core/AudioStreamBuilder.cpp
+++ b/media/libaaudio/src/core/AudioStreamBuilder.cpp
@@ -24,9 +24,9 @@
 
 #include <aaudio/AAudio.h>
 #include <aaudio/AAudioTesting.h>
-#include <android/media/AudioMMapPolicy.h>
-#include <android/media/AudioMMapPolicyInfo.h>
-#include <android/media/AudioMMapPolicyType.h>
+#include <android/media/audio/common/AudioMMapPolicy.h>
+#include <android/media/audio/common/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
 #include <media/AudioSystem.h>
 
 #include "binding/AAudioBinderClient.h"
@@ -40,6 +40,10 @@
 
 using namespace aaudio;
 
+using android::media::audio::common::AudioMMapPolicy;
+using android::media::audio::common::AudioMMapPolicyInfo;
+using android::media::audio::common::AudioMMapPolicyType;
+
 #define AAUDIO_MMAP_POLICY_DEFAULT             AAUDIO_POLICY_NEVER
 #define AAUDIO_MMAP_EXCLUSIVE_POLICY_DEFAULT   AAUDIO_POLICY_NEVER
 
@@ -93,15 +97,15 @@
 
 namespace {
 
-aaudio_policy_t aidl2legacy_aaudio_policy(android::media::AudioMMapPolicy aidl) {
+aaudio_policy_t aidl2legacy_aaudio_policy(AudioMMapPolicy aidl) {
     switch (aidl) {
-        case android::media::AudioMMapPolicy::NEVER:
+        case AudioMMapPolicy::NEVER:
             return AAUDIO_POLICY_NEVER;
-        case android::media::AudioMMapPolicy::AUTO:
+        case AudioMMapPolicy::AUTO:
             return AAUDIO_POLICY_AUTO;
-        case android::media::AudioMMapPolicy::ALWAYS:
+        case AudioMMapPolicy::ALWAYS:
             return AAUDIO_POLICY_ALWAYS;
-        case android::media::AudioMMapPolicy::UNSPECIFIED:
+        case AudioMMapPolicy::UNSPECIFIED:
         default:
             return AAUDIO_UNSPECIFIED;
     }
@@ -110,7 +114,7 @@
 // The aaudio policy will be ALWAYS, NEVER, UNSPECIFIED only when all policy info are
 // ALWAYS, NEVER or UNSPECIFIED. Otherwise, the aaudio policy will be AUTO.
 aaudio_policy_t getAAudioPolicy(
-        const std::vector<android::media::AudioMMapPolicyInfo>& policyInfos) {
+        const std::vector<AudioMMapPolicyInfo>& policyInfos) {
     if (policyInfos.empty()) return AAUDIO_POLICY_AUTO;
     for (size_t i = 1; i < policyInfos.size(); ++i) {
         if (policyInfos.at(i).mmapPolicy != policyInfos.at(0).mmapPolicy) {
@@ -140,12 +144,12 @@
         return result;
     }
 
-    std::vector<android::media::AudioMMapPolicyInfo> policyInfos;
+    std::vector<AudioMMapPolicyInfo> policyInfos;
     // The API setting is the highest priority.
     aaudio_policy_t mmapPolicy = AudioGlobal_getMMapPolicy();
     // If not specified then get from a system property.
     if (mmapPolicy == AAUDIO_UNSPECIFIED && android::AudioSystem::getMmapPolicyInfo(
-                android::media::AudioMMapPolicyType::DEFAULT, &policyInfos) == NO_ERROR) {
+                AudioMMapPolicyType::DEFAULT, &policyInfos) == NO_ERROR) {
         mmapPolicy = getAAudioPolicy(policyInfos);
     }
     // If still not specified then use the default.
@@ -156,7 +160,7 @@
     policyInfos.clear();
     aaudio_policy_t mmapExclusivePolicy = AAUDIO_UNSPECIFIED;
     if (android::AudioSystem::getMmapPolicyInfo(
-            android::media::AudioMMapPolicyType::EXCLUSIVE, &policyInfos) == NO_ERROR) {
+            AudioMMapPolicyType::EXCLUSIVE, &policyInfos) == NO_ERROR) {
         mmapExclusivePolicy = getAAudioPolicy(policyInfos);
     }
     if (mmapExclusivePolicy == AAUDIO_UNSPECIFIED) {
diff --git a/media/libaudioclient/Android.bp b/media/libaudioclient/Android.bp
index 7475e5f..4cb531a 100644
--- a/media/libaudioclient/Android.bp
+++ b/media/libaudioclient/Android.bp
@@ -321,9 +321,6 @@
         "aidl/android/media/AudioIoConfigEvent.aidl",
         "aidl/android/media/AudioIoDescriptor.aidl",
         "aidl/android/media/AudioIoFlags.aidl",
-        "aidl/android/media/AudioMMapPolicy.aidl",
-        "aidl/android/media/AudioMMapPolicyInfo.aidl",
-        "aidl/android/media/AudioMMapPolicyType.aidl",
         "aidl/android/media/AudioMixLatencyClass.aidl",
         "aidl/android/media/AudioOutputFlags.aidl",
         "aidl/android/media/AudioPatch.aidl",
diff --git a/media/libaudioclient/AudioSystem.cpp b/media/libaudioclient/AudioSystem.cpp
index 2557482..17557e7 100644
--- a/media/libaudioclient/AudioSystem.cpp
+++ b/media/libaudioclient/AudioSystem.cpp
@@ -59,6 +59,8 @@
 using media::audio::common::AudioDeviceAddress;
 using media::audio::common::AudioDeviceDescription;
 using media::audio::common::AudioFormatDescription;
+using media::audio::common::AudioMMapPolicyInfo;
+using media::audio::common::AudioMMapPolicyType;
 using media::audio::common::AudioOffloadInfo;
 using media::audio::common::AudioSource;
 using media::audio::common::AudioStreamType;
@@ -2357,8 +2359,7 @@
 }
 
 status_t AudioSystem::getMmapPolicyInfo(
-        media::AudioMMapPolicyType policyType,
-        std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
+        AudioMMapPolicyType policyType, std::vector<AudioMMapPolicyInfo> *policyInfos) {
     const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger();
     if (af == nullptr) {
         return PERMISSION_DENIED;
diff --git a/media/libaudioclient/IAudioFlinger.cpp b/media/libaudioclient/IAudioFlinger.cpp
index fdec918..e1e44fc 100644
--- a/media/libaudioclient/IAudioFlinger.cpp
+++ b/media/libaudioclient/IAudioFlinger.cpp
@@ -33,6 +33,8 @@
 using binder::Status;
 using media::audio::common::AudioChannelLayout;
 using media::audio::common::AudioFormatDescription;
+using media::audio::common::AudioMMapPolicyInfo;
+using media::audio::common::AudioMMapPolicyType;
 using media::audio::common::AudioMode;
 using media::audio::common::AudioStreamType;
 using media::audio::common::AudioUuid;
@@ -782,8 +784,7 @@
 }
 
 status_t AudioFlingerClientAdapter::getMmapPolicyInfos(
-        media::AudioMMapPolicyType policyType,
-        std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
+        AudioMMapPolicyType policyType, std::vector<AudioMMapPolicyInfo> *policyInfos) {
     return statusTFromBinderStatus(mDelegate->getMmapPolicyInfos(policyType, policyInfos));
 }
 
@@ -1260,8 +1261,7 @@
 }
 
 Status AudioFlingerServerAdapter::getMmapPolicyInfos(
-        media::AudioMMapPolicyType policyType,
-        std::vector<media::AudioMMapPolicyInfo> *_aidl_return) {
+        AudioMMapPolicyType policyType, std::vector<AudioMMapPolicyInfo> *_aidl_return) {
     return Status::fromStatusT(mDelegate->getMmapPolicyInfos(policyType, _aidl_return));
 }
 
diff --git a/media/libaudioclient/aidl/android/media/AudioMMapPolicy.aidl b/media/libaudioclient/aidl/android/media/AudioMMapPolicy.aidl
deleted file mode 100644
index e3fa951..0000000
--- a/media/libaudioclient/aidl/android/media/AudioMMapPolicy.aidl
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.media;
-
-/**
- * Audio MMAP policy describe how the aaudio MMAP feature is used.
- * {@hide}
- */
-@Backing(type="int")
-enum AudioMMapPolicy {
-    /**
-     * The policy is unspecified.
-     */
-    UNSPECIFIED = 0,
-    /**
-     * The MMAP feature is disabled and never used.
-     */
-    NEVER       = 1,
-    /**
-     * If MMAP feature works then uses it. Otherwise, fall back to something else.
-     */
-    AUTO        = 2,
-    /**
-     * The MMAP feature must be used. If not available then fail.
-     */
-    ALWAYS      = 3,
-}
\ No newline at end of file
diff --git a/media/libaudioclient/aidl/android/media/AudioMMapPolicyInfo.aidl b/media/libaudioclient/aidl/android/media/AudioMMapPolicyInfo.aidl
deleted file mode 100644
index 3e1f9cb..0000000
--- a/media/libaudioclient/aidl/android/media/AudioMMapPolicyInfo.aidl
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.media;
-
-import android.media.AudioMMapPolicy;
-import android.media.audio.common.AudioDevice;
-
-/**
- * Audio MMAP policy info describes how an aaudio MMAP feature can be
- * used on a particular device.
- * {@hide}
- */
-parcelable AudioMMapPolicyInfo {
-    AudioDevice device;
-    AudioMMapPolicy mmapPolicy = AudioMMapPolicy.UNSPECIFIED;
-}
diff --git a/media/libaudioclient/aidl/android/media/AudioMMapPolicyType.aidl b/media/libaudioclient/aidl/android/media/AudioMMapPolicyType.aidl
deleted file mode 100644
index d6acd2c..0000000
--- a/media/libaudioclient/aidl/android/media/AudioMMapPolicyType.aidl
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.media;
-
-/**
- * The aaudio MMAP policy type.
- * {@hide}
- */
-@Backing(type="int")
-enum AudioMMapPolicyType {
-    /**
-     * Default aaudio mmap policy. It is used to query whether the
-     * aaudio MMAP could be used or not.
-     */
-    DEFAULT    = 1,
-    /**
-     * Exclusive aaudio mmap policy. It is used to query whether the
-     * aaudio MMAP could be used in exclusive mode or not.
-     */
-    EXCLUSIVE  = 2,
-}
diff --git a/media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl b/media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl
index 7a46f48..d8d40a9 100644
--- a/media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl
+++ b/media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl
@@ -16,8 +16,6 @@
 
 package android.media;
 
-import android.media.AudioMMapPolicyInfo;
-import android.media.AudioMMapPolicyType;
 import android.media.AudioPatch;
 import android.media.AudioPort;
 import android.media.AudioPortConfig;
@@ -42,6 +40,8 @@
 import android.media.TrackSecondaryOutputInfo;
 import android.media.audio.common.AudioChannelLayout;
 import android.media.audio.common.AudioFormatDescription;
+import android.media.audio.common.AudioMMapPolicyInfo;
+import android.media.audio.common.AudioMMapPolicyType;
 import android.media.audio.common.AudioMode;
 import android.media.audio.common.AudioStreamType;
 import android.media.audio.common.AudioUuid;
diff --git a/media/libaudioclient/include/media/AudioSystem.h b/media/libaudioclient/include/media/AudioSystem.h
index c546dfb..a4e2cc1 100644
--- a/media/libaudioclient/include/media/AudioSystem.h
+++ b/media/libaudioclient/include/media/AudioSystem.h
@@ -22,14 +22,14 @@
 #include <set>
 #include <vector>
 
-#include <android/media/AudioMMapPolicyInfo.h>
-#include <android/media/AudioMMapPolicyType.h>
+#include <android/content/AttributionSourceState.h>
 #include <android/media/AudioVibratorInfo.h>
 #include <android/media/BnAudioFlingerClient.h>
 #include <android/media/BnAudioPolicyServiceClient.h>
 #include <android/media/INativeSpatializerCallback.h>
 #include <android/media/ISpatializer.h>
-#include <android/content/AttributionSourceState.h>
+#include <android/media/audio/common/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
 #include <media/AidlConversionUtil.h>
 #include <media/AudioContainers.h>
 #include <media/AudioDeviceTypeAddr.h>
@@ -617,8 +617,8 @@
     static status_t setVibratorInfos(const std::vector<media::AudioVibratorInfo>& vibratorInfos);
 
     static status_t getMmapPolicyInfo(
-            media::AudioMMapPolicyType policyType,
-            std::vector<media::AudioMMapPolicyInfo> *policyInfos);
+            media::audio::common::AudioMMapPolicyType policyType,
+            std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos);
 
 private:
 
diff --git a/media/libaudioclient/include/media/IAudioFlinger.h b/media/libaudioclient/include/media/IAudioFlinger.h
index 774e907..9aacdf9 100644
--- a/media/libaudioclient/include/media/IAudioFlinger.h
+++ b/media/libaudioclient/include/media/IAudioFlinger.h
@@ -37,12 +37,12 @@
 #include <string>
 #include <vector>
 
-#include <android/media/AudioMMapPolicyInfo.h>
-#include <android/media/AudioMMapPolicyType.h>
+#include <android/content/AttributionSourceState.h>
 #include <android/media/AudioVibratorInfo.h>
 #include <android/media/BnAudioFlingerService.h>
 #include <android/media/BpAudioFlingerService.h>
-#include <android/content/AttributionSourceState.h>
+#include <android/media/audio/common/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
 #include "android/media/CreateEffectRequest.h"
 #include "android/media/CreateEffectResponse.h"
 #include "android/media/CreateRecordRequest.h"
@@ -352,8 +352,8 @@
             const TrackSecondaryOutputsMap& trackSecondaryOutputs) = 0;
 
     virtual status_t getMmapPolicyInfos(
-            media::AudioMMapPolicyType policyType,
-            std::vector<media::AudioMMapPolicyInfo> *policyInfos) = 0;
+            media::audio::common::AudioMMapPolicyType policyType,
+            std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos) = 0;
 };
 
 /**
@@ -452,8 +452,8 @@
             const TrackSecondaryOutputsMap& trackSecondaryOutputs) override;
 
     status_t getMmapPolicyInfos(
-            media::AudioMMapPolicyType policyType,
-            std::vector<media::AudioMMapPolicyInfo> *policyInfos) override;
+            media::audio::common::AudioMMapPolicyType policyType,
+            std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos) override;
 
 private:
     const sp<media::IAudioFlingerService> mDelegate;
@@ -655,8 +655,8 @@
     Status updateSecondaryOutputs(
             const std::vector<media::TrackSecondaryOutputInfo>& trackSecondaryOutputInfos) override;
     Status getMmapPolicyInfos(
-            media::AudioMMapPolicyType policyType,
-            std::vector<media::AudioMMapPolicyInfo> *_aidl_return) override;
+            media::audio::common::AudioMMapPolicyType policyType,
+            std::vector<media::audio::common::AudioMMapPolicyInfo> *_aidl_return) override;
 
 private:
     const sp<AudioFlingerServerAdapter::Delegate> mDelegate;
diff --git a/media/libaudiohal/impl/DeviceHalHidl.h b/media/libaudiohal/impl/DeviceHalHidl.h
index 7b4dd88..6065b40 100644
--- a/media/libaudiohal/impl/DeviceHalHidl.h
+++ b/media/libaudiohal/impl/DeviceHalHidl.h
@@ -120,8 +120,8 @@
     status_t removeDeviceEffect(audio_port_handle_t device, sp<EffectHalInterface> effect) override;
 
     status_t getMmapPolicyInfos(
-            media::AudioMMapPolicyType policyType __unused,
-            std::vector<media::AudioMMapPolicyInfo> *policyInfos __unused) override {
+            media::audio::common::AudioMMapPolicyType policyType __unused,
+            std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos __unused) override {
         // TODO: Implement the HAL query when moving to AIDL HAL.
         return INVALID_OPERATION;
     }
diff --git a/media/libaudiohal/impl/DeviceHalLocal.h b/media/libaudiohal/impl/DeviceHalLocal.h
index d4bb7a0..6bc7a80 100644
--- a/media/libaudiohal/impl/DeviceHalLocal.h
+++ b/media/libaudiohal/impl/DeviceHalLocal.h
@@ -113,8 +113,8 @@
     status_t removeDeviceEffect(audio_port_handle_t device, sp<EffectHalInterface> effect) override;
 
     status_t getMmapPolicyInfos(
-            media::AudioMMapPolicyType policyType __unused,
-            std::vector<media::AudioMMapPolicyInfo> *policyInfos __unused) override {
+            media::audio::common::AudioMMapPolicyType policyType __unused,
+            std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos __unused) override {
         // This function will only be available on AIDL HAL.
         return INVALID_OPERATION;
     }
diff --git a/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h b/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
index b93c8d2..376f37b 100644
--- a/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
+++ b/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
@@ -17,8 +17,8 @@
 #ifndef ANDROID_HARDWARE_DEVICE_HAL_INTERFACE_H
 #define ANDROID_HARDWARE_DEVICE_HAL_INTERFACE_H
 
-#include <android/media/AudioMMapPolicyInfo.h>
-#include <android/media/AudioMMapPolicyType.h>
+#include <android/media/audio/common/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
 #include <media/audiohal/EffectHalInterface.h>
 #include <media/MicrophoneInfo.h>
 #include <system/audio.h>
@@ -123,8 +123,8 @@
             audio_port_handle_t device, sp<EffectHalInterface> effect) = 0;
 
     virtual status_t getMmapPolicyInfos(
-            media::AudioMMapPolicyType policyType,
-            std::vector<media::AudioMMapPolicyInfo> *policyInfos)  = 0;
+            media::audio::common::AudioMMapPolicyType policyType,
+            std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos)  = 0;
 
     virtual status_t dump(int fd, const Vector<String16>& args) = 0;
 
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index c8d753b..87964d1 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -104,6 +104,8 @@
 namespace android {
 
 using media::IEffectClient;
+using media::audio::common::AudioMMapPolicyInfo;
+using media::audio::common::AudioMMapPolicyType;
 using android::content::AttributionSourceState;
 
 static const char kDeadlockedString[] = "AudioFlinger may be deadlocked\n";
@@ -339,8 +341,7 @@
 #define MAX_MMAP_PROPERTY_DEVICE_HAL_VERSION 7.0
 
 status_t AudioFlinger::getMmapPolicyInfos(
-            media::AudioMMapPolicyType policyType,
-            std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
+            AudioMMapPolicyType policyType, std::vector<AudioMMapPolicyInfo> *policyInfos) {
     if (const auto it = mPolicyInfos.find(policyType); it != mPolicyInfos.end()) {
         *policyInfos = it->second;
         return NO_ERROR;
@@ -349,7 +350,7 @@
         AutoMutex lock(mHardwareLock);
         for (size_t i = 0; i < mAudioHwDevs.size(); ++i) {
             AudioHwDevice *dev = mAudioHwDevs.valueAt(i);
-            std::vector<media::AudioMMapPolicyInfo> infos;
+            std::vector<AudioMMapPolicyInfo> infos;
             status_t status = dev->getMmapPolicyInfos(policyType, &infos);
             if (status != NO_ERROR) {
                 ALOGE("Failed to query mmap policy info of %d, error %d",
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index b5d587b..d0a9ea8 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -283,8 +283,8 @@
             const TrackSecondaryOutputsMap& trackSecondaryOutputs);
 
     virtual status_t getMmapPolicyInfos(
-            media::AudioMMapPolicyType policyType,
-            std::vector<media::AudioMMapPolicyInfo> *policyInfos);
+            media::audio::common::AudioMMapPolicyType policyType,
+            std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos);
 
     status_t onTransactWrapper(TransactionCode code, const Parcel& data, uint32_t flags,
         const std::function<status_t()>& delegate) override;
@@ -1009,7 +1009,8 @@
     // Keep in sync with java definition in media/java/android/media/AudioRecord.java
     static constexpr int32_t kMaxSharedAudioHistoryMs = 5000;
 
-    std::map<media::AudioMMapPolicyType, std::vector<media::AudioMMapPolicyInfo>> mPolicyInfos;
+    std::map<media::audio::common::AudioMMapPolicyType,
+             std::vector<media::audio::common::AudioMMapPolicyInfo>> mPolicyInfos;
 };
 
 #undef INCLUDING_FROM_AUDIOFLINGER_H
diff --git a/services/audioflinger/AudioHwDevice.cpp b/services/audioflinger/AudioHwDevice.cpp
index b996c6c9..12f8272 100644
--- a/services/audioflinger/AudioHwDevice.cpp
+++ b/services/audioflinger/AudioHwDevice.cpp
@@ -29,6 +29,9 @@
 
 namespace android {
 
+using media::audio::common::AudioMMapPolicyInfo;
+using media::audio::common::AudioMMapPolicyType;
+
 // ----------------------------------------------------------------------------
 
 status_t AudioHwDevice::openOutputStream(
@@ -102,11 +105,8 @@
     return mHwDevice->getAudioPort(port);
 }
 
-
-
 status_t AudioHwDevice::getMmapPolicyInfos(
-            media::AudioMMapPolicyType policyType,
-            std::vector<media::AudioMMapPolicyInfo> *policyInfos) const {
+            AudioMMapPolicyType policyType, std::vector<AudioMMapPolicyInfo> *policyInfos) const {
     return mHwDevice->getMmapPolicyInfos(policyType, policyInfos);
 }
 
diff --git a/services/audioflinger/AudioHwDevice.h b/services/audioflinger/AudioHwDevice.h
index b72072f..0715e55 100644
--- a/services/audioflinger/AudioHwDevice.h
+++ b/services/audioflinger/AudioHwDevice.h
@@ -22,6 +22,8 @@
 #include <stdlib.h>
 #include <sys/types.h>
 
+#include <android/media/audio/common/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
 #include <media/audiohal/DeviceHalInterface.h>
 #include <utils/Errors.h>
 #include <system/audio.h>
@@ -86,8 +88,8 @@
     status_t getAudioPort(struct audio_port_v7 *port) const;
 
     status_t getMmapPolicyInfos(
-            media::AudioMMapPolicyType policyType,
-            std::vector<media::AudioMMapPolicyInfo> *policyInfos) const;
+            media::audio::common::AudioMMapPolicyType policyType,
+            std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos) const;
 
 private:
     const audio_module_handle_t mHandle;
diff --git a/services/audioflinger/PropertyUtils.cpp b/services/audioflinger/PropertyUtils.cpp
index b8abb8e..341d5bb 100644
--- a/services/audioflinger/PropertyUtils.cpp
+++ b/services/audioflinger/PropertyUtils.cpp
@@ -16,54 +16,57 @@
 
 #include <aaudio/AAudio.h>
 #include <aaudio/AAudioTesting.h>
-#include <android/media/AudioMMapPolicy.h>
+#include <android/media/audio/common/AudioMMapPolicy.h>
 #include <cutils/properties.h>
 
 #include "PropertyUtils.h"
 
 namespace android {
 
-std::string getMmapPolicyProperty(media::AudioMMapPolicyType policyType) {
+using media::audio::common::AudioMMapPolicy;
+using media::audio::common::AudioMMapPolicyType;
+using media::audio::common::AudioMMapPolicyInfo;
+
+std::string getMmapPolicyProperty(AudioMMapPolicyType policyType) {
     switch (policyType) {
-        case media::AudioMMapPolicyType::DEFAULT:
+        case AudioMMapPolicyType::DEFAULT:
             return "aaudio.mmap_policy";
-        case media::AudioMMapPolicyType::EXCLUSIVE:
+        case AudioMMapPolicyType::EXCLUSIVE:
             return "aaudio.mmap_exclusive_policy";
         default:
             return "";
     }
 }
 
-int getDefaultPolicyFromType(media::AudioMMapPolicyType policyType) {
+int getDefaultPolicyFromType(AudioMMapPolicyType policyType) {
     switch (policyType) {
-        case media::AudioMMapPolicyType::EXCLUSIVE:
+        case AudioMMapPolicyType::EXCLUSIVE:
             return AAUDIO_UNSPECIFIED;
-        case media::AudioMMapPolicyType::DEFAULT:
+        case AudioMMapPolicyType::DEFAULT:
         default:
             return AAUDIO_POLICY_NEVER;
     }
 }
 
-media::AudioMMapPolicy legacy2aidl_aaudio_policy_t_AudioMMapPolicy(aaudio_policy_t legacy) {
+AudioMMapPolicy legacy2aidl_aaudio_policy_t_AudioMMapPolicy(aaudio_policy_t legacy) {
     switch (legacy) {
         case AAUDIO_POLICY_NEVER:
-            return media::AudioMMapPolicy::NEVER;
+            return AudioMMapPolicy::NEVER;
         case AAUDIO_POLICY_AUTO:
-            return media::AudioMMapPolicy::AUTO;
+            return AudioMMapPolicy::AUTO;
         case AAUDIO_POLICY_ALWAYS:
-            return media::AudioMMapPolicy::ALWAYS;
+            return AudioMMapPolicy::ALWAYS;
         case AAUDIO_UNSPECIFIED:
-            return media::AudioMMapPolicy::UNSPECIFIED;
+            return AudioMMapPolicy::UNSPECIFIED;
         default:
             ALOGE("%s unknown aaudio policy: %d", __func__, legacy);
-            return media::AudioMMapPolicy::UNSPECIFIED;
+            return AudioMMapPolicy::UNSPECIFIED;
     }
 }
 
 status_t getMmapPolicyInfosFromSystemProperty(
-        media::AudioMMapPolicyType policyType,
-        std::vector<media::AudioMMapPolicyInfo> *policyInfos) {
-    media::AudioMMapPolicyInfo policyInfo;
+        AudioMMapPolicyType policyType, std::vector<AudioMMapPolicyInfo> *policyInfos) {
+    AudioMMapPolicyInfo policyInfo;
     const std::string propertyStr = getMmapPolicyProperty(policyType);
     if (propertyStr.empty()) {
         return BAD_VALUE;
diff --git a/services/audioflinger/PropertyUtils.h b/services/audioflinger/PropertyUtils.h
index 38cbf92..3bb6fa2 100644
--- a/services/audioflinger/PropertyUtils.h
+++ b/services/audioflinger/PropertyUtils.h
@@ -16,13 +16,13 @@
 
 #pragma once
 
-#include <android/media/AudioMMapPolicyType.h>
-#include <android/media/AudioMMapPolicyInfo.h>
+#include <android/media/audio/common/AudioMMapPolicyType.h>
+#include <android/media/audio/common/AudioMMapPolicyInfo.h>
 
 namespace android {
 
 status_t getMmapPolicyInfosFromSystemProperty(
-        media::AudioMMapPolicyType policyType,
-        std::vector<media::AudioMMapPolicyInfo> *policyInfos);
+        media::audio::common::AudioMMapPolicyType policyType,
+        std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos);
 
 } // namespace android