audioflinger: Dump software patches

Example output:

    Software patches:
      Patch 44: thread 0xa6d83900 => thread 0xa7dfe000

This helps to identify threads used for the patch.

Test: adb shell dumpsys media.audio_flinger
Change-Id: I6c70945abd8e4abd46cd0311559d35efb6127555
diff --git a/services/audioflinger/PatchPanel.h b/services/audioflinger/PatchPanel.h
index f4e43e2..dff8ad2 100644
--- a/services/audioflinger/PatchPanel.h
+++ b/services/audioflinger/PatchPanel.h
@@ -42,6 +42,8 @@
     status_t listAudioPatches(unsigned int *num_patches,
                                       struct audio_patch *patches);
 
+    void dump(int fd);
+
 private:
     template<typename ThreadType, typename TrackType>
     class Endpoint {
@@ -116,6 +118,8 @@
             return mRecord.handle() != AUDIO_PATCH_HANDLE_NONE ||
                     mPlayback.handle() != AUDIO_PATCH_HANDLE_NONE; }
 
+        String8 dump(audio_patch_handle_t myHandle);
+
         // Note that audio_patch::id is only unique within a HAL module
         struct audio_patch              mAudioPatch;
         // handle for audio HAL patch handle present only when the audio HAL version is >= 3.0