libaudiohal: Implement some functions called during startup
Based on the logs during CF startup, implemented the following
methods:
- DeviceFactoryHalAild::getHalPids
- DeviceHalAidl::dump
- DeviceHalAidl::get/setMasterMute
- DeviceHalAidl::get/setMasterVolume
- DeviceHalAidl::get/setMicMute
- DeviceHalAidl::setMode
- DeviceHalAidl::setVoiceVolume
Also implemented retrieving of IStreamCommon.
Bug: 205884982
Test: boot cuttlefish with AIDL enabled
Change-Id: Ie1619def1b5d8e2079d849b2e9e23ebeed6e2936
diff --git a/media/libaudiohal/impl/ConversionHelperAidl.h b/media/libaudiohal/impl/ConversionHelperAidl.h
index 097ccfd..db6b6cf 100644
--- a/media/libaudiohal/impl/ConversionHelperAidl.h
+++ b/media/libaudiohal/impl/ConversionHelperAidl.h
@@ -18,9 +18,28 @@
#include <string>
#include <string_view>
+#include <vector>
+
+#include <utils/String16.h>
+#include <utils/Vector.h>
namespace android {
+class Args {
+ public:
+ explicit Args(const Vector<String16>& args)
+ : mValues(args.size()), mPtrs(args.size()) {
+ for (size_t i = 0; i < args.size(); ++i) {
+ mValues[i] = std::string(String8(args[i]));
+ mPtrs[i] = mValues[i].c_str();
+ }
+ }
+ const char** args() { return mPtrs.data(); }
+ private:
+ std::vector<std::string> mValues;
+ std::vector<const char*> mPtrs;
+};
+
class ConversionHelperAidl {
protected:
ConversionHelperAidl(std::string_view className) : mClassName(className) {}