1package {
2    // See: http://go/android-license-faq
3    default_applicable_licenses: ["Android-Apache-2.0"],
4}
5
6android_library {
7    name: "PhotopickerLib",
8    manifest: "AndroidManifest.xml",
9    srcs: [
10        "src/**/*.kt",
11        ":statslog-mediaprovider-java-gen",
12    ],
13    resource_dirs: ["res"],
14    sdk_version: "module_current",
15    min_sdk_version: "30",
16    libs: [
17        "framework-configinfrastructure.stubs.module_lib",
18        "framework-connectivity.stubs.module_lib",
19        "framework-media.stubs.module_lib",
20        "framework-mediaprovider.impl",
21        "framework-photopicker.impl",
22        "framework-statsd.stubs.module_lib",
23    ],
24    javacflags: [
25        "-Aroom.schemaLocation=packages/providers/MediaProvider/photopicker/schemas",
26    ],
27    kotlincflags: [
28        "-Werror",
29        "-Xjvm-default=all",
30    ],
31    static_libs: [
32        "androidx.activity_activity-compose",
33        "androidx.appcompat_appcompat",
34        "androidx.compose.foundation_foundation",
35        "androidx.compose.material3_material3",
36        "androidx.compose.material3_material3-window-size-class",
37        "androidx.compose.material_material-icons-extended",
38        "androidx.compose.runtime_runtime",
39        "androidx.compose.ui_ui",
40        "androidx.core_core-ktx",
41        "androidx.lifecycle_lifecycle-runtime-compose",
42        "androidx.lifecycle_lifecycle-runtime-ktx",
43        "androidx.hilt_hilt-navigation-compose",
44        "androidx.navigation_navigation-compose",
45        "androidx.navigation_navigation-runtime-ktx",
46        "androidx.paging_paging-common",
47        "androidx.paging_paging-common-ktx",
48        "androidx.paging_paging-compose",
49        "androidx.paging_paging-runtime",
50        "androidx.room_room-runtime",
51        "androidx.room_room-ktx",
52        // glide and dependencies
53        "androidx.exifinterface_exifinterface",
54        "androidx.vectordrawable_vectordrawable-animated",
55        "glide-prebuilt",
56        "glide-ktx-prebuilt",
57        "glide-integration-webpdecoder-prebuilt",
58        "glide-gifdecoder-prebuilt",
59        "glide-disklrucache-prebuilt",
60        "glide-compose-prebuilt",
61        "glide-annotation-and-compiler-prebuilt",
62        //
63        "hilt_android",
64        "kotlin-stdlib",
65        "kotlinx-coroutines-android",
66        "kotlinx_coroutines",
67        "mediaprovider_flags_java_lib",
68        "modules-utils-build",
69        "androidx.media3.media3-common",
70        "androidx.media3.media3-exoplayer",
71    ],
72    apex_available: [
73        "//apex_available:platform",
74        "com.android.mediaprovider",
75    ],
76    plugins: [
77        "glide-annotation-processor",
78        "androidx.room_room-compiler-plugin",
79    ],
80    lint: {
81        extra_check_modules: ["PhotopickerLintChecker"],
82    },
83}
84
85android_app {
86    name: "Photopicker",
87    manifest: "AndroidManifest.xml",
88    static_libs: [
89        "PhotopickerLib",
90    ],
91    optimize: {
92        // Optimize bytecode
93        optimize: true,
94        // Needed for removing unused icons from material-icons-extended
95        shrink_resources: true,
96    },
97    plugins: [],
98    kotlincflags: ["-Xjvm-default=all"],
99    certificate: "media",
100    privileged: true,
101    privapp_allowlist: ":privapp_allowlist_com.android.photopicker.xml",
102    sdk_version: "module_current",
103    min_sdk_version: "30",
104    apex_available: [
105        "//apex_available:platform",
106        "com.android.mediaprovider",
107    ],
108    updatable: true,
109
110}
111