Export symbols for the newly exposed APEX/internal headers
Bug: 137655431
Test: CtsUiRenderingTestCases
Change-Id: I71c6d1a53ae080bf104848679ee62a77cf07c9fa
diff --git a/libs/hwui/apex/include/android/graphics/bitmap.h b/libs/hwui/apex/include/android/graphics/bitmap.h
index 45fec2ab..8c4b439 100644
--- a/libs/hwui/apex/include/android/graphics/bitmap.h
+++ b/libs/hwui/apex/include/android/graphics/bitmap.h
@@ -18,6 +18,7 @@
#include <android/bitmap.h>
#include <android/data_space.h>
+#include <cutils/compiler.h>
#include <jni.h>
#include <sys/cdefs.h>
@@ -37,31 +38,31 @@
* NOTE: This API does not need to remain as an APEX API if/when we pull libjnigraphics into the
* UI module.
*/
-AndroidBitmapInfo ABitmap_getInfoFromJava(JNIEnv* env, jobject bitmapObj);
+ANDROID_API AndroidBitmapInfo ABitmap_getInfoFromJava(JNIEnv* env, jobject bitmapObj);
/**
*
* @return ptr to an opaque handle to the native bitmap or null if the java bitmap has been recycled
* or does not exist.
*/
-ABitmap* ABitmap_acquireBitmapFromJava(JNIEnv* env, jobject bitmapObj);
+ANDROID_API ABitmap* ABitmap_acquireBitmapFromJava(JNIEnv* env, jobject bitmapObj);
-ABitmap* ABitmap_copy(ABitmap* srcBitmap, AndroidBitmapFormat dstFormat);
+ANDROID_API ABitmap* ABitmap_copy(ABitmap* srcBitmap, AndroidBitmapFormat dstFormat);
-void ABitmap_acquireRef(ABitmap* bitmap);
-void ABitmap_releaseRef(ABitmap* bitmap);
+ANDROID_API void ABitmap_acquireRef(ABitmap* bitmap);
+ANDROID_API void ABitmap_releaseRef(ABitmap* bitmap);
-AndroidBitmapInfo ABitmap_getInfo(ABitmap* bitmap);
-ADataSpace ABitmap_getDataSpace(ABitmap* bitmap);
+ANDROID_API AndroidBitmapInfo ABitmap_getInfo(ABitmap* bitmap);
+ANDROID_API ADataSpace ABitmap_getDataSpace(ABitmap* bitmap);
-void* ABitmap_getPixels(ABitmap* bitmap);
-void ABitmap_notifyPixelsChanged(ABitmap* bitmap);
+ANDROID_API void* ABitmap_getPixels(ABitmap* bitmap);
+ANDROID_API void ABitmap_notifyPixelsChanged(ABitmap* bitmap);
-AndroidBitmapFormat ABitmapConfig_getFormatFromConfig(JNIEnv* env, jobject bitmapConfigObj);
-jobject ABitmapConfig_getConfigFromFormat(JNIEnv* env, AndroidBitmapFormat format);
+ANDROID_API AndroidBitmapFormat ABitmapConfig_getFormatFromConfig(JNIEnv* env, jobject bitmapConfigObj);
+ANDROID_API jobject ABitmapConfig_getConfigFromFormat(JNIEnv* env, AndroidBitmapFormat format);
// NDK access
-int ABitmap_compress(const AndroidBitmapInfo* info, ADataSpace dataSpace, const void* pixels,
+ANDROID_API int ABitmap_compress(const AndroidBitmapInfo* info, ADataSpace dataSpace, const void* pixels,
AndroidBitmapCompressFormat format, int32_t quality, void* userContext,
AndroidBitmap_CompressWriteFunc);
/**
@@ -75,7 +76,7 @@
* a reference on the buffer, and the client must call
* AHardwareBuffer_release when finished with it.
*/
-AHardwareBuffer* ABitmap_getHardwareBuffer(ABitmap* bitmap);
+ANDROID_API AHardwareBuffer* ABitmap_getHardwareBuffer(ABitmap* bitmap);
__END_DECLS
diff --git a/libs/hwui/apex/include/android/graphics/canvas.h b/libs/hwui/apex/include/android/graphics/canvas.h
index 6fd6b06..a0cecc0 100644
--- a/libs/hwui/apex/include/android/graphics/canvas.h
+++ b/libs/hwui/apex/include/android/graphics/canvas.h
@@ -20,6 +20,7 @@
#include <android/graphics/paint.h>
#include <android/native_window.h>
#include <android/rect.h>
+#include <cutils/compiler.h>
#include <jni.h>
__BEGIN_DECLS
@@ -30,24 +31,24 @@
typedef struct ACanvas ACanvas;
// One of AHardwareBuffer_Format.
-bool ACanvas_isSupportedPixelFormat(int32_t bufferFormat);
+ANDROID_API bool ACanvas_isSupportedPixelFormat(int32_t bufferFormat);
/**
* Returns a native handle to a Java android.graphics.Canvas
*
* @return ACanvas* that is only valid for the life of the jobject.
*/
-ACanvas* ACanvas_getNativeHandleFromJava(JNIEnv* env, jobject canvas);
+ANDROID_API ACanvas* ACanvas_getNativeHandleFromJava(JNIEnv* env, jobject canvas);
/**
* Creates a canvas that wraps the buffer
*
* @param buffer is a required param. If no buffer is provided a nullptr will be returned.
*/
-ACanvas* ACanvas_createCanvas(const ANativeWindow_Buffer* buffer,
+ANDROID_API ACanvas* ACanvas_createCanvas(const ANativeWindow_Buffer* buffer,
int32_t /*android_dataspace_t*/ dataspace);
-void ACanvas_destroyCanvas(ACanvas* canvas);
+ANDROID_API void ACanvas_destroyCanvas(ACanvas* canvas);
/**
* Updates the canvas to render into the pixels in the provided buffer
@@ -60,7 +61,7 @@
* method will behave as if nullptr were passed as the input buffer and the previous buffer
* will still be released.
*/
-bool ACanvas_setBuffer(ACanvas* canvas, const ANativeWindow_Buffer* buffer,
+ANDROID_API bool ACanvas_setBuffer(ACanvas* canvas, const ANativeWindow_Buffer* buffer,
int32_t /*android_dataspace_t*/ dataspace);
/**
@@ -68,21 +69,21 @@
*
* @param clipRect required
*/
-void ACanvas_clipRect(ACanvas* canvas, const ARect* clipRect, bool doAntiAlias = false);
+ANDROID_API void ACanvas_clipRect(ACanvas* canvas, const ARect* clipRect, bool doAntiAlias = false);
/**
* Clips operations on the canvas to the difference of the current clip and the provided clipRect.
*
* @param clipRect required
*/
-void ACanvas_clipOutRect(ACanvas* canvas, const ARect* clipRect, bool doAntiAlias = false);
+ANDROID_API void ACanvas_clipOutRect(ACanvas* canvas, const ARect* clipRect, bool doAntiAlias = false);
/**
*
* @param rect required
* @param paint required
*/
-void ACanvas_drawRect(ACanvas* canvas, const ARect* rect, const APaint* paint);
+ANDROID_API void ACanvas_drawRect(ACanvas* canvas, const ARect* rect, const APaint* paint);
/**
*
@@ -91,7 +92,7 @@
* @param top
* @param paint
*/
-void ACanvas_drawBitmap(ACanvas* canvas, const ABitmap* bitmap, float left, float top,
+ANDROID_API void ACanvas_drawBitmap(ACanvas* canvas, const ABitmap* bitmap, float left, float top,
const APaint* paint);
__END_DECLS
diff --git a/libs/hwui/apex/include/android/graphics/jni_runtime.h b/libs/hwui/apex/include/android/graphics/jni_runtime.h
index 872a949..487383e 100644
--- a/libs/hwui/apex/include/android/graphics/jni_runtime.h
+++ b/libs/hwui/apex/include/android/graphics/jni_runtime.h
@@ -16,15 +16,18 @@
#ifndef ANDROID_GRAPHICS_JNI_RUNTIME_H
#define ANDROID_GRAPHICS_JNI_RUNTIME_H
+#include <cutils/compiler.h>
#include <jni.h>
__BEGIN_DECLS
-void init_android_graphics();
+ANDROID_API void init_android_graphics();
-int register_android_graphics_classes(JNIEnv* env);
+ANDROID_API int register_android_graphics_classes(JNIEnv* env);
-void zygote_preload_graphics();
+ANDROID_API int register_android_graphics_GraphicsStatsService(JNIEnv* env);
+
+ANDROID_API void zygote_preload_graphics();
__END_DECLS
diff --git a/libs/hwui/apex/include/android/graphics/matrix.h b/libs/hwui/apex/include/android/graphics/matrix.h
index 4039cd1..987ad13 100644
--- a/libs/hwui/apex/include/android/graphics/matrix.h
+++ b/libs/hwui/apex/include/android/graphics/matrix.h
@@ -18,6 +18,7 @@
#define ANDROID_GRAPHICS_MATRIX_H
#include <jni.h>
+#include <cutils/compiler.h>
#include <sys/cdefs.h>
__BEGIN_DECLS
@@ -31,7 +32,7 @@
* @return true if the values param was populated and false otherwise.
*/
-bool AMatrix_getContents(JNIEnv* env, jobject matrixObj, float values[9]);
+ANDROID_API bool AMatrix_getContents(JNIEnv* env, jobject matrixObj, float values[9]);
__END_DECLS
diff --git a/libs/hwui/apex/include/android/graphics/paint.h b/libs/hwui/apex/include/android/graphics/paint.h
index 5895e00..058db8d 100644
--- a/libs/hwui/apex/include/android/graphics/paint.h
+++ b/libs/hwui/apex/include/android/graphics/paint.h
@@ -16,6 +16,7 @@
#ifndef ANDROID_GRAPHICS_PAINT_H
#define ANDROID_GRAPHICS_PAINT_H
+#include <cutils/compiler.h>
#include <sys/cdefs.h>
__BEGIN_DECLS
@@ -35,11 +36,11 @@
ABLEND_MODE_SRC = 2,
};
-APaint* APaint_createPaint();
+ANDROID_API APaint* APaint_createPaint();
-void APaint_destroyPaint(APaint* paint);
+ANDROID_API void APaint_destroyPaint(APaint* paint);
-void APaint_setBlendMode(APaint* paint, ABlendMode blendMode);
+ANDROID_API void APaint_setBlendMode(APaint* paint, ABlendMode blendMode);
__END_DECLS
diff --git a/libs/hwui/apex/include/android/graphics/region.h b/libs/hwui/apex/include/android/graphics/region.h
index 961067a..0756d6d 100644
--- a/libs/hwui/apex/include/android/graphics/region.h
+++ b/libs/hwui/apex/include/android/graphics/region.h
@@ -16,6 +16,7 @@
#ifndef ANDROID_GRAPHICS_REGION_H
#define ANDROID_GRAPHICS_REGION_H
+#include <cutils/compiler.h>
#include <android/rect.h>
#include <sys/cdefs.h>
#include <jni.h>
@@ -35,19 +36,19 @@
* @return ARegionIterator that must be closed and must not live longer than the life
* of the jobject. It returns nullptr if the region is not a valid object.
*/
-ARegionIterator* ARegionIterator_acquireIterator(JNIEnv* env, jobject region);
+ANDROID_API ARegionIterator* ARegionIterator_acquireIterator(JNIEnv* env, jobject region);
-void ARegionIterator_releaseIterator(ARegionIterator* iterator);
+ANDROID_API void ARegionIterator_releaseIterator(ARegionIterator* iterator);
-bool ARegionIterator_isComplex(ARegionIterator* iterator);
+ANDROID_API bool ARegionIterator_isComplex(ARegionIterator* iterator);
-bool ARegionIterator_isDone(ARegionIterator* iterator);
+ANDROID_API bool ARegionIterator_isDone(ARegionIterator* iterator);
-void ARegionIterator_next(ARegionIterator* iterator);
+ANDROID_API void ARegionIterator_next(ARegionIterator* iterator);
-ARect ARegionIterator_getRect(ARegionIterator* iterator);
+ANDROID_API ARect ARegionIterator_getRect(ARegionIterator* iterator);
-ARect ARegionIterator_getTotalBounds(ARegionIterator* iterator);
+ANDROID_API ARect ARegionIterator_getTotalBounds(ARegionIterator* iterator);
__END_DECLS
diff --git a/libs/hwui/apex/include/android/graphics/renderthread.h b/libs/hwui/apex/include/android/graphics/renderthread.h
index 0a790af..50280a6 100644
--- a/libs/hwui/apex/include/android/graphics/renderthread.h
+++ b/libs/hwui/apex/include/android/graphics/renderthread.h
@@ -16,6 +16,7 @@
#ifndef ANDROID_GRAPHICS_RENDERTHREAD_H
#define ANDROID_GRAPHICS_RENDERTHREAD_H
+#include <cutils/compiler.h>
#include <sys/cdefs.h>
__BEGIN_DECLS
@@ -26,7 +27,7 @@
* function requires a valid fd, but does not persist or assume ownership of the fd
* outside the scope of this function.
*/
-void ARenderThread_dumpGraphicsMemory(int fd);
+ANDROID_API void ARenderThread_dumpGraphicsMemory(int fd);
__END_DECLS
diff --git a/libs/hwui/jni/BitmapFactory.cpp b/libs/hwui/jni/BitmapFactory.cpp
index f3395b9..d4e27d8 100644
--- a/libs/hwui/jni/BitmapFactory.cpp
+++ b/libs/hwui/jni/BitmapFactory.cpp
@@ -4,6 +4,7 @@
#include "BitmapFactory.h"
#include "CreateJavaOutputStreamAdaptor.h"
#include "GraphicsJNI.h"
+#include "MimeType.h"
#include "NinePatchPeeker.h"
#include "SkAndroidCodec.h"
#include "SkBRDAllocator.h"
diff --git a/libs/hwui/jni/GraphicsJNI.h b/libs/hwui/jni/GraphicsJNI.h
index 4bf3ed1..b58a740 100644
--- a/libs/hwui/jni/GraphicsJNI.h
+++ b/libs/hwui/jni/GraphicsJNI.h
@@ -1,6 +1,8 @@
#ifndef _ANDROID_GRAPHICS_GRAPHICS_JNI_H_
#define _ANDROID_GRAPHICS_GRAPHICS_JNI_H_
+#include <cutils/compiler.h>
+
#include "Bitmap.h"
#include "SkBitmap.h"
#include "SkBRDAllocator.h"
@@ -75,7 +77,7 @@
static SkPoint* jpointf_to_point(JNIEnv*, jobject jpointf, SkPoint* point);
static void point_to_jpointf(const SkPoint& point, JNIEnv*, jobject jpointf);
- static android::Canvas* getNativeCanvas(JNIEnv*, jobject canvas);
+ ANDROID_API static android::Canvas* getNativeCanvas(JNIEnv*, jobject canvas);
static android::Bitmap* getNativeBitmap(JNIEnv*, jobject bitmap);
static SkImageInfo getBitmapInfo(JNIEnv*, jobject bitmap, uint32_t* outRowBytes,
bool* isHardware);
diff --git a/libs/hwui/jni/GraphicsStatsService.cpp b/libs/hwui/jni/GraphicsStatsService.cpp
index e925946..6076552 100644
--- a/libs/hwui/jni/GraphicsStatsService.cpp
+++ b/libs/hwui/jni/GraphicsStatsService.cpp
@@ -25,6 +25,8 @@
#include <stats_event.h>
#include <stats_pull_atom_callback.h>
#include <statslog.h>
+
+#include "android/graphics/jni_runtime.h"
#include "GraphicsJNI.h"
namespace android {
@@ -171,6 +173,9 @@
gGraphicsStatsServiceObject = nullptr;
}
+} // namespace android
+using namespace android;
+
static const JNINativeMethod sMethods[] =
{{"nGetAshmemSize", "()I", (void*)getAshmemSize},
{"nCreateDump", "(IZ)J", (void*)createDump},
@@ -190,5 +195,3 @@
return jniRegisterNativeMethods(env, "android/graphics/GraphicsStatsService", sMethods,
NELEM(sMethods));
}
-
-} // namespace android
diff --git a/core/jni/android/graphics/MimeType.h b/libs/hwui/jni/MimeType.h
similarity index 87%
rename from core/jni/android/graphics/MimeType.h
rename to libs/hwui/jni/MimeType.h
index 38a579c..fdd510c 100644
--- a/core/jni/android/graphics/MimeType.h
+++ b/libs/hwui/jni/MimeType.h
@@ -16,6 +16,7 @@
#pragma once
+#include <cutils/compiler.h>
#include "SkEncodedImageFormat.h"
-const char* getMimeType(SkEncodedImageFormat);
+ANDROID_API const char* getMimeType(SkEncodedImageFormat);
diff --git a/native/graphics/jni/imagedecoder.cpp b/native/graphics/jni/imagedecoder.cpp
index d1946b0..56f3906 100644
--- a/native/graphics/jni/imagedecoder.cpp
+++ b/native/graphics/jni/imagedecoder.cpp
@@ -20,7 +20,7 @@
#include <android/bitmap.h>
#include <android/data_space.h>
#include <android/imagedecoder.h>
-#include <android/graphics/MimeType.h>
+#include <MimeType.h>
#include <android/rect.h>
#include <hwui/ImageDecoder.h>
#include <log/log.h>
diff --git a/services/core/jni/onload.cpp b/services/core/jni/onload.cpp
index e575432..f9238e3 100644
--- a/services/core/jni/onload.cpp
+++ b/services/core/jni/onload.cpp
@@ -14,6 +14,7 @@
* limitations under the License.
*/
+#include <android/graphics/jni_runtime.h>
#include <nativehelper/JNIHelp.h>
#include "jni.h"
#include "utils/Log.h"
@@ -49,7 +50,6 @@
int register_android_server_Watchdog(JNIEnv* env);
int register_android_server_HardwarePropertiesManagerService(JNIEnv* env);
int register_android_server_SyntheticPasswordManager(JNIEnv* env);
-int register_android_graphics_GraphicsStatsService(JNIEnv* env);
int register_android_hardware_display_DisplayViewport(JNIEnv* env);
int register_android_server_net_NetworkStatsFactory(JNIEnv* env);
int register_android_server_net_NetworkStatsService(JNIEnv* env);