Merge "display: fix binder interface for setExtOrientation"
diff --git a/libhwcomposer/hwc_qclient.cpp b/libhwcomposer/hwc_qclient.cpp
index 65667bd..b27a88c 100644
--- a/libhwcomposer/hwc_qclient.cpp
+++ b/libhwcomposer/hwc_qclient.cpp
@@ -61,6 +61,9 @@
case IQService::SCREEN_REFRESH:
return screenRefresh();
break;
+ case IQService::EXTERNAL_ORIENTATION:
+ setExtOrientation(value);
+ break;
default:
return NO_ERROR;
}
diff --git a/libqservice/IQService.cpp b/libqservice/IQService.cpp
index af11f88..a3ff150 100644
--- a/libqservice/IQService.cpp
+++ b/libqservice/IQService.cpp
@@ -148,6 +148,18 @@
}
return screenRefresh();
} break;
+ case EXTERNAL_ORIENTATION: {
+ CHECK_INTERFACE(IQService, data, reply);
+ if(callerUid != AID_SYSTEM) {
+ ALOGE("display.qservice EXTERNAL_ORIENTATION access denied: \
+ pid=%d uid=%d process=%s",callerPid,
+ callerUid, callingProcName);
+ return PERMISSION_DENIED;
+ }
+ uint32_t orientation = data.readInt32();
+ setExtOrientation(orientation);
+ return NO_ERROR;
+ } break;
default:
return BBinder::onTransact(code, data, reply, flags);
}