audioserver: enable HIDL callbacks
Start hwbinder threadpool explicitly when starting services
for HIDL HALs using callbacks.
To be reverted when bug 31748996 is fixed.
Bug: 33700240
Test: check callbacks with broadcast radio HAL.
Change-Id: I504e97b6be4f95317ec04cc18df6ae545e74475d
diff --git a/media/audioserver/Android.mk b/media/audioserver/Android.mk
index c620e7c..7dc4e1d 100644
--- a/media/audioserver/Android.mk
+++ b/media/audioserver/Android.mk
@@ -14,7 +14,8 @@
libmedialogservice \
libradioservice \
libsoundtriggerservice \
- libutils
+ libutils \
+ libhwbinder
LOCAL_C_INCLUDES := \
frameworks/av/services/audioflinger \
diff --git a/media/audioserver/main_audioserver.cpp b/media/audioserver/main_audioserver.cpp
index 4a7a988..bcd0342 100644
--- a/media/audioserver/main_audioserver.cpp
+++ b/media/audioserver/main_audioserver.cpp
@@ -27,6 +27,10 @@
#include <binder/IServiceManager.h>
#include <utils/Log.h>
+// FIXME: remove when BUG 31748996 is fixed
+#include <hwbinder/IPCThreadState.h>
+#include <hwbinder/ProcessState.h>
+
// from LOCAL_C_INCLUDES
#include "AudioFlinger.h"
#include "AudioPolicyService.h"
@@ -130,6 +134,10 @@
RadioService::instantiate();
SoundTriggerHwService::instantiate();
ProcessState::self()->startThreadPool();
+
+// FIXME: remove when BUG 31748996 is fixed
+ android::hardware::ProcessState::self()->startThreadPool();
+
IPCThreadState::self()->joinThreadPool();
}
}