From ef37c24f4432c4bcdd9c4794054a25b8ff8c08e9 Mon Sep 17 00:00:00 2001 From: Alec Mouri Date: Mon, 2 Mar 2020 21:38:09 +0000 Subject: [PATCH] Initial boilerplate for an updatable graphics jar Bug: 149773383 Test: builds Test: hacks to verify that @hide apis are actually two-way hidden Change-Id: I148b54fe47560b2335e9d878ed93bf167d6c7517 --- Android.bp | 6 +- libs/hwui/Android.bp | 101 ++++++++++++++++++ .../java/android/graphics/ColorMatrix.java | 0 libs/hwui/api/current.txt | 23 ++++ libs/hwui/api/module-lib-current.txt | 1 + libs/hwui/api/module-lib-removed.txt | 1 + libs/hwui/api/removed.txt | 1 + libs/hwui/api/system-current.txt | 1 + libs/hwui/api/system-removed.txt | 1 + 9 files changed, 133 insertions(+), 2 deletions(-) rename {graphics => libs/hwui/apex}/java/android/graphics/ColorMatrix.java (100%) create mode 100644 libs/hwui/api/current.txt create mode 100644 libs/hwui/api/module-lib-current.txt create mode 100644 libs/hwui/api/module-lib-removed.txt create mode 100644 libs/hwui/api/removed.txt create mode 100644 libs/hwui/api/system-current.txt create mode 100644 libs/hwui/api/system-removed.txt diff --git a/Android.bp b/Android.bp index e6c793908964..0f67757179db 100644 --- a/Android.bp +++ b/Android.bp @@ -65,7 +65,7 @@ filegroup { } filegroup { - name: "framework-graphics-sources", + name: "framework-graphics-nonupdatable-sources", srcs: [ "graphics/java/**/*.java", "graphics/java/**/*.aidl", @@ -223,7 +223,7 @@ filegroup { ":framework-blobstore-sources", ":framework-core-sources", ":framework-drm-sources", - ":framework-graphics-sources", + ":framework-graphics-nonupdatable-sources", ":framework-jobscheduler-sources", // jobscheduler is not a module for R ":framework-keystore-sources", ":framework-identity-sources", @@ -282,6 +282,7 @@ filegroup { name: "framework-updatable-sources", srcs: [ ":framework-appsearch-sources", + ":framework-graphics-srcs", ":framework-mediaprovider-sources", ":framework-permission-sources", ":framework-sdkextensions-sources", @@ -297,6 +298,7 @@ java_library { name: "framework-updatable-stubs-module_libs_api", static_libs: [ "framework-appsearch-stubs", // TODO: Update to module_libs_api when there is one. + "framework-graphics-stubs-module_libs_api", "framework-media-stubs-module_libs_api", "framework-mediaprovider-stubs-module_libs_api", "framework-permission-stubs-module_libs_api", diff --git a/libs/hwui/Android.bp b/libs/hwui/Android.bp index f7fc5229613e..4ad130b980b6 100644 --- a/libs/hwui/Android.bp +++ b/libs/hwui/Android.bp @@ -152,6 +152,107 @@ cc_defaults { }, } +// ------------------------ +// framework-graphics jar +// ------------------------ + +java_library { + name: "framework-graphics", + + srcs: [ + ":framework-graphics-srcs", + ], + + permitted_packages: [ + "android.graphics", + ], + + sdk_version: "module_current", + + // TODO: once framework-graphics is officially part of the + // UI-rendering module this line would no longer be + // needed. + installable: true, + + // Enable detection of apis used by this module + plugins: ["java_api_finder",], +} + +filegroup { + name: "framework-graphics-srcs", + srcs: [ + "apex/java/**/*.java", + ], + path: "apex/java" +} + +stubs_defaults { + name: "framework-graphics-stubs-srcs-defaults", + srcs: [ ":framework-graphics-srcs"], +} + +droidstubs { + name: "framework-graphics-api-module_libs_api", + defaults: [ + "framework-graphics-stubs-srcs-defaults", + "framework-module-api-defaults-module_libs_api", + ], +} + +droidstubs { + name: "framework-graphics-stubs-srcs-module_libs_api", + defaults: [ + "framework-graphics-stubs-srcs-defaults", + "framework-module-stubs-defaults-module_libs_api", + ], +} + +droidstubs { + name: "framework-graphics-stubs-srcs-publicapi", + defaults: [ + "framework-graphics-stubs-srcs-defaults", + "framework-module-stubs-defaults-publicapi", + ], +} + +droidstubs { + name: "framework-graphics-stubs-srcs-systemapi", + defaults: [ + "framework-graphics-stubs-srcs-defaults", + "framework-module-stubs-defaults-systemapi", + ], +} + +java_library { + name: "framework-graphics-stubs-module_libs_api", + srcs: [":framework-graphics-stubs-srcs-module_libs_api"], + sdk_version: "system_current", + visibility: [ + "//frameworks/base", // Framework + "//frameworks/base/libs/hwui", // UI-rendering module + ], +} + +java_library { + name: "framework-graphics-stubs-publicapi", + srcs: [":framework-graphics-stubs-srcs-publicapi"], + sdk_version: "current", + visibility: [ + "//frameworks/base", // Framework + "//frameworks/base/libs/hwui", // UI-rendering module + ], +} + +java_library { + name: "framework-graphics-stubs-systemapi", + srcs: [":framework-graphics-stubs-srcs-systemapi"], + sdk_version: "system_current", + visibility: [ + "//frameworks/base", // Framework + "//frameworks/base/libs/hwui", // UI-rendering module + ], +} + // ------------------------ // APEX // ------------------------ diff --git a/graphics/java/android/graphics/ColorMatrix.java b/libs/hwui/apex/java/android/graphics/ColorMatrix.java similarity index 100% rename from graphics/java/android/graphics/ColorMatrix.java rename to libs/hwui/apex/java/android/graphics/ColorMatrix.java diff --git a/libs/hwui/api/current.txt b/libs/hwui/api/current.txt new file mode 100644 index 000000000000..c396a2032eed --- /dev/null +++ b/libs/hwui/api/current.txt @@ -0,0 +1,23 @@ +// Signature format: 2.0 +package android.graphics { + + public class ColorMatrix { + ctor public ColorMatrix(); + ctor public ColorMatrix(float[]); + ctor public ColorMatrix(android.graphics.ColorMatrix); + method public final float[] getArray(); + method public void postConcat(android.graphics.ColorMatrix); + method public void preConcat(android.graphics.ColorMatrix); + method public void reset(); + method public void set(android.graphics.ColorMatrix); + method public void set(float[]); + method public void setConcat(android.graphics.ColorMatrix, android.graphics.ColorMatrix); + method public void setRGB2YUV(); + method public void setRotate(int, float); + method public void setSaturation(float); + method public void setScale(float, float, float, float); + method public void setYUV2RGB(); + } + +} + diff --git a/libs/hwui/api/module-lib-current.txt b/libs/hwui/api/module-lib-current.txt new file mode 100644 index 000000000000..d802177e249b --- /dev/null +++ b/libs/hwui/api/module-lib-current.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/libs/hwui/api/module-lib-removed.txt b/libs/hwui/api/module-lib-removed.txt new file mode 100644 index 000000000000..d802177e249b --- /dev/null +++ b/libs/hwui/api/module-lib-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/libs/hwui/api/removed.txt b/libs/hwui/api/removed.txt new file mode 100644 index 000000000000..d802177e249b --- /dev/null +++ b/libs/hwui/api/removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/libs/hwui/api/system-current.txt b/libs/hwui/api/system-current.txt new file mode 100644 index 000000000000..d802177e249b --- /dev/null +++ b/libs/hwui/api/system-current.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/libs/hwui/api/system-removed.txt b/libs/hwui/api/system-removed.txt new file mode 100644 index 000000000000..d802177e249b --- /dev/null +++ b/libs/hwui/api/system-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0