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:
@@ -18,6 +18,7 @@
|
||||
#define _ANDROID_VIEW_SURFACE_H
|
||||
|
||||
#include <android/native_window.h>
|
||||
#include <system/graphics.h>
|
||||
|
||||
#include "jni.h"
|
||||
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
31
native/android/hardware_buffer_jni.cpp
Normal file
31
native/android/hardware_buffer_jni.cpp
Normal 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);
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
35
native/android/native_window_jni.cpp
Normal file
35
native/android/native_window_jni.cpp
Normal 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();
|
||||
}
|
||||
Reference in New Issue
Block a user