separate the JNI part of the NDK into their own source

Test: built and booted device
Bug: 35164655
Change-Id: I944c9f28730b82e8c428b5384dc57e1b296144b2
This commit is contained in:
Mathias Agopian
2017-02-08 18:48:32 -08:00
parent a43d232575
commit e68b4f73a9
6 changed files with 81 additions and 40 deletions

View File

@@ -18,6 +18,7 @@
#define _ANDROID_VIEW_SURFACE_H
#include <android/native_window.h>
#include <system/graphics.h>
#include "jni.h"

View File

@@ -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 \

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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();
}