Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 83ccff71 authored by Derek Sollenberger's avatar Derek Sollenberger
Browse files

Move android.graphics JNI & APEX files into HWUI

The graphics JNI code is now separate from libandroid_runtime
and it along with HWUI headers are no longer visible to targets
outside the boundary of what is to become the UI mainline module

The exposed headers to targets outside the module are now restriced
to C APIs contained in the apex header directory.

Bug: 137655431
Test: CtsUiRenderingTestCases
Change-Id: I30d34055b6870dc1039f190a88f4a747cee17300
parent 710895ed
Loading
Loading
Loading
Loading
+1 −161
Original line number Diff line number Diff line
@@ -52,20 +52,11 @@ cc_library_shared {
        "system/media/private/camera/include",
    ],

    static_libs: [
        "libandroid_graphics",
    ],

    whole_static_libs: ["libandroid_graphics"],

    export_static_lib_headers: ["libandroid_graphics"],

    shared_libs: [
        "libbase",
        "libcutils",
        "libharfbuzz_ng",
        "libhwui",
        "libjpeg",
        "liblog",
        "libminikin",
        "libnativehelper",
@@ -107,6 +98,7 @@ cc_library_shared {
                "android_database_SQLiteGlobal.cpp",
                "android_database_SQLiteDebug.cpp",
                "android_graphics_GraphicBuffer.cpp",
                "android_graphics_SurfaceTexture.cpp",
                "android_view_CompositionSamplingListener.cpp",
                "android_view_DisplayEventReceiver.cpp",
                "android_view_InputChannel.cpp",
@@ -182,8 +174,6 @@ cc_library_shared {
                "android_hardware_UsbRequest.cpp",
                "android_hardware_location_ActivityRecognitionHardware.cpp",
                "android_util_FileObserver.cpp",
                "android/graphics/GraphicsStatsService.cpp",
                "android/graphics/SurfaceTexture.cpp",
                "android/opengl/poly_clip.cpp", // TODO: .arm
                "android/opengl/util.cpp",
                "android_server_NetworkManagementSocketTagger.cpp",
@@ -324,153 +314,3 @@ cc_library_shared {
        },
    },
}

cc_library_static {
    name: "libandroid_graphics",
    host_supported: true,
    cflags: [
        "-Wno-unused-parameter",
        "-Wno-non-virtual-dtor",
        "-Wno-maybe-uninitialized",
        "-Wno-parentheses",

        "-DGL_GLEXT_PROTOTYPES",
        "-DEGL_EGLEXT_PROTOTYPES",

        "-DU_USING_ICU_NAMESPACE=0",

        "-Wall",
        "-Werror",
        "-Wno-error=deprecated-declarations",
        "-Wunused",
        "-Wunreachable-code",
    ],

    cppflags: ["-Wno-conversion-null"],

    srcs: [
        "android/graphics/apex/android_matrix.cpp",
        "android/graphics/apex/android_paint.cpp",
        "android/graphics/apex/android_region.cpp",

        "android_graphics_animation_NativeInterpolatorFactory.cpp",
        "android_graphics_animation_RenderNodeAnimator.cpp",
        "android_graphics_Canvas.cpp",
        "android_graphics_ColorSpace.cpp",
        "android_graphics_drawable_AnimatedVectorDrawable.cpp",
        "android_graphics_drawable_VectorDrawable.cpp",
        "android_graphics_HardwareRendererObserver.cpp",
        "android_graphics_Picture.cpp",
        "android_nio_utils.cpp",
        "android_view_DisplayListCanvas.cpp",
        "android_view_RenderNode.cpp",
        "android_util_PathParser.cpp",

        "android/graphics/Bitmap.cpp",
        "android/graphics/BitmapFactory.cpp",
        "android/graphics/ByteBufferStreamAdaptor.cpp",
        "android/graphics/Camera.cpp",
        "android/graphics/CanvasProperty.cpp",
        "android/graphics/ColorFilter.cpp",
        "android/graphics/CreateJavaOutputStreamAdaptor.cpp",
        "android/graphics/FontFamily.cpp",
        "android/graphics/FontUtils.cpp",
        "android/graphics/Graphics.cpp",
        "android/graphics/ImageDecoder.cpp",
        "android/graphics/Interpolator.cpp",
        "android/graphics/MaskFilter.cpp",
        "android/graphics/Matrix.cpp",
        "android/graphics/NinePatch.cpp",
        "android/graphics/NinePatchPeeker.cpp",
        "android/graphics/Paint.cpp",
        "android/graphics/PaintFilter.cpp",
        "android/graphics/Path.cpp",
        "android/graphics/PathEffect.cpp",
        "android/graphics/PathMeasure.cpp",
        "android/graphics/Picture.cpp",
        "android/graphics/Region.cpp",
        "android/graphics/Shader.cpp",
        "android/graphics/Typeface.cpp",
        "android/graphics/Utils.cpp",
        "android/graphics/YuvToJpegEncoder.cpp",
        "android/graphics/fonts/Font.cpp",
        "android/graphics/fonts/FontFamily.cpp",
        "android/graphics/text/LineBreaker.cpp",
        "android/graphics/text/MeasuredText.cpp",
    ],

    local_include_dirs: [
        "include",  // NEEDED FOR ANDROID RUNTIME
        "android/graphics",
        "android/graphics/apex/include",
    ],

    export_include_dirs: [
        "android/graphics/apex/include",
    ],

    include_dirs: [
        "external/skia/include/private",
        "external/skia/src/codec",
        "external/skia/src/core",
        "external/skia/src/effects",
        "external/skia/src/image",
        "external/skia/src/images",
    ],

    shared_libs: [
        "libbase",
        "libcutils",
        "libharfbuzz_ng",
        "libhwui",
        "liblog",
        "libminikin",
        "libnativehelper",
        "libz",
        "libziparchive",
        "libjpeg",
    ],

    target: {
        android: {
            srcs: [ // sources that depend on android only libraries
                "android/graphics/apex/android_canvas.cpp",
                "android/graphics/apex/android_bitmap.cpp",
                "android/graphics/apex/renderthread.cpp",
                "android/graphics/apex/jni_runtime.cpp",

                "android_view_TextureLayer.cpp",
                "android_view_ThreadedRenderer.cpp",
                "android/graphics/AnimatedImageDrawable.cpp",
                "android/graphics/BitmapRegionDecoder.cpp",
                "android/graphics/GIFMovie.cpp",
                "android/graphics/Movie.cpp",
                "android/graphics/MovieImpl.cpp",
                "android/graphics/pdf/PdfDocument.cpp",
                "android/graphics/pdf/PdfEditor.cpp",
                "android/graphics/pdf/PdfRenderer.cpp",
                "android/graphics/pdf/PdfUtils.cpp",
            ],
            shared_libs: [
                "libandroidfw",
                "libEGL",
                "libmediandk",
                "libnativedisplay",
                "libnativewindow",
                "libpdfium",
            ],
            static_libs: [
                "libgif",
            ],
        },
        host: {
            cflags: [
                "-Wno-unused-const-variable",
                "-Wno-unused-function",
            ],
            static_libs: [
                "libandroidfw",
            ],
        }
    },
}
+2 −0
Original line number Diff line number Diff line
@@ -115,6 +115,7 @@ extern int register_android_content_StringBlock(JNIEnv* env);
extern int register_android_content_XmlBlock(JNIEnv* env);
extern int register_android_content_res_ApkAssets(JNIEnv* env);
extern int register_android_graphics_BLASTBufferQueue(JNIEnv* env);
extern int register_android_graphics_SurfaceTexture(JNIEnv* env);
extern int register_android_view_DisplayEventReceiver(JNIEnv* env);
extern int register_android_view_InputApplicationHandle(JNIEnv* env);
extern int register_android_view_InputWindowHandle(JNIEnv* env);
@@ -1484,6 +1485,7 @@ static const RegJNIRec gRegJNI[] = {
        REG_JNI(register_android_graphics_classes),
        REG_JNI(register_android_graphics_BLASTBufferQueue),
        REG_JNI(register_android_graphics_GraphicBuffer),
        REG_JNI(register_android_graphics_SurfaceTexture),
        REG_JNI(register_android_database_CursorWindow),
        REG_JNI(register_android_database_SQLiteConnection),
        REG_JNI(register_android_database_SQLiteGlobal),
+223 −3
Original line number Diff line number Diff line
@@ -151,10 +151,230 @@ cc_defaults {
    },
}

// ------------------------
// APEX
// ------------------------

cc_library_headers {
    name: "android_graphics_apex_headers",

    host_supported: true,
    export_include_dirs: [
        "apex/include",
    ],
    target: {
        windows: {
            enabled: true,
        },
    }
}

cc_defaults {
    name: "android_graphics_apex",
    host_supported: true,
    cflags: [
        "-Wno-unused-parameter",
        "-Wno-non-virtual-dtor",
        "-Wno-maybe-uninitialized",
        "-Wno-parentheses",
        "-Wall",
        "-Werror",
        "-Wno-error=deprecated-declarations",
        "-Wunused",
        "-Wunreachable-code",
    ],

    cppflags: ["-Wno-conversion-null"],

    srcs: [
        "apex/android_matrix.cpp",
        "apex/android_paint.cpp",
        "apex/android_region.cpp",
    ],

    header_libs: [ "android_graphics_apex_headers" ],

    target: {
        android: {
            srcs: [ // sources that depend on android only libraries
                "apex/android_bitmap.cpp",
                "apex/android_canvas.cpp",
                "apex/jni_runtime.cpp",
                "apex/renderthread.cpp",
            ],
        },
    },
}

// ------------------------
// Android Graphics JNI
// ------------------------

cc_library_headers {
    name: "android_graphics_jni_headers",

    host_supported: true,
    export_include_dirs: [
        "jni",
    ],
    target: {
        windows: {
            enabled: true,
        },
    }
}

cc_defaults {
    name: "android_graphics_jni",
    host_supported: true,
    cflags: [
        "-Wno-unused-parameter",
        "-Wno-non-virtual-dtor",
        "-Wno-maybe-uninitialized",
        "-Wno-parentheses",

        "-DGL_GLEXT_PROTOTYPES",
        "-DEGL_EGLEXT_PROTOTYPES",

        "-DU_USING_ICU_NAMESPACE=0",

        "-Wall",
        "-Werror",
        "-Wno-error=deprecated-declarations",
        "-Wunused",
        "-Wunreachable-code",
    ],

    cppflags: ["-Wno-conversion-null"],

    srcs: [
        "jni/android_graphics_animation_NativeInterpolatorFactory.cpp",
        "jni/android_graphics_animation_RenderNodeAnimator.cpp",
        "jni/android_graphics_Canvas.cpp",
        "jni/android_graphics_ColorSpace.cpp",
        "jni/android_graphics_drawable_AnimatedVectorDrawable.cpp",
        "jni/android_graphics_drawable_VectorDrawable.cpp",
        "jni/android_graphics_HardwareRendererObserver.cpp",
        "jni/android_graphics_Matrix.cpp",
        "jni/android_graphics_Picture.cpp",
        "jni/android_graphics_DisplayListCanvas.cpp",
        "jni/android_graphics_RenderNode.cpp",
        "jni/android_nio_utils.cpp",
        "jni/android_util_PathParser.cpp",

        "jni/Bitmap.cpp",
        "jni/BitmapFactory.cpp",
        "jni/ByteBufferStreamAdaptor.cpp",
        "jni/Camera.cpp",
        "jni/CanvasProperty.cpp",
        "jni/ColorFilter.cpp",
        "jni/CreateJavaOutputStreamAdaptor.cpp",
        "jni/FontFamily.cpp",
        "jni/FontUtils.cpp",
        "jni/Graphics.cpp",
        "jni/ImageDecoder.cpp",
        "jni/Interpolator.cpp",
        "jni/MaskFilter.cpp",
        "jni/NinePatch.cpp",
        "jni/NinePatchPeeker.cpp",
        "jni/Paint.cpp",
        "jni/PaintFilter.cpp",
        "jni/Path.cpp",
        "jni/PathEffect.cpp",
        "jni/PathMeasure.cpp",
        "jni/Picture.cpp",
        "jni/Region.cpp",
        "jni/Shader.cpp",
        "jni/Typeface.cpp",
        "jni/Utils.cpp",
        "jni/YuvToJpegEncoder.cpp",
        "jni/fonts/Font.cpp",
        "jni/fonts/FontFamily.cpp",
        "jni/text/LineBreaker.cpp",
        "jni/text/MeasuredText.cpp",
    ],

    header_libs: [ "android_graphics_jni_headers" ],

    include_dirs: [
        "external/skia/include/private",
        "external/skia/src/codec",
        "external/skia/src/core",
        "external/skia/src/effects",
        "external/skia/src/image",
        "external/skia/src/images",
    ],

    shared_libs: [
        "libbase",
        "libbinder",
        "libcutils",
        "libharfbuzz_ng",
        "liblog",
        "libminikin",
        "libnativehelper",
        "libz",
        "libziparchive",
        "libjpeg",
    ],

    target: {
        android: {
            srcs: [ // sources that depend on android only libraries
                "jni/AnimatedImageDrawable.cpp",
                "jni/android_graphics_TextureLayer.cpp",
                "jni/android_graphics_HardwareRenderer.cpp",
                "jni/BitmapRegionDecoder.cpp",
                "jni/GIFMovie.cpp",
                "jni/GraphicsStatsService.cpp",
                "jni/Movie.cpp",
                "jni/MovieImpl.cpp",
                "jni/pdf/PdfDocument.cpp",
                "jni/pdf/PdfEditor.cpp",
                "jni/pdf/PdfRenderer.cpp",
                "jni/pdf/PdfUtils.cpp",
            ],
            shared_libs: [
                "libandroidfw",
                "libmediandk",
                "libnativedisplay",
                "libnativewindow",
                "libstatspull",
                "libstatssocket",
                "libpdfium",
            ],
            static_libs: [
                "libgif",
                "libstatslog",
            ],
        },
        host: {
            cflags: [
                "-Wno-unused-const-variable",
                "-Wno-unused-function",
            ],
            static_libs: [
                "libandroidfw",
            ],
        }
    },
}

// ------------------------
// library
// ------------------------

cc_library_headers {
    name: "libhwui_internal_headers",

    host_supported: true,
    export_include_dirs: [
        ".",
    ],
    header_libs: [ "android_graphics_jni_headers" ],
    export_header_lib_headers: [ "android_graphics_jni_headers" ],
}

cc_defaults {
    name: "libhwui_defaults",
    defaults: ["hwui_defaults"],
@@ -205,11 +425,8 @@ cc_defaults {
        export_proto_headers: true,
    },

    export_include_dirs: ["."],

    target: {
        android: {

            srcs: [
                "hwui/AnimatedImageThread.cpp",
                "pipeline/skia/ATraceMemoryDump.cpp",
@@ -274,7 +491,10 @@ cc_library {
    host_supported: true,
    defaults: [
        "libhwui_defaults",
        "android_graphics_apex",
        "android_graphics_jni",
    ],
    export_header_lib_headers: ["android_graphics_apex_headers"],
}

cc_library_static {
Loading