Revert "Call getAudioPort to get supported attributes for audio devices."

This reverts commit 3b4270ecbebad2b5c0d6733eee3fb52e1ddb76aa.

Reason for revert: b/172307055

Change-Id: Ic22dad674bbd9eee9d3b24308e2a2e964c6406f2
diff --git a/media/libaudioclient/IAudioFlinger.cpp b/media/libaudioclient/IAudioFlinger.cpp
index 8ba0f11..7c304a1 100644
--- a/media/libaudioclient/IAudioFlinger.cpp
+++ b/media/libaudioclient/IAudioFlinger.cpp
@@ -796,14 +796,14 @@
         reply.read(ports, *num_ports * sizeof(struct audio_port));
         return status;
     }
-    virtual status_t getAudioPort(struct audio_port_v7 *port)
+    virtual status_t getAudioPort(struct audio_port *port)
     {
-        if (port == nullptr) {
+        if (port == NULL) {
             return BAD_VALUE;
         }
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
-        data.write(port, sizeof(struct audio_port_v7));
+        data.write(port, sizeof(struct audio_port));
         status_t status = remote()->transact(GET_AUDIO_PORT, data, &reply);
         if (status != NO_ERROR ||
                 (status = (status_t)reply.readInt32()) != NO_ERROR) {
@@ -1495,7 +1495,7 @@
         } break;
         case GET_AUDIO_PORT: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            struct audio_port_v7 port = {};
+            struct audio_port port = {};
             status_t status = data.read(&port, sizeof(struct audio_port));
             if (status != NO_ERROR) {
                 ALOGE("b/23905951");
@@ -1507,7 +1507,7 @@
             }
             reply->writeInt32(status);
             if (status == NO_ERROR) {
-                reply->write(&port, sizeof(struct audio_port_v7));
+                reply->write(&port, sizeof(struct audio_port));
             }
             return NO_ERROR;
         } break;
diff --git a/media/libaudioclient/include/media/IAudioFlinger.h b/media/libaudioclient/include/media/IAudioFlinger.h
index 65b7d4e..a01b681 100644
--- a/media/libaudioclient/include/media/IAudioFlinger.h
+++ b/media/libaudioclient/include/media/IAudioFlinger.h
@@ -511,8 +511,8 @@
     virtual status_t listAudioPorts(unsigned int *num_ports,
                                     struct audio_port *ports) = 0;
 
-    /* Get atrributes for a given audio port */
-    virtual status_t getAudioPort(struct audio_port_v7 *port) = 0;
+    /* Get attributes for a given audio port */
+    virtual status_t getAudioPort(struct audio_port *port) = 0;
 
     /* Create an audio patch between several source and sink ports */
     virtual status_t createAudioPatch(const struct audio_patch *patch,
diff --git a/media/libaudiofoundation/AudioPort.cpp b/media/libaudiofoundation/AudioPort.cpp
index 6f4e5ac..1846a6b 100644
--- a/media/libaudiofoundation/AudioPort.cpp
+++ b/media/libaudiofoundation/AudioPort.cpp
@@ -38,21 +38,6 @@
     }
 }
 
-void AudioPort::importAudioPort(const audio_port_v7 &port) {
-    for (size_t i = 0; i < port.num_audio_profiles; ++i) {
-        sp<AudioProfile> profile = new AudioProfile(port.audio_profiles[i].format,
-                ChannelMaskSet(port.audio_profiles[i].channel_masks,
-                        port.audio_profiles[i].channel_masks +
-                        port.audio_profiles->num_channel_masks),
-                SampleRateSet(port.audio_profiles[i].sample_rates,
-                        port.audio_profiles[i].sample_rates +
-                        port.audio_profiles[i].num_sample_rates));
-        if (!mProfiles.contains(profile)) {
-            addAudioProfile(profile);
-        }
-    }
-}
-
 void AudioPort::toAudioPort(struct audio_port *port) const {
     // TODO: update this function once audio_port structure reflects the new profile definition.
     // For compatibility reason: flatening the AudioProfile into audio_port structure.
@@ -77,40 +62,22 @@
             }
         }
     }
+    port->role = mRole;
+    port->type = mType;
+    strlcpy(port->name, mName.c_str(), AUDIO_PORT_MAX_NAME_LEN);
     port->num_sample_rates = flatenedRates.size();
     port->num_channel_masks = flatenedChannels.size();
     port->num_formats = flatenedFormats.size();
     std::copy(flatenedRates.begin(), flatenedRates.end(), port->sample_rates);
     std::copy(flatenedChannels.begin(), flatenedChannels.end(), port->channel_masks);
     std::copy(flatenedFormats.begin(), flatenedFormats.end(), port->formats);
-    toAudioPortBase(port);
-}
 
-void AudioPort::toAudioPort(struct audio_port_v7 *port) const {
-    port->num_audio_profiles = 0;
-    for (const auto& profile : mProfiles) {
-        if (profile->isValid()) {
-            const SampleRateSet &sampleRates = profile->getSampleRates();
-            const ChannelMaskSet &channelMasks = profile->getChannels();
+    ALOGV("AudioPort::toAudioPort() num gains %zu", mGains.size());
 
-            if (sampleRates.size() > AUDIO_PORT_MAX_SAMPLING_RATES ||
-                    channelMasks.size() > AUDIO_PORT_MAX_CHANNEL_MASKS ||
-                    port->num_audio_profiles >= AUDIO_PORT_MAX_AUDIO_PROFILES) {
-                ALOGE("%s: bailing out: cannot export profiles to port config", __func__);
-                return;
-            }
-
-            auto& dstProfile = port->audio_profiles[port->num_audio_profiles++];
-            dstProfile.format = profile->getFormat();
-            dstProfile.num_sample_rates = sampleRates.size();
-            std::copy(sampleRates.begin(), sampleRates.end(),
-                    std::begin(dstProfile.sample_rates));
-            dstProfile.num_channel_masks = channelMasks.size();
-            std::copy(channelMasks.begin(), channelMasks.end(),
-                    std::begin(dstProfile.channel_masks));
-        }
+    port->num_gains = std::min(mGains.size(), (size_t) AUDIO_PORT_MAX_GAINS);
+    for (size_t i = 0; i < port->num_gains; i++) {
+        port->gains[i] = mGains[i]->getGain();
     }
-    toAudioPortBase(port);
 }
 
 void AudioPort::dump(std::string *dst, int spaces, bool verbose) const {
diff --git a/media/libaudiofoundation/AudioProfile.cpp b/media/libaudiofoundation/AudioProfile.cpp
index 64b4822..67b600e 100644
--- a/media/libaudiofoundation/AudioProfile.cpp
+++ b/media/libaudiofoundation/AudioProfile.cpp
@@ -260,16 +260,6 @@
     return false;
 }
 
-bool AudioProfileVector::contains(const sp<AudioProfile> profile) const
-{
-    for (const auto& audioProfile : *this) {
-        if (audioProfile->equals(profile)) {
-            return true;
-        }
-    }
-    return false;
-}
-
 void AudioProfileVector::dump(std::string *dst, int spaces) const
 {
     dst->append(base::StringPrintf("%*s- Profiles:\n", spaces, ""));
diff --git a/media/libaudiofoundation/DeviceDescriptorBase.cpp b/media/libaudiofoundation/DeviceDescriptorBase.cpp
index 50bda8b..16cf71a 100644
--- a/media/libaudiofoundation/DeviceDescriptorBase.cpp
+++ b/media/libaudiofoundation/DeviceDescriptorBase.cpp
@@ -80,12 +80,13 @@
 void DeviceDescriptorBase::toAudioPort(struct audio_port *port) const
 {
     ALOGV("DeviceDescriptorBase::toAudioPort() handle %d type %08x", mId, mDeviceTypeAddr.mType);
-    toAudioPortInternal(port);
-}
-
-void DeviceDescriptorBase::toAudioPort(struct audio_port_v7 *port) const {
-    ALOGV("DeviceDescriptorBase::toAudioPort() v7 handle %d type %08x", mId, mDeviceTypeAddr.mType);
-    toAudioPortInternal(port);
+    AudioPort::toAudioPort(port);
+    toAudioPortConfig(&port->active_config);
+    port->id = mId;
+    port->ext.device.type = mDeviceTypeAddr.mType;
+    port->ext.device.encapsulation_modes = mEncapsulationModes;
+    port->ext.device.encapsulation_metadata_types = mEncapsulationMetadataTypes;
+    (void)audio_utils_strlcpy_zerofill(port->ext.device.address, mDeviceTypeAddr.getAddress());
 }
 
 status_t DeviceDescriptorBase::setEncapsulationModes(uint32_t encapsulationModes) {
diff --git a/media/libaudiofoundation/include/media/AudioPort.h b/media/libaudiofoundation/include/media/AudioPort.h
index 622b97b..3c013cb 100644
--- a/media/libaudiofoundation/include/media/AudioPort.h
+++ b/media/libaudiofoundation/include/media/AudioPort.h
@@ -17,7 +17,6 @@
 #pragma once
 
 #include <string>
-#include <type_traits>
 
 #include <binder/Parcel.h>
 #include <binder/Parcelable.h>
@@ -49,8 +48,6 @@
 
     virtual void toAudioPort(struct audio_port *port) const;
 
-    virtual void toAudioPort(struct audio_port_v7 *port) const;
-
     virtual void addAudioProfile(const sp<AudioProfile> &profile) {
         mProfiles.add(profile);
     }
@@ -67,8 +64,6 @@
 
     virtual void importAudioPort(const sp<AudioPort>& port, bool force = false);
 
-    virtual void importAudioPort(const audio_port_v7& port);
-
     status_t checkGain(const struct audio_gain_config *gainConfig, int index) const {
         if (index < 0 || (size_t)index >= mGains.size()) {
             return BAD_VALUE;
@@ -97,18 +92,6 @@
     audio_port_type_t mType;
     audio_port_role_t mRole;
     AudioProfileVector mProfiles; // AudioProfiles supported by this port (format, Rates, Channels)
-private:
-    template <typename T, std::enable_if_t<std::is_same<T, struct audio_port>::value
-                                        || std::is_same<T, struct audio_port_v7>::value, int> = 0>
-    void toAudioPortBase(T* port) const {
-        port->role = mRole;
-        port->type = mType;
-        strlcpy(port->name, mName.c_str(), AUDIO_PORT_MAX_NAME_LEN);
-        port->num_gains = std::min(mGains.size(), (size_t) AUDIO_PORT_MAX_GAINS);
-        for (size_t i = 0; i < port->num_gains; i++) {
-            port->gains[i] = mGains[i]->getGain();
-        }
-    }
 };
 
 
diff --git a/media/libaudiofoundation/include/media/AudioProfile.h b/media/libaudiofoundation/include/media/AudioProfile.h
index c076f3e..730138a 100644
--- a/media/libaudiofoundation/include/media/AudioProfile.h
+++ b/media/libaudiofoundation/include/media/AudioProfile.h
@@ -105,8 +105,6 @@
     bool hasDynamicProfile() const;
     bool hasDynamicRateFor(audio_format_t format) const;
 
-    bool contains(const sp<AudioProfile> profile) const;
-
     virtual void dump(std::string *dst, int spaces) const;
 
     bool equals(const AudioProfileVector& other) const;
diff --git a/media/libaudiofoundation/include/media/DeviceDescriptorBase.h b/media/libaudiofoundation/include/media/DeviceDescriptorBase.h
index 9ad8d3d..0cbd1de 100644
--- a/media/libaudiofoundation/include/media/DeviceDescriptorBase.h
+++ b/media/libaudiofoundation/include/media/DeviceDescriptorBase.h
@@ -54,7 +54,6 @@
 
     // AudioPort
     virtual void toAudioPort(struct audio_port *port) const;
-    virtual void toAudioPort(struct audio_port_v7 *port) const;
 
     status_t setEncapsulationModes(uint32_t encapsulationModes);
     status_t setEncapsulationMetadataTypes(uint32_t encapsulationMetadataTypes);
@@ -80,18 +79,6 @@
     AudioDeviceTypeAddr mDeviceTypeAddr;
     uint32_t mEncapsulationModes = 0;
     uint32_t mEncapsulationMetadataTypes = 0;
-private:
-    template <typename T, std::enable_if_t<std::is_same<T, struct audio_port>::value
-                                        || std::is_same<T, struct audio_port_v7>::value, int> = 0>
-    void toAudioPortInternal(T* port) const {
-        AudioPort::toAudioPort(port);
-        toAudioPortConfig(&port->active_config);
-        port->id = mId;
-        port->ext.device.type = mDeviceTypeAddr.mType;
-        port->ext.device.encapsulation_modes = mEncapsulationModes;
-        port->ext.device.encapsulation_metadata_types = mEncapsulationMetadataTypes;
-        (void)audio_utils_strlcpy_zerofill(port->ext.device.address, mDeviceTypeAddr.getAddress());
-    }
 };
 
 using DeviceDescriptorBaseVector = std::vector<sp<DeviceDescriptorBase>>;
diff --git a/media/libaudiohal/impl/DeviceHalHidl.cpp b/media/libaudiohal/impl/DeviceHalHidl.cpp
index 4af164c..7d0d83d 100644
--- a/media/libaudiohal/impl/DeviceHalHidl.cpp
+++ b/media/libaudiohal/impl/DeviceHalHidl.cpp
@@ -388,34 +388,6 @@
     return processReturn("getAudioPort", ret, retval);
 }
 
-status_t DeviceHalHidl::getAudioPort(struct audio_port_v7 *port) {
-    if (mDevice == 0) return NO_INIT;
-    AudioPort hidlPort;
-#if MAJOR_VERSION >= 7
-    HidlUtils::audioPortFromHal(*port, &hidlPort);
-#else
-    struct audio_port audioPort = {};
-    audio_populate_audio_port(port, &audioPort);
-    HidlUtils::audioPortFromHal(audioPort, &hidlPort);
-#endif
-    Result retval;
-    Return<void> ret = mDevice->getAudioPort(
-            hidlPort,
-            [&](Result r, const AudioPort& p) {
-                retval = r;
-                if (retval == Result::OK) {
-#if MAJOR_VERSION >= 7
-                    HidlUtils::audioPortToHal(p, port);
-#else
-                    struct audio_port audioPort = {};
-                    HidlUtils::audioPortToHal(p, &audioPort);
-                    audio_populate_audio_port_v7(&audioPort, port);
-#endif
-                }
-            });
-    return processReturn("getAudioPort", ret, retval);
-}
-
 status_t DeviceHalHidl::setAudioPortConfig(const struct audio_port_config *config) {
     if (mDevice == 0) return NO_INIT;
     AudioPortConfig hidlConfig;
diff --git a/media/libaudiohal/impl/DeviceHalHidl.h b/media/libaudiohal/impl/DeviceHalHidl.h
index abd4ad5..d342d4a 100644
--- a/media/libaudiohal/impl/DeviceHalHidl.h
+++ b/media/libaudiohal/impl/DeviceHalHidl.h
@@ -107,9 +107,6 @@
     // Fills the list of supported attributes for a given audio port.
     virtual status_t getAudioPort(struct audio_port *port);
 
-    // Fills the list of supported attributes for a given audio port.
-    virtual status_t getAudioPort(struct audio_port_v7 *port);
-
     // Set audio port configuration.
     virtual status_t setAudioPortConfig(const struct audio_port_config *config);
 
diff --git a/media/libaudiohal/impl/DeviceHalLocal.cpp b/media/libaudiohal/impl/DeviceHalLocal.cpp
index a01beb3..8021d92 100644
--- a/media/libaudiohal/impl/DeviceHalLocal.cpp
+++ b/media/libaudiohal/impl/DeviceHalLocal.cpp
@@ -180,15 +180,6 @@
     return mDev->get_audio_port(mDev, port);
 }
 
-status_t DeviceHalLocal::getAudioPort(struct audio_port_v7 *port) {
-    struct audio_port audioPort = {};
-    status_t status = getAudioPort(&audioPort);
-    if (status == NO_ERROR) {
-        audio_populate_audio_port_v7(&audioPort, port);
-    }
-    return status;
-}
-
 status_t DeviceHalLocal::setAudioPortConfig(const struct audio_port_config *config) {
     if (version() >= AUDIO_DEVICE_API_VERSION_3_0)
         return mDev->set_audio_port_config(mDev, config);
diff --git a/media/libaudiohal/impl/DeviceHalLocal.h b/media/libaudiohal/impl/DeviceHalLocal.h
index 195204b..d85e2a7 100644
--- a/media/libaudiohal/impl/DeviceHalLocal.h
+++ b/media/libaudiohal/impl/DeviceHalLocal.h
@@ -100,9 +100,6 @@
     // Fills the list of supported attributes for a given audio port.
     virtual status_t getAudioPort(struct audio_port *port);
 
-    // Fills the list of supported attributes for a given audio port.
-    virtual status_t getAudioPort(struct audio_port_v7 *port);
-
     // Set audio port configuration.
     virtual status_t setAudioPortConfig(const struct audio_port_config *config);
 
diff --git a/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h b/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
index 29ef011..1e04b21 100644
--- a/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
+++ b/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
@@ -106,9 +106,6 @@
     // Fills the list of supported attributes for a given audio port.
     virtual status_t getAudioPort(struct audio_port *port) = 0;
 
-    // Fills the list of supported attributes for a given audio port.
-    virtual status_t getAudioPort(struct audio_port_v7 *port) = 0;
-
     // Set audio port configuration.
     virtual status_t setAudioPortConfig(const struct audio_port_config *config) = 0;
 
diff --git a/media/libmediahelper/AudioSanitizer.cpp b/media/libmediahelper/AudioSanitizer.cpp
index 9223823..44ca956 100644
--- a/media/libmediahelper/AudioSanitizer.cpp
+++ b/media/libmediahelper/AudioSanitizer.cpp
@@ -69,16 +69,15 @@
     return safetyNetLog(status, bugNumber);
 }
 
-namespace {
-
-template <typename T, std::enable_if_t<std::is_same<T, struct audio_port>::value
-                                    || std::is_same<T, struct audio_port_v7>::value, int> = 0>
-static status_t sanitizeAudioPortInternal(T *port, const char *bugNumber = nullptr) {
+/** returns BAD_VALUE if sanitization was required. */
+status_t AudioSanitizer::sanitizeAudioPort(
+        struct audio_port *port, const char *bugNumber)
+{
     status_t status = NO_ERROR;
     if (preventStringOverflow(port->name)) {
         status = BAD_VALUE;
     }
-    if (AudioSanitizer::sanitizeAudioPortConfig(&port->active_config) != NO_ERROR) {
+    if (sanitizeAudioPortConfig(&port->active_config) != NO_ERROR) {
         status = BAD_VALUE;
     }
     if (port->type == AUDIO_PORT_TYPE_DEVICE &&
@@ -88,22 +87,6 @@
     return safetyNetLog(status, bugNumber);
 }
 
-} // namespace
-
-/** returns BAD_VALUE if sanitization was required. */
-status_t AudioSanitizer::sanitizeAudioPort(
-        struct audio_port *port, const char *bugNumber)
-{
-    return sanitizeAudioPortInternal(port, bugNumber);
-}
-
-/** returns BAD_VALUE if sanitization was required. */
-status_t AudioSanitizer::sanitizeAudioPort(
-        struct audio_port_v7 *port, const char *bugNumber)
-{
-    return sanitizeAudioPortInternal(port, bugNumber);
-}
-
 /** returns BAD_VALUE if sanitization was required. */
 status_t AudioSanitizer::sanitizeAudioPatch(
         struct audio_patch *patch, const char *bugNumber)
diff --git a/media/libmediahelper/include/media/AudioSanitizer.h b/media/libmediahelper/include/media/AudioSanitizer.h
index 84bcb62..1475c7b 100644
--- a/media/libmediahelper/include/media/AudioSanitizer.h
+++ b/media/libmediahelper/include/media/AudioSanitizer.h
@@ -38,9 +38,6 @@
     static status_t sanitizeAudioPort(
             struct audio_port *port, const char *bugNumber = nullptr);
 
-    static status_t sanitizeAudioPort(
-            struct audio_port_v7 *port, const char *bugNumber = nullptr);
-
     static status_t sanitizeAudioPatch(
             struct audio_patch *patch, const char *bugNumber = nullptr);
 };
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index 4af30ae..14a4df7 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -266,7 +266,7 @@
                                     struct audio_port *ports);
 
     /* Get attributes for a given audio port */
-    virtual status_t getAudioPort(struct audio_port_v7 *port);
+    virtual status_t getAudioPort(struct audio_port *port);
 
     /* Create an audio patch between several source and sink ports */
     virtual status_t createAudioPatch(const struct audio_patch *patch,
diff --git a/services/audioflinger/AudioHwDevice.cpp b/services/audioflinger/AudioHwDevice.cpp
index 16b25f6..dda164c 100644
--- a/services/audioflinger/AudioHwDevice.cpp
+++ b/services/audioflinger/AudioHwDevice.cpp
@@ -98,9 +98,5 @@
     return mHwDevice->supportsAudioPatches(&result) == OK ? result : false;
 }
 
-status_t AudioHwDevice::getAudioPort(struct audio_port_v7 *port) const {
-    return mHwDevice->getAudioPort(port);
-}
-
 
 }; // namespace android
diff --git a/services/audioflinger/AudioHwDevice.h b/services/audioflinger/AudioHwDevice.h
index fc2c693..6709d17 100644
--- a/services/audioflinger/AudioHwDevice.h
+++ b/services/audioflinger/AudioHwDevice.h
@@ -83,8 +83,6 @@
 
     bool supportsAudioPatches() const;
 
-    status_t getAudioPort(struct audio_port_v7 *port) const;
-
 private:
     const audio_module_handle_t mHandle;
     const char * const          mModuleName;
diff --git a/services/audioflinger/PatchPanel.cpp b/services/audioflinger/PatchPanel.cpp
index f6971fc..b58fd8b 100644
--- a/services/audioflinger/PatchPanel.cpp
+++ b/services/audioflinger/PatchPanel.cpp
@@ -55,7 +55,8 @@
 }
 
 /* Get supported attributes for a given audio port */
-status_t AudioFlinger::getAudioPort(struct audio_port_v7 *port) {
+status_t AudioFlinger::getAudioPort(struct audio_port *port)
+{
     Mutex::Autolock _l(mLock);
     return mPatchPanel.getAudioPort(port);
 }
@@ -102,18 +103,10 @@
 }
 
 /* Get supported attributes for a given audio port */
-status_t AudioFlinger::PatchPanel::getAudioPort(struct audio_port_v7 *port)
+status_t AudioFlinger::PatchPanel::getAudioPort(struct audio_port *port __unused)
 {
-    if (port->type != AUDIO_PORT_TYPE_DEVICE) {
-        // Only query the HAL when the port is a device.
-        return NO_ERROR;
-    }
-    AudioHwDevice* hwDevice = findAudioHwDeviceByModule(port->ext.device.hw_module);
-    if (hwDevice == nullptr) {
-        ALOGW("%s cannot find hw module %d", __func__, port->ext.device.hw_module);
-        return BAD_VALUE;
-    }
-    return hwDevice->getAudioPort(port);
+    ALOGV(__func__);
+    return NO_ERROR;
 }
 
 /* Connect a patch between several source and sink ports */
diff --git a/services/audioflinger/PatchPanel.h b/services/audioflinger/PatchPanel.h
index 2568dd3..89d4eb1 100644
--- a/services/audioflinger/PatchPanel.h
+++ b/services/audioflinger/PatchPanel.h
@@ -52,7 +52,7 @@
                                     struct audio_port *ports);
 
     /* Get supported attributes for a given audio port */
-    status_t getAudioPort(struct audio_port_v7 *port);
+    status_t getAudioPort(struct audio_port *port);
 
     /* Create a patch between several source and sink ports */
     status_t createAudioPatch(const struct audio_patch *patch,
diff --git a/services/audiopolicy/AudioPolicyInterface.h b/services/audiopolicy/AudioPolicyInterface.h
index b00426f..93819f5 100644
--- a/services/audiopolicy/AudioPolicyInterface.h
+++ b/services/audiopolicy/AudioPolicyInterface.h
@@ -444,8 +444,6 @@
     // sessions to be preempted on modules that do not support sound trigger
     // recognition concurrently with audio capture.
     virtual void setSoundTriggerCaptureState(bool active) = 0;
-
-    virtual status_t getAudioPort(struct audio_port_v7 *port) = 0;
 };
 
 extern "C" AudioPolicyInterface* createAudioPolicyManager(AudioPolicyClientInterface *clientInterface);
diff --git a/services/audiopolicy/common/managerdefinitions/include/DeviceDescriptor.h b/services/audiopolicy/common/managerdefinitions/include/DeviceDescriptor.h
index 7c712e3..c51d6a9 100644
--- a/services/audiopolicy/common/managerdefinitions/include/DeviceDescriptor.h
+++ b/services/audiopolicy/common/managerdefinitions/include/DeviceDescriptor.h
@@ -85,7 +85,6 @@
 
     // AudioPort
     virtual void toAudioPort(struct audio_port *port) const;
-    virtual void toAudioPort(struct audio_port_v7 *port) const;
 
     void importAudioPortAndPickAudioProfile(const sp<PolicyAudioPort>& policyPort,
                                             bool force = false);
@@ -95,13 +94,6 @@
     void dump(String8 *dst, int spaces, int index, bool verbose = true) const;
 
 private:
-    template <typename T, std::enable_if_t<std::is_same<T, struct audio_port>::value
-                                        || std::is_same<T, struct audio_port_v7>::value, int> = 0>
-    void toAudioPortInternal(T* port) const {
-        DeviceDescriptorBase::toAudioPort(port);
-        port->ext.device.hw_module = getModuleHandle();
-    }
-
     std::string mTagName; // Unique human readable identifier for a device port found in conf file.
     FormatVector        mEncodedFormats;
     audio_format_t      mCurrentEncodedFormat;
diff --git a/services/audiopolicy/common/managerdefinitions/src/DeviceDescriptor.cpp b/services/audiopolicy/common/managerdefinitions/src/DeviceDescriptor.cpp
index 30b739c..b450e82 100644
--- a/services/audiopolicy/common/managerdefinitions/src/DeviceDescriptor.cpp
+++ b/services/audiopolicy/common/managerdefinitions/src/DeviceDescriptor.cpp
@@ -155,12 +155,8 @@
 void DeviceDescriptor::toAudioPort(struct audio_port *port) const
 {
     ALOGV("DeviceDescriptor::toAudioPort() handle %d type %08x", mId, mDeviceTypeAddr.mType);
-    toAudioPortInternal(port);
-}
-
-void DeviceDescriptor::toAudioPort(struct audio_port_v7 *port) const {
-    ALOGV("DeviceDescriptor::toAudioPort() v7 handle %d type %08x", mId, mDeviceTypeAddr.mType);
-    toAudioPortInternal(port);
+    DeviceDescriptorBase::toAudioPort(port);
+    port->ext.device.hw_module = getModuleHandle();
 }
 
 void DeviceDescriptor::importAudioPortAndPickAudioProfile(
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index 207c8cb..d9a5fa2 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -4860,15 +4860,7 @@
     }
 
     if (state == AUDIO_POLICY_DEVICE_STATE_AVAILABLE) {
-        // first call getAudioPort to get the supported attributes from the HAL
-        struct audio_port_v7 port = {};
-        device->toAudioPort(&port);
-        status_t status = mpClientInterface->getAudioPort(&port);
-        if (status == NO_ERROR) {
-            device->importAudioPort(port);
-        }
-
-        // then list already open outputs that can be routed to this device
+        // first list already open outputs that can be routed to this device
         for (size_t i = 0; i < mOutputs.size(); i++) {
             desc = mOutputs.valueAt(i);
             if (!desc->isDuplicated() && desc->supportsDevice(device)
@@ -4930,8 +4922,8 @@
                   deviceType, address.string(), profile.get(), profile->getName().c_str());
             desc = new SwAudioOutputDescriptor(profile, mpClientInterface);
             audio_io_handle_t output = AUDIO_IO_HANDLE_NONE;
-            status = desc->open(nullptr, DeviceVector(device),
-                                AUDIO_STREAM_DEFAULT, AUDIO_OUTPUT_FLAG_NONE, &output);
+            status_t status = desc->open(nullptr, DeviceVector(device),
+                                         AUDIO_STREAM_DEFAULT, AUDIO_OUTPUT_FLAG_NONE, &output);
 
             if (status == NO_ERROR) {
                 // Here is where the out_set_parameters() for card & device gets called
@@ -4955,8 +4947,9 @@
                     config.offload_info.channel_mask = config.channel_mask;
                     config.offload_info.format = config.format;
 
-                    status = desc->open(&config, DeviceVector(device),
-                                        AUDIO_STREAM_DEFAULT, AUDIO_OUTPUT_FLAG_NONE, &output);
+                    status_t status = desc->open(&config, DeviceVector(device),
+                                                 AUDIO_STREAM_DEFAULT,
+                                                 AUDIO_OUTPUT_FLAG_NONE, &output);
                     if (status != NO_ERROR) {
                         output = AUDIO_IO_HANDLE_NONE;
                     }
@@ -4986,8 +4979,8 @@
                         // open a duplicating output thread for the new output and the primary output
                         sp<SwAudioOutputDescriptor> dupOutputDesc =
                                 new SwAudioOutputDescriptor(NULL, mpClientInterface);
-                        status = dupOutputDesc->openDuplicating(mPrimaryOutput, desc,
-                                                                &duplicatedOutput);
+                        status_t status = dupOutputDesc->openDuplicating(mPrimaryOutput, desc,
+                                                                         &duplicatedOutput);
                         if (status == NO_ERROR) {
                             // add duplicated output descriptor
                             addOutput(duplicatedOutput, dupOutputDesc);
diff --git a/services/audiopolicy/service/AudioPolicyClientImpl.cpp b/services/audiopolicy/service/AudioPolicyClientImpl.cpp
index 1cc6d48..9fa7a53 100644
--- a/services/audiopolicy/service/AudioPolicyClientImpl.cpp
+++ b/services/audiopolicy/service/AudioPolicyClientImpl.cpp
@@ -246,14 +246,4 @@
     mAudioPolicyService->mCaptureStateNotifier.setCaptureState(active);
 }
 
-status_t AudioPolicyService::AudioPolicyClient::getAudioPort(struct audio_port_v7 *port)
-{
-    sp<IAudioFlinger> af = AudioSystem::get_audio_flinger();
-    if (af == 0) {
-        ALOGW("%s: could not get AudioFlinger", __func__);
-        return PERMISSION_DENIED;
-    }
-    return af->getAudioPort(port);
-}
-
 } // namespace android
diff --git a/services/audiopolicy/service/AudioPolicyService.h b/services/audiopolicy/service/AudioPolicyService.h
index 70a0e3a..0b218c2 100644
--- a/services/audiopolicy/service/AudioPolicyService.h
+++ b/services/audiopolicy/service/AudioPolicyService.h
@@ -765,8 +765,6 @@
 
         void setSoundTriggerCaptureState(bool active) override;
 
-        status_t getAudioPort(struct audio_port_v7 *port) override;
-
      private:
         AudioPolicyService *mAudioPolicyService;
     };
diff --git a/services/audiopolicy/tests/AudioPolicyTestClient.h b/services/audiopolicy/tests/AudioPolicyTestClient.h
index fa6b90f..c628e70 100644
--- a/services/audiopolicy/tests/AudioPolicyTestClient.h
+++ b/services/audiopolicy/tests/AudioPolicyTestClient.h
@@ -87,9 +87,6 @@
                             audio_session_t sessionId __unused,
                             bool suspended __unused) {}
     void setSoundTriggerCaptureState(bool active __unused) override {};
-    status_t getAudioPort(struct audio_port_v7 *port __unused) override {
-        return INVALID_OPERATION;
-    };
 };
 
 } // namespace android