From e68b4f73a92b4683a668608e1a64548eb7dbd27a Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Wed, 8 Feb 2017 18:48:32 -0800 Subject: [PATCH] separate the JNI part of the NDK into their own source Test: built and booted device Bug: 35164655 Change-Id: I944c9f28730b82e8c428b5384dc57e1b296144b2 --- .../android_runtime/android_view_Surface.h | 1 + native/android/Android.mk | 2 ++ native/android/hardware_buffer.cpp | 35 ++++++------------- native/android/hardware_buffer_jni.cpp | 31 ++++++++++++++++ native/android/native_window.cpp | 17 ++------- native/android/native_window_jni.cpp | 35 +++++++++++++++++++ 6 files changed, 81 insertions(+), 40 deletions(-) create mode 100644 native/android/hardware_buffer_jni.cpp create mode 100644 native/android/native_window_jni.cpp diff --git a/core/jni/include/android_runtime/android_view_Surface.h b/core/jni/include/android_runtime/android_view_Surface.h index 1bc85212090ae..07e29cbbcce6b 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 +#include #include "jni.h" diff --git a/native/android/Android.mk b/native/android/Android.mk index f510b488548e5..f8405ef751a44 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 e5e928dee2a71..77ebd52a06f46 100644 --- a/native/android/hardware_buffer.cpp +++ b/native/android/hardware_buffer.cpp @@ -16,24 +16,25 @@ #define LOG_TAG "AHardwareBuffer" -#include +#include #include #include #include -#include -#include -#include -#include #include + +#include + +#include + +#include #include #include -#include -#include -#include -#include + +#include + 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 0000000000000..06b07820bd5ee --- /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 + +#include + +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 ca0c9028a4e86..8c080d778f474 100644 --- a/native/android/native_window.cpp +++ b/native/android/native_window.cpp @@ -15,22 +15,9 @@ */ #define LOG_TAG "Surface" -#include -#include -#include -#include -#include - -using namespace android; - -ANativeWindow* ANativeWindow_fromSurface(JNIEnv* env, jobject surface) { - sp win = android_view_Surface_getNativeWindow(env, surface); - if (win != NULL) { - win->incStrong((void*)ANativeWindow_acquire); - } - return win.get(); -} +#include +#include 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 0000000000000..dc3040533974f --- /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 +#include +#include + +#include + +#include + +using namespace android; + +ANativeWindow* ANativeWindow_fromSurface(JNIEnv* env, jobject surface) { + sp win = android_view_Surface_getNativeWindow(env, surface); + if (win != NULL) { + win->incStrong((void*)ANativeWindow_fromSurface); + } + return win.get(); +}