display: Add HDMI support in APIs exposed by display.
- Remove hardcoded primary display from getActiveConfig() and
getDisplayAttributes() for video decoder to query the secondary
display resolution.
- Add permission for Video decoder UID to call these APIs.
Change-Id: I1ec1e19dda76f2e0e085c52450449bdc13a739fa
CRs-Fixed: 1100704
diff --git a/libqdutils/display_config.cpp b/libqdutils/display_config.cpp
index c1335b1..ceb11b4 100644
--- a/libqdutils/display_config.cpp
+++ b/libqdutils/display_config.cpp
@@ -198,12 +198,12 @@
return numConfigs;
}
-int getActiveConfig(int /*dpy*/) {
+int getActiveConfig(int dpy) {
int configIndex = -1;
sp<IQService> binder = getBinder();
if(binder != NULL) {
Parcel inParcel, outParcel;
- inParcel.writeInt32(DISPLAY_PRIMARY);
+ inParcel.writeInt32(dpy);
status_t err = binder->dispatch(IQService::GET_ACTIVE_CONFIG,
&inParcel, &outParcel);
if(!err) {
@@ -236,13 +236,13 @@
return err;
}
-DisplayAttributes getDisplayAttributes(int configIndex, int /*dpy*/) {
+DisplayAttributes getDisplayAttributes(int configIndex, int dpy) {
DisplayAttributes dpyattr = {};
sp<IQService> binder = getBinder();
if(binder != NULL) {
Parcel inParcel, outParcel;
inParcel.writeInt32(configIndex);
- inParcel.writeInt32(DISPLAY_PRIMARY);
+ inParcel.writeInt32(dpy);
status_t err = binder->dispatch(
IQService::GET_DISPLAY_ATTRIBUTES_FOR_CONFIG, &inParcel,
&outParcel);
diff --git a/libqservice/IQService.cpp b/libqservice/IQService.cpp
index e1c5219..2d0cbfb 100644
--- a/libqservice/IQService.cpp
+++ b/libqservice/IQService.cpp
@@ -93,7 +93,8 @@
callerUid == AID_ROOT ||
callerUid == AID_CAMERASERVER ||
callerUid == AID_AUDIO ||
- callerUid == AID_SYSTEM);
+ callerUid == AID_SYSTEM ||
+ callerUid == AID_MEDIA_CODEC);
if (code == CONNECT_HWC_CLIENT) {
CHECK_INTERFACE(IQService, data, reply);