aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Stein <js@funkturm.net>2019-09-12 12:52:04 +0200
committerJulian Veit <claymore1298@gmail.com>2019-09-14 21:40:06 +0200
commit08eceec8b90daac32d976b8f3559460fbbad6926 (patch)
treeea74dc07889a342fcda9e1aaa620a27a18b29996
parentae12e7fadf1e407c265304f518b789062eb407b9 (diff)
hima-common: update camera_shim for Q
Change-Id: Ide981bb5a0f7b258ccc23797c20221750f0b43cc
-rw-r--r--shims/camera_shim.cpp93
1 files changed, 51 insertions, 42 deletions
diff --git a/shims/camera_shim.cpp b/shims/camera_shim.cpp
index 5b1b6f2..0a5acd9 100644
--- a/shims/camera_shim.cpp
+++ b/shims/camera_shim.cpp
@@ -16,10 +16,13 @@
#include <gui/BufferQueue.h>
#include <gui/SurfaceComposerClient.h>
+#include <gui/ISurfaceComposer.h>
#include <utils/Errors.h>
#include <utils/String8.h>
#include <utils/StrongPointer.h>
+#include <private/gui/ComposerService.h>
+
#include <string>
using android::sp;
@@ -71,46 +74,30 @@ extern "C" void _ZN7android13GraphicBufferC1Ejjij(
inWidth, inHeight, inFormat, inUsage);
}
-extern "C" void _ZN7android21SurfaceComposerClient17setDisplaySurfaceERKNS_2spINS_7IBinderEEERKNS1_INS_22IGraphicBufferProducerEEE(
- const sp<IBinder>& token, const sp<IGraphicBufferProducer>& bufferProducer) {
- t->setDisplaySurface(token, bufferProducer);
-}
-
-
-// sp<SurfaceControl> createSurface(const String8& name, uint32_t w, uint32_t h,
-// PixelFormat format, uint32_t flags = 0,
-// SurfaceControl* parent = nullptr,
-// uint32_t windowType = 0,
-// uint32_t ownerUid = 0);
-/*
-extern "C" void* _ZN7android21SurfaceComposerClient13createSurfaceERKNS_7String8EjjijPNS_14SurfaceControlEjj(
- const android::String8& name, uint32_t w, uint32_t h, PixelFormat format,
- uint32_t flags, SurfaceControl* parent, uint32_t windowType,
- uint32_t ownerUid);
-*/
-
-extern "C" void* _ZN7android21SurfaceComposerClient13createSurfaceERKNS_7String8EjjijPNS_14SurfaceControlEii(
+//sp<SurfaceControl> SurfaceComposerClient::createSurface(const String8& name, uint32_t w, uint32_t h,
+// PixelFormat format, uint32_t flags,
+// SurfaceControl* parent,
+// LayerMetadata metadata);
+extern "C" void* _ZN7android21SurfaceComposerClient13createSurfaceERKNS_7String8EjjijPNS_14SurfaceControlENS_13LayerMetadataE(
const android::String8& name,// name of the surface
uint32_t w, // width in pixel
uint32_t h, // height in pixel
PixelFormat format, // pixel-format desired
- uint32_t flags = 0, // usage flags
- SurfaceControl* parent = nullptr, // parent
- int32_t windowType = -1, // from WindowManager.java (STATUS_BAR, INPUT_METHOD, etc.)
- int32_t ownerUid = -1 // UID of the task
+ uint32_t flags, // usage flags
+ SurfaceControl* parent, // parent
+ android::LayerMetadata metadata
);
+
extern "C" void* _ZN7android21SurfaceComposerClient13createSurfaceERKNS_7String8Ejjij(
const android::String8& name, uint32_t w, uint32_t h, PixelFormat format,
uint32_t flags) {
- sc = _ZN7android21SurfaceComposerClient13createSurfaceERKNS_7String8EjjijPNS_14SurfaceControlEii(name, w, h, format, flags, nullptr, -1, -1);
+ android::LayerMetadata metadata;
+ sc = _ZN7android21SurfaceComposerClient13createSurfaceERKNS_7String8EjjijPNS_14SurfaceControlENS_13LayerMetadataE(name, w, h, format, flags, nullptr, metadata);
return sc;
}
-// status_t setLayer(int32_t layer);
-// needed for N-libs
-//extern "C" status_t _ZN7android14SurfaceControl8setLayerEi(int32_t layer);
-
+// status_t setLayer(uint32_t layer);
extern "C" status_t _ZN7android14SurfaceControl8setLayerEj(uint32_t layer) {
t->setLayer((SurfaceControl*)sc, layer);
return android::NO_ERROR;
@@ -124,6 +111,12 @@ extern "C" void _ZN7android5FenceD1Ev() {
extern "C" void _ZN7android21SurfaceComposerClient21openGlobalTransactionEv() {
t = new(android::SurfaceComposerClient::Transaction);
}
+
+extern "C" void _ZN7android21SurfaceComposerClient17setDisplaySurfaceERKNS_2spINS_7IBinderEEERKNS1_INS_22IGraphicBufferProducerEEE(
+ const sp<IBinder>& token, const sp<IGraphicBufferProducer>& bufferProducer) {
+ t->setDisplaySurface(token, bufferProducer);
+}
+
extern "C" void _ZN7android21SurfaceComposerClient20setDisplayProjectionERKNS_2spINS_7IBinderEEEjRKNS_4RectES8_(
const sp<IBinder>& token,
uint32_t orientation,
@@ -137,28 +130,44 @@ extern "C" void _ZN7android21SurfaceComposerClient20setDisplayLayerStackERKNS_2s
t->setDisplayLayerStack(token, layerStack);
}
+extern "C" status_t _ZN7android14SurfaceControl7setSizeEjj(uint32_t w, uint32_t h){
+ t->setSize((SurfaceControl*)sc, w, h);
+ return android::NO_ERROR;
+}
+
+extern "C" status_t _ZN7android14SurfaceControl11setPositionEff(float x, float y){
+ t->setPosition((SurfaceControl*)sc, x, y);
+ return android::NO_ERROR;
+}
+
extern "C" void _ZN7android21SurfaceComposerClient22closeGlobalTransactionEb(){
t->apply();
delete t;
t = nullptr;
}
-//Needed for M-libs on Pie
-/*
-extern "C" void* _ZN7android25IPermissionControllerShim11asInterfaceERKNS_2spINS_7IBinderEEE(const sp<IBinder>&);
-extern "C" void* _ZN7android21IPermissionController11asInterfaceERKNS_2spINS_7IBinderEEE(
- const sp<IBinder>& remote){
- //android::IPermissionControllerShim::asInterface(remote);
- return _ZN7android25IPermissionControllerShim11asInterfaceERKNS_2spINS_7IBinderEEE(remote);
+//<sp<IBinder> SurfaceComposerClient::getPhysicalDisplayToken(unsigned long long)
+extern "C" void *_ZN7android21SurfaceComposerClient23getPhysicalDisplayTokenEy(unsigned long long);
+
+//sp<IBinder> SurfaceComposerClient::getBuiltInDisplay(int32_t id);
+extern "C" void* _ZN7android21SurfaceComposerClient17getBuiltInDisplayEi(int32_t id){
+ return _ZN7android21SurfaceComposerClient23getPhysicalDisplayTokenEy(static_cast<uint64_t>(id));
}
-*/
-extern "C" status_t _ZN7android14SurfaceControl7setSizeEjj(uint32_t w, uint32_t h){
- t->setSize((SurfaceControl*)sc, w, h);
- return android::NO_ERROR;
+extern "C" void _ZN7android14SurfaceControl7destroyEv(void);
+
+extern "C" void _ZN7android14SurfaceControl5clearEv(void){
+ _ZN7android14SurfaceControl7destroyEv();
}
-extern "C" status_t _ZN7android14SurfaceControl11setPositionEff(float x, float y){
- t->setPosition((SurfaceControl*)sc, x, y);
- return android::NO_ERROR;
+//android::GraphicBuffer::lock(uint32_t inUsage, void** vaddr, int32_t* outBytesPerPixel,
+// int32_t* outBytesPerStride);
+extern "C" status_t _ZN7android13GraphicBuffer4lockEjPPvPiS3_(uint32_t inUsage, void** vaddr, int32_t* outBytesPerPixel,
+ int32_t* outBytesPerStride);
+
+//status_t GraphicBuffer::lock(uint32_t inUsage, void** vaddr)
+extern "C" status_t _ZN7android13GraphicBuffer4lockEjPPv(uint32_t inUsage, void** vaddr){
+ return _ZN7android13GraphicBuffer4lockEjPPvPiS3_(inUsage, vaddr, nullptr, nullptr);
}
+
+