1// Copyright (C) 2024 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package {
16    // See: http://go/android-license-faq
17    default_applicable_licenses: ["Android-Apache-2.0"],
18}
19
20java_sdk_library {
21    name: "framework-pdf",
22    defaults: ["framework-module-defaults"],
23    srcs: [
24        ":framework-pdf-sources",
25    ],
26
27    permitted_packages: [
28        "android.graphics.pdf",
29    ],
30    static_libs: [
31        "pdf_viewer_flags_java_lib",
32        "pdf-statsd",
33    ],
34    libs: [
35        "androidx.annotation_annotation",
36        "error_prone_annotations",
37        "modules-utils-preconditions",
38        "unsupportedappusage",
39    ],
40    apex_available: [
41        "com.android.mediaprovider",
42    ],
43    aconfig_declarations: [
44        "pdf_viewer_flags",
45    ],
46    impl_library_visibility: [
47        "//packages/providers/MediaProvider:__subpackages__",
48        "//cts/tests/pdf:__subpackages__",
49    ],
50    jarjar_rules: "jarjar-rules.txt",
51    min_sdk_version: "31",
52    lint: {
53        baseline_filename: "lint-baseline.xml",
54    },
55}
56
57filegroup {
58    name: "framework-pdf-sources",
59    defaults: ["framework-sources-module-defaults"],
60    srcs: [
61        "java/**/*.java",
62    ],
63    path: "java",
64    visibility: [
65        "//packages/providers/MediaProvider/pdf/tests",
66    ],
67}
68
69aconfig_declarations {
70    name: "pdf_viewer_flags",
71    package: "android.graphics.pdf.flags",
72    srcs: [
73        "pdf_viewer_flags.aconfig",
74    ],
75    container: "com.android.mediaprovider",
76    exportable: true,
77}
78
79java_aconfig_library {
80    name: "pdf_viewer_flags_java_lib",
81    aconfig_declarations: "pdf_viewer_flags",
82    visibility: [
83        "//packages/providers/MediaProvider/pdf:__subpackages__",
84    ],
85    min_sdk_version: "31",
86    apex_available: [
87        "com.android.mediaprovider",
88    ],
89    defaults: ["framework-minus-apex-aconfig-java-defaults"],
90}
91
92// To generate the Stats log classes for the Android Pdf.
93genrule {
94    name: "statslog-pdf-java-gen",
95    tools: ["stats-log-api-gen"],
96    cmd: "$(location stats-log-api-gen) --java $(out) --module mediaprovider" +
97        " --javaPackage android.graphics.pdf --javaClass PdfStatsLog" +
98        " --minApiLevel 31",
99    out: ["android/graphics/pdf/PdfStatsLog.java"],
100}
101
102// To disable NewApi checks on the generated PdfStatsLog.
103java_library {
104    name: "pdf-statsd",
105    sdk_version: "module_current",
106    min_sdk_version: "31",
107    srcs: [
108        ":statslog-pdf-java-gen",
109    ],
110    libs: [
111        // To add StatsLog as a dependency of the generated file.
112        "framework-statsd.stubs.module_lib",
113    ],
114    apex_available: [
115        "com.android.mediaprovider",
116    ],
117}
118