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