• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package {
2    // See: http://go/android-license-faq
3    default_applicable_licenses: ["Android-Apache-2.0"],
4    default_team: "trendy_team_android_storage",
5}
6
7android_app {
8    name: "MediaProvider",
9    manifest: "AndroidManifest.xml",
10
11    static_libs: [
12        "modules-utils-backgroundthread",
13        "androidx.appcompat_appcompat",
14        "androidx.core_core",
15        "androidx.legacy_legacy-support-core-ui",
16        "androidx.lifecycle_lifecycle-extensions",
17        "androidx.preference_preference",
18        "androidx.recyclerview_recyclerview",
19        "com.google.android.material_material",
20        "guava",
21        "modules-utils-build",
22        "modules-utils-uieventlogger-interface",
23        "glide-prebuilt",
24        "glide-integration-recyclerview-prebuilt",
25        "glide-integration-webpdecoder-prebuilt",
26        "glide-gifdecoder-prebuilt",
27        "glide-disklrucache-prebuilt",
28        "glide-annotation-and-compiler-prebuilt",
29        "androidx.fragment_fragment",
30        "androidx.vectordrawable_vectordrawable-animated",
31        "androidx.exifinterface_exifinterface",
32        "androidx.work_work-runtime",
33        "exoplayer-mediaprovider-ui",
34        "modules-utils-shell-command-handler",
35        "SettingsLibProfileSelector",
36        "SettingsLibTopIntroPreference",
37        "SettingsLibCollapsingToolbarBaseActivity",
38        "SettingsLibSelectorWithWidgetPreference",
39        "mediaprovider_flags_java_lib",
40        "androidx.media3.media3-common",
41        "androidx.media3.media3-transformer",
42    ],
43
44    libs: [
45        "unsupportedappusage",
46        "app-compat-annotations",
47        "framework-annotations-lib",
48        "framework-configinfrastructure.stubs.module_lib",
49        "framework-mediaprovider.impl",
50        "framework-media.stubs.module_lib",
51        "framework-statsd.stubs.module_lib",
52        "keepanno-annotations",
53    ],
54
55    jni_libs: [
56        "libfuse_jni",
57        "libfuse",
58        "libleveldb_jni",
59    ],
60    use_embedded_native_libs: true,
61
62    resource_dirs: [
63        "res",
64        "photopicker/res",
65    ],
66    srcs: [
67        ":mediaprovider-sources",
68    ],
69
70    optimize: {
71        shrink: true,
72        optimize: false,
73        obfuscate: false,
74        shrink_resources: true,
75        proguard_flags_files: ["proguard.flags"],
76    },
77
78    plugins: [
79        "error_prone_mediaprovider",
80        "glide-annotation-processor",
81    ],
82    jarjar_rules: "jarjar-rules.txt",
83    sdk_version: "module_current",
84    min_sdk_version: "30",
85
86    certificate: "media",
87    privileged: true,
88    privapp_allowlist: ":privapp_allowlist_com.android.providers.media.module.xml",
89
90    aaptflags: ["--custom-package com.android.providers.media"],
91
92    errorprone: {
93        javacflags: [
94            "-Xep:FallThrough:ERROR",
95            "-Xep:GuardedBy:ERROR",
96            "-Xep:StreamResourceLeak:ERROR",
97
98            // Local checkers specific to this module
99            "-Xep:MediaProviderLocaleRoot:ERROR",
100            "-Xep:MediaProviderMimeType:ERROR",
101        ],
102    },
103
104    lint: {
105        baseline_filename: "lint-baseline.xml",
106    },
107
108    apex_available: [
109        "com.android.mediaprovider",
110    ],
111    updatable: true,
112}
113
114// Used by MediaProvider and MediaProviderTests
115filegroup {
116    name: "mediaprovider-sources",
117    srcs: [
118        "src/**/*.aidl",
119        "src/**/*.java",
120        ":statslog-mediaprovider-java-gen",
121    ],
122}
123
124// This is defined to give LegacyMediaProvider the bare minimum it needs
125// to keep the legacy database schema working while also building
126// against "system_current"
127java_library {
128    name: "mediaprovider-database",
129    srcs: [
130        "legacy/src/com/android/providers/media/util/LegacyDatabaseUtils.java",
131        "legacy/src/com/android/providers/media/util/LegacyFileUtils.java",
132        "legacy/src/com/android/providers/media/util/LegacyForegroundThread.java",
133        "legacy/src/com/android/providers/media/util/LegacyLogging.java",
134        "legacy/src/com/android/providers/media/util/LegacyMimeUtils.java",
135        "legacy/src/com/android/providers/media/util/LegacyStringUtils.java",
136    ],
137    sdk_version: "module_current",
138    min_sdk_version: "30",
139    static_libs: [
140        "modules-utils-backgroundthread",
141        "modules-utils-build",
142        "guava",
143    ],
144    libs: [
145        "androidx.annotation_annotation",
146        "framework-annotations-lib",
147        "framework-mediaprovider.stubs.module_lib",
148    ],
149    lint: {
150        baseline_filename: "lint-baseline2.xml",
151    },
152}
153
154platform_compat_config {
155    name: "media-provider-platform-compat-config",
156    src: ":MediaProvider",
157}
158
159genrule {
160    name: "statslog-mediaprovider-java-gen",
161    tools: ["stats-log-api-gen"],
162    cmd: "$(location stats-log-api-gen) --java $(out) --module mediaprovider" +
163        " --javaPackage com.android.providers.media --javaClass MediaProviderStatsLog" +
164        " --minApiLevel 30",
165    out: ["com/android/providers/media/MediaProviderStatsLog.java"],
166}
167
168prebuilt_etc {
169    name: "preinstalled-packages-com.android.providers.media.module.xml",
170    src: "preinstalled-packages-com.android.providers.media.module.xml",
171    sub_dir: "sysconfig",
172}
173
174sh_binary {
175    name: "media_provider",
176    src: "cli/media_provider_cli_wrapper.sh",
177}
178
179aconfig_declarations {
180    name: "mediaprovider_flags",
181    package: "com.android.providers.media.flags",
182    container: "com.android.mediaprovider",
183    srcs: ["mediaprovider_flags.aconfig"],
184    exportable: true,
185}
186
187java_aconfig_library {
188    name: "mediaprovider_flags_java_lib",
189    aconfig_declarations: "mediaprovider_flags",
190    min_sdk_version: "30",
191    sdk_version: "module_current",
192    libs: ["framework-configinfrastructure.stubs.module_lib"],
193    apex_available: [
194        "com.android.mediaprovider",
195    ],
196}
197