Return jobject when getting android Java Surface

This logic is originally borrowed from similar API from shim_gvr API
where we cannot explicity deps on JNI.h in the public header. This
constrain no longer exists as libdvr is an Android platform library.

Bug: 2013449
Test: Built libdvr
Change-Id: Ide72f5fb706cd24e13507749216d7708f1f40fcc
diff --git a/libs/vr/libdvr/dvr_buffer_queue.cpp b/libs/vr/libdvr/dvr_buffer_queue.cpp
index b0b5a2a..4ce0b22 100644
--- a/libs/vr/libdvr/dvr_buffer_queue.cpp
+++ b/libs/vr/libdvr/dvr_buffer_queue.cpp
@@ -23,8 +23,8 @@
   return write_queue->producer_queue_->capacity();
 }
 
-void* dvrWriteBufferQueueGetExternalSurface(DvrWriteBufferQueue* write_queue,
-                                            JNIEnv* env) {
+jobject dvrWriteBufferQueueGetExternalSurface(DvrWriteBufferQueue* write_queue,
+                                              JNIEnv* env) {
   CHECK_PARAM(env);
   CHECK_PARAM(write_queue);
 
diff --git a/libs/vr/libdvr/include/dvr/dvr_api.h b/libs/vr/libdvr/include/dvr/dvr_api.h
index 6fd50ee..f5b4ee0 100644
--- a/libs/vr/libdvr/include/dvr/dvr_api.h
+++ b/libs/vr/libdvr/include/dvr/dvr_api.h
@@ -85,7 +85,7 @@
 typedef void (*DvrWriteBufferQueueDestroyPtr)(DvrWriteBufferQueue* write_queue);
 typedef size_t (*DvrWriteBufferQueueGetCapacityPtr)(
     DvrWriteBufferQueue* write_queue);
-typedef void* (*DvrWriteBufferQueueGetExternalSurfacePtr)(
+typedef jobject (*DvrWriteBufferQueueGetExternalSurfacePtr)(
     DvrWriteBufferQueue* write_queue, JNIEnv* env);
 typedef int (*DvrWriteBufferQueueCreateReadQueuePtr)(
     DvrWriteBufferQueue* write_queue, DvrReadBufferQueue** out_read_queue);
diff --git a/libs/vr/libdvr/include/dvr/dvr_buffer_queue.h b/libs/vr/libdvr/include/dvr/dvr_buffer_queue.h
index 86b3ae2..80c9779 100644
--- a/libs/vr/libdvr/include/dvr/dvr_buffer_queue.h
+++ b/libs/vr/libdvr/include/dvr/dvr_buffer_queue.h
@@ -17,8 +17,8 @@
 
 // Returns ANativeWindow in the form of jobject. Can be casted to ANativeWindow
 // using ANativeWindow_fromSurface NDK API.
-void* dvrWriteBufferQueueGetExternalSurface(DvrWriteBufferQueue* write_queue,
-                                            JNIEnv* env);
+jobject dvrWriteBufferQueueGetExternalSurface(DvrWriteBufferQueue* write_queue,
+                                              JNIEnv* env);
 
 int dvrWriteBufferQueueCreateReadQueue(DvrWriteBufferQueue* write_queue,
                                        DvrReadBufferQueue** out_read_queue);