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 "SettingsLibSelectorWithWidgetPreference", 37 "mediaprovider_flags_java_lib", 38 ], 39 40 libs: [ 41 "unsupportedappusage", 42 "app-compat-annotations", 43 "framework-annotations-lib", 44 "framework-configinfrastructure", 45 "framework-mediaprovider.impl", 46 "framework-media.stubs.module_lib", 47 "framework-statsd", 48 "keepanno-annotations", 49 ], 50 51 jni_libs: [ 52 "libfuse_jni", 53 "libfuse", 54 "libleveldb_jni", 55 ], 56 use_embedded_native_libs: true, 57 58 resource_dirs: [ 59 "res", 60 ], 61 srcs: [ 62 ":mediaprovider-sources", 63 ], 64 65 optimize: { 66 shrink: true, 67 optimize: false, 68 obfuscate: false, 69 shrink_resources: true, 70 proguard_flags_files: ["proguard.flags"], 71 }, 72 73 plugins: [ 74 "error_prone_mediaprovider", 75 "glide-annotation-processor", 76 ], 77 jarjar_rules: "jarjar-rules.txt", 78 sdk_version: "module_current", 79 min_sdk_version: "30", 80 81 certificate: "media", 82 privileged: true, 83 privapp_allowlist: ":privapp_allowlist_com.android.providers.media.module.xml", 84 85 aaptflags: ["--custom-package com.android.providers.media"], 86 87 errorprone: { 88 javacflags: [ 89 "-Xep:FallThrough:ERROR", 90 "-Xep:GuardedBy:ERROR", 91 "-Xep:StreamResourceLeak:ERROR", 92 93 // Local checkers specific to this module 94 "-Xep:MediaProviderLocaleRoot:ERROR", 95 "-Xep:MediaProviderMimeType:ERROR", 96 ], 97 }, 98 99 lint: { 100 baseline_filename: "lint-baseline.xml", 101 }, 102 103 apex_available: [ 104 "com.android.mediaprovider", 105 ], 106} 107 108// Used by MediaProvider and MediaProviderTests 109filegroup { 110 name: "mediaprovider-sources", 111 srcs: [ 112 "src/**/*.aidl", 113 "src/**/*.java", 114 ":statslog-mediaprovider-java-gen", 115 ], 116} 117 118// This is defined to give LegacyMediaProvider the bare minimum it needs 119// to keep the legacy database schema working while also building 120// against "system_current" 121java_library { 122 name: "mediaprovider-database", 123 srcs: [ 124 "src/com/android/providers/media/util/DatabaseUtils.java", 125 "src/com/android/providers/media/util/FileUtils.java", 126 "src/com/android/providers/media/util/ForegroundThread.java", 127 "src/com/android/providers/media/util/Logging.java", 128 "src/com/android/providers/media/util/MimeUtils.java", 129 "src/com/android/providers/media/util/StringUtils.java", 130 "src/com/android/providers/media/playlist/*.java", 131 "src/com/android/providers/media/dao/*.java", 132 ], 133 sdk_version: "module_current", 134 min_sdk_version: "30", 135 static_libs: [ 136 "modules-utils-backgroundthread", 137 "modules-utils-build", 138 "guava", 139 ], 140 libs: [ 141 "androidx.annotation_annotation", 142 "framework-annotations-lib", 143 "framework-mediaprovider", 144 ], 145 lint: { 146 baseline_filename: "lint-baseline2.xml", 147 }, 148} 149 150platform_compat_config { 151 name: "media-provider-platform-compat-config", 152 src: ":MediaProvider", 153} 154 155genrule { 156 name: "statslog-mediaprovider-java-gen", 157 tools: ["stats-log-api-gen"], 158 cmd: "$(location stats-log-api-gen) --java $(out) --module mediaprovider" + 159 " --javaPackage com.android.providers.media --javaClass MediaProviderStatsLog" + 160 " --minApiLevel 30", 161 out: ["com/android/providers/media/MediaProviderStatsLog.java"], 162} 163 164prebuilt_etc { 165 name: "preinstalled-packages-com.android.providers.media.module.xml", 166 src: "preinstalled-packages-com.android.providers.media.module.xml", 167 sub_dir: "sysconfig", 168} 169 170sh_binary { 171 name: "media_provider", 172 src: "cli/media_provider_cli_wrapper.sh", 173} 174 175aconfig_declarations { 176 name: "mediaprovider_flags", 177 package: "com.android.providers.media.flags", 178 container: "com.android.mediaprovider", 179 srcs: ["mediaprovider_flags.aconfig"], 180} 181 182java_aconfig_library { 183 name: "mediaprovider_flags_java_lib", 184 aconfig_declarations: "mediaprovider_flags", 185 min_sdk_version: "30", 186 sdk_version: "module_current", 187 libs: ["framework-configinfrastructure"], 188 apex_available: [ 189 "com.android.mediaprovider", 190 ], 191} 192