1// Copyright 2011 The Android Open Source Project
2package {
3    // See: http://go/android-license-faq
4    default_applicable_licenses: ["Android-Apache-2.0"],
5}
6
7java_defaults {
8    name: "CellBroadcastDefaults",
9    min_sdk_version: "30",
10    sdk_version: "module_current",
11    privileged: true,
12    optimize: {
13        shrink_resources: true,
14        proguard_flags_files: ["proguard.flags"],
15    },
16}
17
18android_library {
19    name: "CellBroadcastCommon",
20    defaults: ["CellBroadcastDefaults"],
21    srcs: [
22        "src/**/*.java",
23        ":cellbroadcast-constants-shared-srcs",
24        ":statslog-cellbroadcast-module-java-gen",
25    ],
26    libs: [
27        "framework-annotations-lib",
28        "framework-statsd.stubs.module_lib",
29        "framework-bluetooth.stubs.module_lib",
30    ],
31    static_libs: [
32        "androidx.legacy_legacy-support-v4",
33        "androidx.legacy_legacy-support-v13",
34        "androidx.recyclerview_recyclerview",
35        "androidx.preference_preference",
36        "androidx.appcompat_appcompat",
37        "androidx.legacy_legacy-preference-v14",
38        "SettingsLibSettingsTheme",
39        "SettingsLibCollapsingToolbarBaseActivity",
40        "SettingsLibMainSwitchPreference",
41        "SettingsLibTopIntroPreference",
42        "modules-utils-build_system",
43        "cellbroadcast-java-proto-lite",
44        "cellbroadcastreceiver_flags_lib",
45    ],
46    resource_dirs: ["res"],
47    manifest: "AndroidManifest_Lib.xml",
48    apex_available: [
49        "com.android.cellbroadcast",
50        "//apex_available:platform",
51    ],
52}
53
54android_app {
55    name: "CellBroadcastApp",
56    defaults: ["CellBroadcastDefaults"],
57    static_libs: ["CellBroadcastCommon"],
58    certificate: "networkstack",
59    aaptflags: ["--custom-package com.android.cellbroadcastreceiver"],
60    manifest: "AndroidManifest.xml",
61    apex_available: ["com.android.cellbroadcast"],
62    privapp_allowlist: ":privapp_allowlist_com.android.cellbroadcastreceiver.module.xml",
63    resource_dirs: [],
64    updatable: true,
65}
66
67android_app {
68    name: "CellBroadcastAppPlatform",
69    defaults: ["CellBroadcastDefaults"],
70    static_libs: ["CellBroadcastCommon"],
71    target_sdk_version: "33",
72    certificate: "platform",
73    // CellBroadcastAppPlatform is a replacement for com.android.cellbroadcast apex which consists
74    // of CellBroadcastApp
75    overrides: [
76        "com.android.cellbroadcast",
77        "CellBroadcastLegacyApp",
78    ],
79    manifest: "AndroidManifest_Platform.xml",
80    system_ext_specific: true,
81    privileged: true,
82    privapp_allowlist: ":platform_privapp_allowlist_com.android.cellbroadcastreceiver.xml",
83    resource_dirs: [],
84}
85
86// source file shared with legacy cellbroadcast app
87filegroup {
88    name: "cellbroadcast-database-sources",
89    srcs: [
90        "src/com/android/cellbroadcastreceiver/CellBroadcastDatabaseHelper.java",
91    ],
92}
93
94java_library {
95    name: "cellbroadcast-java-proto-lite",
96    proto: {
97        type: "lite",
98        include_dirs: ["external/protobuf/src"],
99        canonical_path_from_root: false,
100    },
101    srcs: ["proto/*.proto"],
102    sdk_version: "core_current",
103    apex_available: [
104        "com.android.cellbroadcast",
105        "//apex_available:platform",
106    ],
107}
108