aboutsummaryrefslogtreecommitdiff
path: root/libshims
diff options
context:
space:
mode:
Diffstat (limited to 'libshims')
-rw-r--r--libshims/Android.mk8
-rw-r--r--libshims/libsonycamera.cpp16
2 files changed, 24 insertions, 0 deletions
diff --git a/libshims/Android.mk b/libshims/Android.mk
index 88e307f..e4bfd9f 100644
--- a/libshims/Android.mk
+++ b/libshims/Android.mk
@@ -43,3 +43,11 @@ LOCAL_MODULE_TAGS := optional
LOCAL_32_BIT_ONLY := true
include $(BUILD_SHARED_LIBRARY)
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES := libsonycamera.cpp
+LOCAL_MODULE := libsonycamera
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_SHARED_LIBRARIES := liblog
+LOCAL_32_BIT_ONLY := true
+include $(BUILD_SHARED_LIBRARY)
diff --git a/libshims/libsonycamera.cpp b/libshims/libsonycamera.cpp
new file mode 100644
index 0000000..8d759fe
--- /dev/null
+++ b/libshims/libsonycamera.cpp
@@ -0,0 +1,16 @@
+#include <cutils/log.h>
+#include <sys/types.h>
+#include <dlfcn.h>
+#include <string.h>
+
+// Unlock all Sony parameters
+extern "C" {
+ int property_get(const char * key, char * value, const char * default_value) {
+ if (strcmp("ro.build.type", key) == 0) {
+ strcpy(value, "eng");
+ return 3;
+ }
+
+ return ((int( * )(const char * , char *, const char * ))(dlsym((void * ) - 1, "property_get")))(key, value, default_value);
+ }
+} \ No newline at end of file