1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4 * Copyright (C) 2011 The Android Open Source Project
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *      http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18-->
19<manifest xmlns:android="http://schemas.android.com/apk/res/android"
20        package="com.android.cellbroadcastreceiver.module"
21        android:versionCode="300000000"
22        android:versionName="R-initial">
23
24    <!-- Needed for TTS when targetSdkVersion is 30 -->
25    <queries>
26        <intent>
27            <action android:name="android.intent.action.TTS_SERVICE" />
28        </intent>
29    </queries>
30
31    <!-- Needed for TTS when targetSdkVersion is 30 -->
32    <queries>
33        <intent>
34            <action android:name="android.intent.action.TTS_SERVICE" />
35        </intent>
36    </queries>
37
38    <uses-permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS" />
39    <uses-permission android:name="android.permission.RECEIVE_SMS" />
40    <uses-permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST" />
41    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
42    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
43    <uses-permission android:name="android.permission.MODIFY_CELL_BROADCASTS" />
44    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
45    <uses-permission android:name="android.permission.VIBRATE" />
46    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
47    <uses-permission android:name="android.permission.MANAGE_USERS" />
48    <uses-permission android:name="android.permission.DEVICE_POWER" />
49    <uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
50    <uses-permission android:name="android.permission.READ_CELL_BROADCASTS" />
51    <uses-permission android:name="android.permission.READ_SMS" />
52    <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/>
53    <uses-permission android:name="com.android.cellbroadcastservice.FULL_ACCESS_CELL_BROADCAST_HISTORY" />
54    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
55    <uses-permission android:name="android.permission.BLUETOOTH" />
56    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
57
58    <uses-sdk android:minSdkVersion="30" />
59
60    <application android:name="com.android.cellbroadcastreceiver.CellBroadcastReceiverApp"
61            android:label="@string/app_label"
62            android:icon="@mipmap/ic_launcher_cell_broadcast"
63            android:backupAgent="com.android.cellbroadcastreceiver.CellBroadcastBackupAgent"
64            android:defaultToDeviceProtectedStorage="true"
65            android:supportsRtl="true"
66            android:directBootAware="true">
67
68        <meta-data android:name="com.google.android.backup.api_key"
69                android:value="AEdPqrEAAAAI2_Lb4sDI0e0twL-kf6GIqXpZIfrR0OhnM1pNJQ" />
70
71        <service android:name="com.android.cellbroadcastreceiver.CellBroadcastAlertAudio"
72                 android:exported="false" />
73
74        <service android:name="com.android.cellbroadcastreceiver.CellBroadcastAlertService"
75                 android:exported="false" />
76
77        <service android:name="com.android.cellbroadcastreceiver.CellBroadcastConfigService"
78                 android:exported="false" />
79
80        <service android:name="com.android.cellbroadcastreceiver.CellBroadcastAlertReminder"
81                 android:exported="false" />
82
83        <!-- Export provider for AT&T Device and Network Reset-->
84        <provider android:name="com.android.cellbroadcastreceiver.CellBroadcastContentProvider"
85                  android:authorities="cellbroadcasts-app"
86                  android:exported="true"
87                  android:readPermission="android.permission.READ_CELL_BROADCASTS" />
88
89        <activity android:name="com.android.cellbroadcastreceiver.CellBroadcastListActivity"
90                  android:label="@string/app_label"
91                  android:theme="@style/CellBroadcastListActivityTheme"
92                  android:exported="true"
93                  android:configChanges="orientation|keyboardHidden" >
94            <intent-filter>
95                <action android:name="android.intent.action.MAIN" />
96<!-- Uncomment this category to show the Cell Broadcasts launcher icon.
97     Otherwise, set "config_cellBroadcastAppLinks" to true in a config.xml overlay
98     to add links to Cell Broadcast activities via Settings and MMS menu items.
99                <category android:name="android.intent.category.LAUNCHER" />
100 -->
101                <category android:name="android.intent.category.DEFAULT" />
102            </intent-filter>
103            <intent-filter>
104                <action android:name="android.cellbroadcastreceiver.UPDATE_LIST_VIEW" />
105                <category android:name="android.intent.category.DEFAULT" />
106            </intent-filter>
107        </activity>
108
109        <!-- Alias activity for CellBroadcastListActivity. Once enabled, it will appear in the launcher -->
110        <activity-alias android:name="com.android.cellbroadcastreceiver.CellBroadcastListLauncherActivity"
111            android:targetActivity="com.android.cellbroadcastreceiver.CellBroadcastListActivity"
112            android:enabled="false"
113            android:exported="true">
114            <intent-filter>
115                <action android:name="android.intent.action.MAIN" />
116                <category android:name="android.intent.category.LAUNCHER" />
117                <category android:name="android.intent.category.DEFAULT" />
118            </intent-filter>
119        </activity-alias>
120
121        <!-- Settings opened by ListActivity menu, Settings app link or opt-out dialog. -->
122        <activity android:name="com.android.cellbroadcastreceiver.CellBroadcastSettings"
123                  android:theme="@style/CellBroadcastSettingsTheme"
124                  android:label="@string/sms_cb_settings"
125                  android:exported="true" />
126
127        <activity android:name="com.android.cellbroadcastreceiver.CellBroadcastAlertDialog"
128                  android:theme="@style/CellBroadcastAlertTheme"
129                  android:launchMode="singleInstance"
130                  android:exported="false"
131                  android:excludeFromRecents="true"
132                  android:configChanges="orientation|keyboardHidden|screenSize|keyboard|navigation">
133            <intent-filter>
134                <action android:name="android.provider.Telephony.SMS_CB_RECEIVED" />
135            </intent-filter>
136        </activity>
137
138        <!-- Container activity for CMAS opt-in/opt-out dialog. -->
139        <activity android:name="com.android.cellbroadcastreceiver.CellBroadcastOptOutActivity"
140                  android:launchMode="singleInstance"
141                  android:theme="@style/CellBroadcastOptOutTheme"
142                  android:exported="false" />
143
144        <receiver android:name="com.android.cellbroadcastreceiver.CellBroadcastReceiver"
145            android:exported="true">
146            <intent-filter>
147                <action android:name="android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED" />
148                <action android:name="android.telephony.action.CARRIER_CONFIG_CHANGED" />
149                <action android:name="android.provider.action.SMS_EMERGENCY_CB_RECEIVED" />
150                <action android:name="android.provider.Telephony.SMS_CB_RECEIVED" />
151                <action android:name="android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED" />
152                <action android:name="android.intent.action.LOCALE_CHANGED" />
153                <action android:name="android.intent.action.SERVICE_STATE" />
154                <action android:name="android.intent.action.BOOT_COMPLETED" />
155                <action android:name="android.telephony.action.SIM_CARD_STATE_CHANGED" />
156            </intent-filter>
157            <intent-filter>
158                <action android:name="android.telephony.action.SECRET_CODE" />
159                <!-- CMAS: To toggle test mode for cell broadcast testing on userdebug build -->
160                <data android:scheme="android_secret_code" android:host="2627" />
161            </intent-filter>
162        </receiver>
163
164        <receiver android:name="com.android.cellbroadcastreceiver.CellBroadcastInternalReceiver"
165                  android:exported="false">
166            <!-- No intent filter on purpose: this should only receive explicit intents -->
167        </receiver>
168
169        <provider
170                android:name="com.android.cellbroadcastreceiver.CellBroadcastSearchIndexableProvider"
171                android:authorities="com.android.cellbroadcastreceiver"
172                android:multiprocess="false"
173                android:grantUriPermissions="true"
174                android:permission="android.permission.READ_SEARCH_INDEXABLES"
175                android:exported="true">
176            <intent-filter>
177                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
178            </intent-filter>
179        </provider>
180
181    </application>
182</manifest>
183