audio: add command to purge permission cache

Add a media_audio_policy service command and helper function
in ServiceUtilities to purge permission cache.

This permists to restore the use of permission cache for
CAPTURE_AUDIO_HOTWORD permission while still  allowing CTS tests to
adopt shell permission.

Bug: 185972521
Test: atest AudioRecordSharedAudioTest
Change-Id: Ib8963053d6d7734e474174f572762abe1a4be13b
diff --git a/services/audiopolicy/service/AudioPolicyService.cpp b/services/audiopolicy/service/AudioPolicyService.cpp
index b5eb98f..fb38e3d 100644
--- a/services/audiopolicy/service/AudioPolicyService.cpp
+++ b/services/audiopolicy/service/AudioPolicyService.cpp
@@ -1019,6 +1019,9 @@
         return handleResetUidState(args, err);
     } else if (args.size() >= 2 && args[0] == String16("get-uid-state")) {
         return handleGetUidState(args, out, err);
+    } else if (args.size() >= 1 && args[0] == String16("purge_permission-cache")) {
+        purgePermissionCache();
+        return NO_ERROR;
     } else if (args.size() == 1 && args[0] == String16("help")) {
         printHelp(out);
         return NO_ERROR;