AudioFlinger: Extract PatchPanel class

Test: atest audiorecord_tests audiotrack_tests audiorouting_tests trackplayerbase_tests audiosystem_tests
Test: atest AAudioTests AudioTrackOffloadTest
Test: atest AudioTrackTest AudioRecordTest
Test: YouTube Camera
Bug: 288339104
Bug: 291284401
Change-Id: I165db16ae8214335017bac034a42e7ba9060a48d
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index a062ac6..0202fda 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -160,6 +160,7 @@
 {
     friend class sp<AudioFlinger>;
     friend class Client; // removeClient_l();
+    friend class PatchPanel;
     // TODO(b/291012167) replace the Thread friends with an interface.
     friend class DirectOutputThread;
     friend class MixerThread;
@@ -578,7 +579,6 @@
     class DeviceEffectManager;
     // TODO(b/288339104) these should be separate files
 public:
-    class PatchPanel;
     class DeviceEffectManagerCallback;
 private:
     struct TeePatch;
@@ -586,8 +586,6 @@
     using TeePatches = std::vector<TeePatch>;
 private:
 
-#include "PatchPanel.h"
-
 #include "PatchCommandThread.h"
 
 #include "DeviceEffectManager.h"