blob: 87b40384a0df08d8c1297c70ba0fb699b9720b33 [file] [log] [blame]
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -07001//
Michael Bestas5a577dc2024-11-03 01:22:51 +02002// SPDX-FileCopyrightText: 2018-2024 The LineageOS Project
3// SPDX-License-Identifier: Apache-2.0
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -07004//
5
6android_app {
7 name: "org.lineageos.platform-res",
Michael Bestas989dd332025-03-06 17:50:19 +02008 use_resource_processor: false,
Paul Duffin374e4df2019-06-12 13:47:18 +01009 sdk_version: "core_platform",
Luca Stefani50ff6742021-10-12 18:00:26 +020010 certificate: "platform",
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -070011
Luca Stefani50ff6742021-10-12 18:00:26 +020012 manifest: "lineage/res/AndroidManifest.xml",
13
14 // Disable dexpreopt and verify_uses_libraries check as the app
15 // contains no Java code to be dexpreopted.
16 enforce_uses_libs: false,
17 dex_preopt: {
18 enabled: false,
19 },
20
21 // Soong special-cases org.lineageos.platform-res to install this alongside
22 // the libraries at /system_ext/framework/org.lineageos.platform-res.apk.
23
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -070024 aaptflags: [
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -070025 "--private-symbols",
26 "org.lineageos.platform.internal",
27
28 // Framework doesn't need versioning since it IS the platform.
29 "--no-auto-version",
30
Luca Stefani50ff6742021-10-12 18:00:26 +020031 // Allow overlay to add resource
32 "--auto-add-overlay",
33
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -070034 // Tell aapt to create "extending (non-application)" resource IDs,
35 // since these resources will be used by many apps.
36 "--allow-reserved-package-id",
37 // Use id 0x3f (one less than app id).
38 "--package-id",
39 "63",
40 ],
41
42 resource_dirs: [
43 "lineage/res/res",
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -070044 ],
45
46 // Create package-export.apk, which other packages can use to get
47 // PRODUCT-agnostic resource data like IDs and type definitions.
48 export_package_resources: true,
49}
50
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -070051// The LineageOS Platform Framework Library
52// ============================================================
53
54lineage_sdk_src = "sdk/src/java/lineageos"
55lineage_sdk_internal_src = "sdk/src/java/org/lineageos/internal"
56library_src = "lineage/lib/main/java"
57
Luca Stefani25f8a6b2025-03-19 18:55:44 +010058lineage_sdk_aidl_hals = [
Oliver Scott086361c2025-02-20 12:37:48 -050059 "vendor.lineage.health-V2-java",
Luca Stefani25f8a6b2025-03-19 18:55:44 +010060 "vendor.lineage.touch-V1-java",
61]
62
63lineage_sdk_hidl_hals = [
Paul Keithb49ed552019-01-18 17:58:26 +010064 "vendor.lineage.livedisplay-V2.0-java",
Arian5f3ded72020-07-29 16:01:55 +020065 "vendor.lineage.livedisplay-V2.1-java",
Paul Keithb49ed552019-01-18 17:58:26 +010066 "vendor.lineage.touch-V1.0-java",
67]
68
Luca Stefani25f8a6b2025-03-19 18:55:44 +010069lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES = lineage_sdk_aidl_hals + lineage_sdk_hidl_hals
70
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -070071java_library {
72 name: "org.lineageos.platform",
LuK133785463df2019-09-07 00:55:40 +020073 installable: true,
LuK1337fcfcf5d2020-09-14 10:50:41 +020074 sdk_version: "core_platform",
LuK1337514848c2022-08-30 09:24:33 +020075 static_libs: lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES,
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -070076
77 libs: [
LuK1337fcfcf5d2020-09-14 10:50:41 +020078 "framework",
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -070079 "services",
Sam Mortimer3533d382019-05-13 15:28:04 -070080 ],
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -070081
82 srcs: [
83 lineage_sdk_src + "/**/*.java",
84 lineage_sdk_internal_src + "/**/*.java",
85 library_src + "/**/*.java",
86 lineage_sdk_src + "/**/I*.aidl",
87 lineage_sdk_internal_src + "/**/I*.aidl",
Luca Stefani04c0fc12021-10-12 18:00:43 +020088
89 // For the generated R.java and Manifest.java
90 ":org.lineageos.platform-res{.aapt.srcjar}",
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -070091 ],
92
93 // Include aidl files from lineageos.app namespace as well as internal src aidl files
94 aidl: {
95 local_include_dirs: ["sdk/src/java"],
96 },
97}
98
99// Full target for use by platform apps
100// ============================================================
101
Sam Mortimere8814c52019-09-05 14:07:27 -0700102java_library {
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -0700103 name: "org.lineageos.platform.internal",
LuK1337514848c2022-08-30 09:24:33 +0200104 static_libs: lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES,
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -0700105
106 srcs: [
107 lineage_sdk_src + "/**/*.java",
108 lineage_sdk_internal_src + "/**/*.java",
109 lineage_sdk_src + "/**/I*.aidl",
110 lineage_sdk_internal_src + "/**/I*.aidl",
Luca Stefani04c0fc12021-10-12 18:00:43 +0200111
112 // For the generated R.java and Manifest.java
113 ":org.lineageos.platform-res{.aapt.srcjar}",
Rashed Abdel-Tawab703249a2018-08-09 16:47:40 -0700114 ],
115
116 aidl: {
117 local_include_dirs: ["sdk/src/java"],
118 },
119}