diff options
author | 2017-02-08 18:48:32 -0800 | |
---|---|---|
committer | 2017-02-10 20:07:33 +0000 | |
commit | e68b4f73a92b4683a668608e1a64548eb7dbd27a (patch) | |
tree | d6720a164df494bbafc17014225ff6eecd37de1e | |
parent | a43d2325752c5b747f517a4351d4944ba48e1b14 (diff) |
separate the JNI part of the NDK into their own source
Test: built and booted device
Bug: 35164655
Change-Id: I944c9f28730b82e8c428b5384dc57e1b296144b2
-rw-r--r-- | core/jni/include/android_runtime/android_view_Surface.h | 1 | ||||
-rw-r--r-- | native/android/Android.mk | 2 | ||||
-rw-r--r-- | native/android/hardware_buffer.cpp | 35 | ||||
-rw-r--r-- | native/android/hardware_buffer_jni.cpp | 31 | ||||
-rw-r--r-- | native/android/native_window.cpp | 17 | ||||
-rw-r--r-- | native/android/native_window_jni.cpp | 35 |
6 files changed, 81 insertions, 40 deletions
diff --git a/core/jni/include/android_runtime/android_view_Surface.h b/core/jni/include/android_runtime/android_view_Surface.h index 1bc85212090a..07e29cbbcce6 100644 --- a/core/jni/include/android_runtime/android_view_Surface.h +++ b/core/jni/include/android_runtime/android_view_Surface.h @@ -18,6 +18,7 @@ #define _ANDROID_VIEW_SURFACE_H #include <android/native_window.h> +#include <system/graphics.h> #include "jni.h" diff --git a/native/android/Android.mk b/native/android/Android.mk index f510b488548e..f8405ef751a4 100644 --- a/native/android/Android.mk +++ b/native/android/Android.mk @@ -12,10 +12,12 @@ LOCAL_SRC_FILES:= \ choreographer.cpp \ configuration.cpp \ hardware_buffer.cpp \ + hardware_buffer_jni.cpp \ input.cpp \ looper.cpp \ native_activity.cpp \ native_window.cpp \ + native_window_jni.cpp \ net.c \ obb.cpp \ sensor.cpp \ diff --git a/native/android/hardware_buffer.cpp b/native/android/hardware_buffer.cpp index e5e928dee2a7..77ebd52a06f4 100644 --- a/native/android/hardware_buffer.cpp +++ b/native/android/hardware_buffer.cpp @@ -16,24 +16,25 @@ #define LOG_TAG "AHardwareBuffer" -#include <android/hardware_buffer_jni.h> +#include <android/hardware_buffer.h> #include <errno.h> #include <sys/socket.h> #include <memory> -#include <android_runtime/android_hardware_HardwareBuffer.h> -#include <binder/Binder.h> -#include <binder/Parcel.h> -#include <binder/IServiceManager.h> #include <cutils/native_handle.h> + +#include <utils/Log.h> + +#include <ui/GraphicBuffer.h> + +#include <binder/IServiceManager.h> #include <gui/ISurfaceComposer.h> #include <gui/IGraphicBufferAlloc.h> -#include <hardware/gralloc1.h> -#include <ui/GraphicBuffer.h> -#include <utils/Flattenable.h> -#include <utils/Log.h> + +#include <android_runtime/android_hardware_HardwareBuffer.h> + static constexpr int kDataBufferSize = 64 * sizeof(int); // 64 ints @@ -299,19 +300,3 @@ const struct native_handle* AHardwareBuffer_getNativeHandle( const GraphicBuffer* gbuffer = AHardwareBuffer_to_GraphicBuffer(buffer); return gbuffer->handle; } - -// ---------------------------------------------------------------------------- -// JNI functions -// ---------------------------------------------------------------------------- - -AHardwareBuffer* AHardwareBuffer_fromHardwareBuffer(JNIEnv* env, - jobject hardwareBufferObj) { - return android_hardware_HardwareBuffer_getNativeHardwareBuffer(env, - hardwareBufferObj); -} - -jobject AHardwareBuffer_toHardwareBuffer(JNIEnv* env, - AHardwareBuffer* hardwareBuffer) { - return android_hardware_HardwareBuffer_createFromAHardwareBuffer(env, - hardwareBuffer); -} diff --git a/native/android/hardware_buffer_jni.cpp b/native/android/hardware_buffer_jni.cpp new file mode 100644 index 000000000000..06b07820bd5e --- /dev/null +++ b/native/android/hardware_buffer_jni.cpp @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#define LOG_TAG "AHardwareBuffer" + +#include <android/hardware_buffer_jni.h> + +#include <android_runtime/android_hardware_HardwareBuffer.h> + +using namespace android; + +AHardwareBuffer* AHardwareBuffer_fromHardwareBuffer(JNIEnv* env, jobject hardwareBufferObj) { + return android_hardware_HardwareBuffer_getNativeHardwareBuffer(env, hardwareBufferObj); +} + +jobject AHardwareBuffer_toHardwareBuffer(JNIEnv* env, AHardwareBuffer* hardwareBuffer) { + return android_hardware_HardwareBuffer_createFromAHardwareBuffer(env, hardwareBuffer); +} diff --git a/native/android/native_window.cpp b/native/android/native_window.cpp index ca0c9028a4e8..8c080d778f47 100644 --- a/native/android/native_window.cpp +++ b/native/android/native_window.cpp @@ -15,22 +15,9 @@ */ #define LOG_TAG "Surface" -#include <utils/Log.h> -#include <android/native_window_jni.h> -#include <gui/Surface.h> -#include <android_runtime/android_view_Surface.h> -#include <android_runtime/android_graphics_SurfaceTexture.h> - -using namespace android; - -ANativeWindow* ANativeWindow_fromSurface(JNIEnv* env, jobject surface) { - sp<ANativeWindow> win = android_view_Surface_getNativeWindow(env, surface); - if (win != NULL) { - win->incStrong((void*)ANativeWindow_acquire); - } - return win.get(); -} +#include <android/native_window.h> +#include <system/window.h> void ANativeWindow_acquire(ANativeWindow* window) { window->incStrong((void*)ANativeWindow_acquire); diff --git a/native/android/native_window_jni.cpp b/native/android/native_window_jni.cpp new file mode 100644 index 000000000000..dc3040533974 --- /dev/null +++ b/native/android/native_window_jni.cpp @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#define LOG_TAG "Surface" + +#include <android/native_window_jni.h> +#include <android/native_window.h> +#include <system/window.h> + +#include <utils/StrongPointer.h> + +#include <android_runtime/android_view_Surface.h> + +using namespace android; + +ANativeWindow* ANativeWindow_fromSurface(JNIEnv* env, jobject surface) { + sp<ANativeWindow> win = android_view_Surface_getNativeWindow(env, surface); + if (win != NULL) { + win->incStrong((void*)ANativeWindow_fromSurface); + } + return win.get(); +} |