1// Copyright (C) 2018 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15
16package {
17    default_applicable_licenses: ["Android-Apache-2.0"],
18}
19
20genrule {
21    name: "statslog-carlauncher-java-gen",
22    tools: ["stats-log-api-gen"],
23    cmd: "$(location stats-log-api-gen) --java $(out) --module carlauncher" +
24        " --javaPackage com.android.car.carlauncher --javaClass CarLauncherStatsLog",
25    out: ["com/android/car/carlauncher/CarLauncherStatsLog.java"],
26}
27
28carlauncher_srcs = [
29    "src/**/*.java",
30    "src/**/*.kt",
31    ":statslog-carlauncher-java-gen",
32]
33
34android_library {
35    name: "CarLauncher-core",
36
37    srcs: carlauncher_srcs,
38
39    resource_dirs: ["res"],
40
41    static_libs: [
42        "car_launcher_flags_java_lib",
43        "androidx-constraintlayout_constraintlayout-solver",
44        "androidx-constraintlayout_constraintlayout",
45        "androidx.lifecycle_lifecycle-extensions",
46        "car-media-common",
47        "car-qc-lib",
48        "car-telephony-common",
49        "car-ui-lib",
50        "com.google.android.material_material",
51        "WindowManager-Shell",
52        "CarAppGrid-lib",
53        "SystemUISharedLib",
54        "android.car.cluster.navigation",
55        "car-resource-common",
56    ],
57
58    libs: ["android.car"],
59
60    manifest: "AndroidManifest.xml",
61    // TODO(b/319708040): re-enable use_resource_processor
62    use_resource_processor: false,
63}
64
65android_app {
66    name: "CarLauncher",
67
68    resource_dirs: [],
69
70    srcs: carlauncher_srcs,
71
72    platform_apis: true,
73
74    required: ["allowed_privapp_com.android.car.carlauncher"],
75
76    certificate: "platform",
77
78    privileged: true,
79
80    overrides: [
81        "Launcher2",
82        "Launcher3",
83        "Launcher3QuickStep",
84    ],
85
86    static_libs: ["CarLauncher-core"],
87
88    libs: ["android.car"],
89
90    optimize: {
91        enabled: false,
92    },
93
94    dex_preopt: {
95        enabled: false,
96    },
97    // TODO(b/319708040): re-enable use_resource_processor
98    use_resource_processor: false,
99}
100
101aconfig_declarations {
102    name: "car_launcher_flags",
103    package: "com.android.car.carlauncher",
104    container: "system",
105    srcs: ["car_launcher_flags.aconfig"],
106}
107
108java_aconfig_library {
109    name: "car_launcher_flags_java_lib",
110    aconfig_declarations: "car_launcher_flags",
111}
112