summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Gulshan Singh <gulshansingh@google.com> 2025-01-03 05:49:51 +0000
committer Gulshan Singh <gulshansingh@google.com> 2025-01-06 01:10:22 -0800
commit6556446864b8cd10445e966d00ceede7d7ab19e4 (patch)
treeaac48365805ead978cadc67afc3a3ffc1e310611
parentd7ac1d76449ba1c58c502cbe6311862e7798ffb3 (diff)
Use readonly version of aconfig flag for text and stamp anotations
Bug: 387223321 Test: Built Manually Flag: EXEMPT bugfix This has the same root cause as b/368409430. Use the readonly version of aconfig flag, so there will be no I/O involved in Isolated Processes which do not have permission for I/O. Change-Id: I5c61acde32364320c97d210bed69b048e306df90
-rw-r--r--apex/Android.bp1
-rw-r--r--pdf/framework-v/Android.bp2
-rw-r--r--pdf/framework/Android.bp25
-rw-r--r--pdf/framework/java/android/graphics/pdf/RenderParams.java4
-rw-r--r--pdf/framework/pdf_viewer_flags_readonly.aconfig25
5 files changed, 55 insertions, 2 deletions
diff --git a/apex/Android.bp b/apex/Android.bp
index e0105a136..83f2966c1 100644
--- a/apex/Android.bp
+++ b/apex/Android.bp
@@ -111,6 +111,7 @@ bootclasspath_fragment {
split_packages: [
"android.graphics.pdf",
"android.graphics.pdf.flags",
+ "android.graphics.pdf.flags.readonly",
"android.provider",
"android.provider.mediacognitionutils",
"android.provider.media.internal.flags",
diff --git a/pdf/framework-v/Android.bp b/pdf/framework-v/Android.bp
index a58040021..10f1ae6a7 100644
--- a/pdf/framework-v/Android.bp
+++ b/pdf/framework-v/Android.bp
@@ -30,6 +30,7 @@ java_sdk_library {
"modules-utils-preconditions",
"unsupportedappusage",
"pdf_viewer_flags_java_lib",
+ "pdf_viewer_flags_readonly_java_lib",
],
stub_only_libs: [
"framework-pdf.stubs.module_lib",
@@ -45,6 +46,7 @@ java_sdk_library {
],
aconfig_declarations: [
"pdf_viewer_flags",
+ "pdf_viewer_flags_readonly",
],
impl_library_visibility: [
"//packages/providers/MediaProvider:__subpackages__",
diff --git a/pdf/framework/Android.bp b/pdf/framework/Android.bp
index 35b26ffaa..d67506690 100644
--- a/pdf/framework/Android.bp
+++ b/pdf/framework/Android.bp
@@ -29,6 +29,7 @@ java_sdk_library {
],
static_libs: [
"pdf_viewer_flags_java_lib",
+ "pdf_viewer_flags_readonly_java_lib",
"pdf-statsd",
],
libs: [
@@ -42,6 +43,7 @@ java_sdk_library {
],
aconfig_declarations: [
"pdf_viewer_flags",
+ "pdf_viewer_flags_readonly",
],
impl_library_visibility: [
"//packages/providers/MediaProvider:__subpackages__",
@@ -90,6 +92,29 @@ java_aconfig_library {
mode: "exported",
}
+aconfig_declarations {
+ name: "pdf_viewer_flags_readonly",
+ package: "android.graphics.pdf.flags.readonly",
+ srcs: [
+ "pdf_viewer_flags_readonly.aconfig",
+ ],
+ container: "com.android.mediaprovider",
+}
+
+java_aconfig_library {
+ name: "pdf_viewer_flags_readonly_java_lib",
+ aconfig_declarations: "pdf_viewer_flags_readonly",
+ visibility: [
+ "//packages/providers/MediaProvider/pdf:__subpackages__",
+ ],
+ min_sdk_version: "31",
+ apex_available: [
+ "com.android.mediaprovider",
+ ],
+ defaults: ["framework-minus-apex-aconfig-java-defaults"],
+ mode: "force-read-only",
+}
+
// To generate the Stats log classes for the Android Pdf.
genrule {
name: "statslog-pdf-java-gen",
diff --git a/pdf/framework/java/android/graphics/pdf/RenderParams.java b/pdf/framework/java/android/graphics/pdf/RenderParams.java
index 3acd59eb8..afffda19a 100644
--- a/pdf/framework/java/android/graphics/pdf/RenderParams.java
+++ b/pdf/framework/java/android/graphics/pdf/RenderParams.java
@@ -85,10 +85,10 @@ public final class RenderParams {
private static int getRenderMask() {
int renderMask = FLAG_RENDER_TEXT_ANNOTATIONS | FLAG_RENDER_HIGHLIGHT_ANNOTATIONS;
- if (Flags.enableEditPdfTextAnnotations()) {
+ if (android.graphics.pdf.flags.readonly.Flags.enableEditPdfTextAnnotations()) {
renderMask |= FLAG_RENDER_FREETEXT_ANNOTATIONS;
}
- if (Flags.enableEditPdfStampAnnotations()) {
+ if (android.graphics.pdf.flags.readonly.Flags.enableEditPdfStampAnnotations()) {
renderMask |= FLAG_RENDER_STAMP_ANNOTATIONS;
}
return renderMask;
diff --git a/pdf/framework/pdf_viewer_flags_readonly.aconfig b/pdf/framework/pdf_viewer_flags_readonly.aconfig
new file mode 100644
index 000000000..4b87a5ffe
--- /dev/null
+++ b/pdf/framework/pdf_viewer_flags_readonly.aconfig
@@ -0,0 +1,25 @@
+package: "android.graphics.pdf.flags.readonly"
+container: "com.android.mediaprovider"
+
+# These are the read-only version of the aconfig flags in android.graphics.pdf
+# that will be built with 'force-read-only' mode.
+# See b/368409430 - these flags will be removed once the new aconfig API landed.
+
+flag {
+ name: "enable_edit_pdf_text_annotations"
+ is_exported: false
+ namespace: "pdf_viewer"
+ description: "This flag controls whether to enable text annotations editing support."
+ bug: "379008090"
+ is_fixed_read_only: true
+}
+
+
+flag {
+ name: "enable_edit_pdf_stamp_annotations"
+ is_exported: false
+ namespace: "pdf_viewer"
+ description: "This flag controls whether to enable stamp annotations editing support."
+ bug: "379008090"
+ is_fixed_read_only: true
+}