summaryrefslogtreecommitdiffstats
path: root/AndroidManifest.xml
blob: 740562c11a9d7b285e1b9e13c09d4cb623ebd743 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
 * Copyright (C) 2011 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.android.cellbroadcastreceiver">

    <original-package android:name="com.android.cellbroadcastreceiver" />

    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST" />
    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
    <uses-permission android:name="android.permission.MANAGE_USERS" />

    <application android:name="CellBroadcastReceiverApp"
            android:label="@string/app_label"
            android:icon="@mipmap/ic_launcher_cell_broadcast">

        <service android:name="CellBroadcastAlertAudio"
                 android:exported="false" />

        <service android:name="CellBroadcastAlertService"
                 android:exported="false" />

        <service android:name="CellBroadcastConfigService"
                 android:exported="false" />

        <service android:name="CellBroadcastAlertReminder"
                 android:exported="false" />

        <provider android:name="CellBroadcastContentProvider"
                  android:authorities="cellbroadcasts"
                  android:readPermission="android.permission.READ_CELL_BROADCASTS" />

        <activity android:name="CellBroadcastListActivity"
                  android:label="@string/app_label"
                  android:theme="@style/CellBroadcastListActivityTheme"
                  android:configChanges="orientation|keyboardHidden"
                  android:launchMode="singleTask">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
<!-- Uncomment this category to show the Cell Broadcasts launcher icon.
     Otherwise, set "config_cellBroadcastAppLinks" to true in a config.xml overlay
     to add links to Cell Broadcast activities via Settings and MMS menu items.
                <category android:name="android.intent.category.LAUNCHER" />
 -->
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.cellbroadcastreceiver.UPDATE_LIST_VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <!-- Settings opened by ListActivity menu, Settings app link or opt-out dialog. -->
        <activity android:name="CellBroadcastSettings"
                  android:theme="@style/CellBroadcastSettingsTheme"
                  android:label="@string/sms_cb_settings"
                  android:launchMode="singleTask"
                  android:exported="true" />

        <activity android:name="CellBroadcastAlertDialog"
                  android:theme="@style/CellBroadcastAlertDialog"
                  android:launchMode="singleTask"
                  android:exported="false"
                  android:configChanges="orientation|keyboardHidden|keyboard|navigation">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_CB_RECEIVED" />
            </intent-filter>
        </activity>

        <!-- Full-screen version of CellBroadcastAlertDialog to display alerts over lock screen. -->
        <activity android:name="CellBroadcastAlertFullScreen"
                  android:excludeFromRecents="true"
                  android:theme="@style/AlertFullScreenTheme"
                  android:launchMode="singleTask"
                  android:exported="false"
                  android:configChanges="orientation|keyboardHidden|keyboard|navigation" />

        <!-- Container activity for CMAS opt-in/opt-out dialog. -->
        <activity android:name="CellBroadcastOptOutActivity"
                  android:exported="false" />

        <!-- Require sender permissions to prevent SMS spoofing -->
        <receiver android:name="PrivilegedCellBroadcastReceiver"
            android:permission="android.permission.BROADCAST_SMS">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_EMERGENCY_CB_RECEIVED" />
            </intent-filter>

            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_CB_RECEIVED" />
            </intent-filter>

            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED" />
            </intent-filter>
        </receiver>

        <!-- Require sender permission for querying latest area info broadcast -->
        <receiver android:name="PrivilegedCellBroadcastReceiver"
            android:permission="android.permission.READ_PHONE_STATE">
            <intent-filter>
                 <action android:name="android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO" />
            </intent-filter>
        </receiver>

        <receiver android:name="CellBroadcastReceiver">
            <intent-filter>
                 <action android:name="android.intent.action.SERVICE_STATE" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.internal_sim_state_changed" />
            </intent-filter>

            <intent-filter>
                 <action android:name="android.intent.action.AIRPLANE_MODE" />
            </intent-filter>
        </receiver>

        <provider
                android:name="CellBroadcastSearchIndexableProvider"
                android:authorities="com.android.cellbroadcastreceiver"
                android:multiprocess="false"
                android:grantUriPermissions="true"
                android:permission="android.permission.READ_SEARCH_INDEXABLES"
                android:exported="true">
            <intent-filter>
                <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" />
            </intent-filter>
        </provider>

    </application>
</manifest>