Revert "audio policy: handle errors for usb broadcast device connection"

This reverts commit 572e61da59aa434ab0adc26063a6000a355e1980.

Reason for revert: Droidmonitor created revert due to b/362824918. Will be verifying through ABTD before submission.

Bug: 360284877
Bug: 362824918
Change-Id: I54331687af40351d2305b87885c6c4372d2ec792
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index d6338b5..811ca12 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -122,16 +122,17 @@
     }
 }
 
-status_t AudioPolicyManager::broadcastDeviceConnectionState(const sp<DeviceDescriptor> &device,
+void AudioPolicyManager::broadcastDeviceConnectionState(const sp<DeviceDescriptor> &device,
                                                         media::DeviceConnectedState state)
 {
     audio_port_v7 devicePort;
     device->toAudioPort(&devicePort);
-    status_t status = mpClientInterface->setDeviceConnectedState(&devicePort, state);
-    ALOGE_IF(status != OK, "Error %d while setting connected state %d for device %s", status,
-             static_cast<int>(state), device->getDeviceTypeAddr().toString(false).c_str());
-
-    return status;
+    if (status_t status = mpClientInterface->setDeviceConnectedState(&devicePort, state);
+            status != OK) {
+        ALOGE("Error %d while setting connected state %d for device %s",
+                status, static_cast<int>(state),
+                device->getDeviceTypeAddr().toString(false).c_str());
+    }
 }
 
 status_t AudioPolicyManager::setDeviceConnectionStateInt(
@@ -212,14 +213,7 @@
 
             // Before checking outputs, broadcast connect event to allow HAL to retrieve dynamic
             // parameters on newly connected devices (instead of opening the outputs...)
-            if (broadcastDeviceConnectionState(
-                        device, media::DeviceConnectedState::CONNECTED) != NO_ERROR) {
-                mAvailableOutputDevices.remove(device);
-                mHwModules.cleanUpForDevice(device);
-                ALOGE("%s() device %s format %x connection failed", __func__,
-                      device->toString().c_str(), device->getEncodedFormat());
-                return INVALID_OPERATION;
-            }
+            broadcastDeviceConnectionState(device, media::DeviceConnectedState::CONNECTED);
 
             if (checkOutputsForDevice(device, state, outputs) != NO_ERROR) {
                 mAvailableOutputDevices.remove(device);
@@ -404,14 +398,7 @@
 
             // Before checking intputs, broadcast connect event to allow HAL to retrieve dynamic
             // parameters on newly connected devices (instead of opening the inputs...)
-            if (broadcastDeviceConnectionState(
-                        device, media::DeviceConnectedState::CONNECTED) != NO_ERROR) {
-                mAvailableInputDevices.remove(device);
-                mHwModules.cleanUpForDevice(device);
-                ALOGE("%s() device %s format %x connection failed", __func__,
-                      device->toString().c_str(), device->getEncodedFormat());
-                return INVALID_OPERATION;
-            }
+            broadcastDeviceConnectionState(device, media::DeviceConnectedState::CONNECTED);
             // Propagate device availability to Engine
             setEngineDeviceConnectionState(device, state);
 
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h
index 257d328..c8cced6 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.h
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h
@@ -1077,8 +1077,8 @@
         // It can give a chance to HAL implementer to retrieve dynamic capabilities associated
         // to this device for example.
         // TODO avoid opening stream to retrieve capabilities of a profile.
-        status_t broadcastDeviceConnectionState(const sp<DeviceDescriptor> &device,
-                                                media::DeviceConnectedState state);
+        void broadcastDeviceConnectionState(const sp<DeviceDescriptor> &device,
+                                            media::DeviceConnectedState state);
 
         // updates device caching and output for streams that can influence the
         //    routing of notifications
diff --git a/services/audiopolicy/tests/audiopolicymanager_tests.cpp b/services/audiopolicy/tests/audiopolicymanager_tests.cpp
index 5c0651c..b93f7e2 100644
--- a/services/audiopolicy/tests/audiopolicymanager_tests.cpp
+++ b/services/audiopolicy/tests/audiopolicymanager_tests.cpp
@@ -2648,29 +2648,8 @@
 
     void setSimulateFailure(bool simulateFailure) { mSimulateFailure = simulateFailure; }
 
-    void setSimulateBroadcastDeviceStatus(audio_devices_t device, status_t status) {
-        if (status != NO_ERROR) {
-            // simulate device connect status
-            mSimulateBroadcastDeviceStatus[device] = status;
-        } else {
-            // remove device connection fixed status
-            mSimulateBroadcastDeviceStatus.erase(device);
-        }
-    }
-
-    status_t setDeviceConnectedState(const struct audio_port_v7* port,
-                                     media::DeviceConnectedState state) override {
-        if (mSimulateBroadcastDeviceStatus.find(port->ext.device.type) !=
-            mSimulateBroadcastDeviceStatus.end()) {
-            // If a simulated status exists, return a status value
-            return mSimulateBroadcastDeviceStatus[port->ext.device.type];
-        }
-        return AudioPolicyManagerTestClient::setDeviceConnectedState(port, state);
-    }
-
   private:
     bool mSimulateFailure = false;
-    std::map<audio_devices_t, status_t> mSimulateBroadcastDeviceStatus;
 };
 
 }  // namespace
@@ -2691,9 +2670,6 @@
     void setSimulateOpenFailure(bool simulateFailure) {
         mFullClient->setSimulateFailure(simulateFailure); }
 
-    void setSimulateBroadcastDeviceStatus(audio_devices_t device, status_t status) {
-        mFullClient->setSimulateBroadcastDeviceStatus(device, status); }
-
     static const std::string sBluetoothConfig;
 
   private:
@@ -2737,30 +2713,6 @@
     }
 }
 
-TEST_P(AudioPolicyManagerTestDeviceConnectionFailed, BroadcastDeviceFailure) {
-    const audio_devices_t type = std::get<0>(GetParam());
-    const std::string name = std::get<1>(GetParam());
-    const std::string address = std::get<2>(GetParam());
-    const audio_format_t format = std::get<3>(GetParam());
-
-    // simulate broadcastDeviceConnectionState return failure
-    setSimulateBroadcastDeviceStatus(type, INVALID_OPERATION);
-    ASSERT_EQ(INVALID_OPERATION, mManager->setDeviceConnectionState(
-            type, AUDIO_POLICY_DEVICE_STATE_AVAILABLE,
-            address.c_str(), name.c_str(), format));
-
-    // if broadcast is fail, device should not be added to available devices list
-    if (audio_is_output_device(type)) {
-        auto availableDevices = mManager->getAvailableOutputDevices();
-        EXPECT_FALSE(availableDevices.containsDeviceWithType(type));
-    } else if (audio_is_input_device(type)) {
-        auto availableDevices = mManager->getAvailableInputDevices();
-        EXPECT_FALSE(availableDevices.containsDeviceWithType(type));
-    }
-
-    setSimulateBroadcastDeviceStatus(type, NO_ERROR);
-}
-
 INSTANTIATE_TEST_CASE_P(
         DeviceConnectionFailure,
         AudioPolicyManagerTestDeviceConnectionFailed,