1 <?xml version="1.0" encoding="utf-8"?> 2 <!-- 3 /* 4 * Copyright (C) 2007-2008 Esmertec AG. 5 * Copyright (C) 2007-2008 The Android Open Source Project 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 */ 19 --> 20 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 21 package="com.android.mms"> 22 23 <original-package android:name="com.android.mms" /> 24 25 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 26 <uses-permission android:name="android.permission.CALL_PHONE" /> 27 <uses-permission android:name="android.permission.READ_CONTACTS" /> 28 <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 29 <uses-permission android:name="android.permission.READ_PROFILE" /> 30 <uses-permission android:name="android.permission.RECEIVE_SMS" /> 31 <uses-permission android:name="android.permission.RECEIVE_MMS" /> 32 <uses-permission android:name="android.permission.SEND_SMS" /> 33 <uses-permission android:name="android.permission.VIBRATE" /> 34 <uses-permission android:name="android.permission.INTERNET" /> 35 <uses-permission android:name="android.permission.READ_SMS"/> 36 <uses-permission android:name="android.permission.WRITE_SMS"/> 37 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 38 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 39 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 40 <uses-permission android:name="android.permission.WAKE_LOCK" /> 41 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 42 <uses-permission android:name="android.permission.INSTALL_DRM" /> 43 <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" /> 44 <!-- System apps can access the receiver through intent--> 45 <permission android:name="android.permission.MMS_SEND_OUTBOX_MSG" 46 android:protectionLevel="signatureOrSystem" 47 android:label="@string/label_mms_send_outbox_msg" 48 android:description="@string/desc_mms_send_outbox_msg"/> 49 <uses-permission android:name="android.permission.MMS_SEND_OUTBOX_MSG"/> 50 <application android:name="MmsApp" 51 android:label="@string/app_label" 52 android:icon="@mipmap/ic_launcher_smsmms" 53 android:taskAffinity="android.task.mms" 54 android:allowTaskReparenting="true"> 55 56 <service android:name=".transaction.TransactionService" 57 android:exported="false" /> 58 59 <service android:name=".transaction.SmsReceiverService" 60 android:exported="false" /> 61 62 <activity android:name=".ui.ConversationList" 63 android:label="@string/app_label" 64 android:configChanges="orientation|screenSize|keyboardHidden" 65 android:theme="@style/MmsHoloTheme" 66 android:uiOptions="splitActionBarWhenNarrow" 67 android:launchMode="singleTop"> 68 <intent-filter> 69 <action android:name="android.intent.action.MAIN" /> 70 <category android:name="android.intent.category.LAUNCHER" /> 71 <category android:name="android.intent.category.DEFAULT" /> 72 <category android:name="android.intent.category.APP_MESSAGING" /> 73 </intent-filter> 74 <intent-filter> 75 <action android:name="android.intent.action.MAIN" /> 76 <category android:name="android.intent.category.DEFAULT" /> 77 <data android:mimeType="vnd.android.cursor.dir/mms" /> 78 </intent-filter> 79 <intent-filter> 80 <action android:name="android.intent.action.MAIN" /> 81 <category android:name="android.intent.category.DEFAULT" /> 82 <data android:mimeType="vnd.android-dir/mms-sms" /> 83 </intent-filter> 84 </activity> 85 86 <activity android:name=".ui.ComposeMessageActivity" 87 android:configChanges="orientation|screenSize|keyboardHidden" 88 android:windowSoftInputMode="stateHidden|adjustResize" 89 android:theme="@style/MmsHoloTheme" 90 android:parentActivityName=".ui.ConversationList" 91 android:launchMode="singleTop" > 92 <intent-filter> 93 <action android:name="android.intent.action.VIEW" /> 94 <category android:name="android.intent.category.DEFAULT" /> 95 <data android:mimeType="vnd.android-dir/mms-sms" /> 96 </intent-filter> 97 <intent-filter> 98 <action android:name="android.intent.action.VIEW" /> 99 <action android:name="android.intent.action.SENDTO" /> 100 <category android:name="android.intent.category.DEFAULT" /> 101 <category android:name="android.intent.category.BROWSABLE" /> 102 <data android:scheme="sms" /> 103 <data android:scheme="smsto" /> 104 </intent-filter> 105 <intent-filter> 106 <action android:name="android.intent.action.VIEW" /> 107 <action android:name="android.intent.action.SENDTO" /> 108 <category android:name="android.intent.category.DEFAULT" /> 109 <category android:name="android.intent.category.BROWSABLE" /> 110 <data android:scheme="mms" /> 111 <data android:scheme="mmsto" /> 112 </intent-filter> 113 <intent-filter> 114 <action android:name="android.intent.action.SEND" /> 115 <category android:name="android.intent.category.DEFAULT" /> 116 <data android:mimeType="image/*" /> 117 </intent-filter> 118 <intent-filter> 119 <action android:name="android.intent.action.SEND" /> 120 <category android:name="android.intent.category.DEFAULT" /> 121 <data android:mimeType="text/plain" /> 122 </intent-filter> 123 <intent-filter> 124 <action android:name="android.intent.action.SEND_MULTIPLE" /> 125 <category android:name="android.intent.category.DEFAULT" /> 126 <data android:mimeType="image/*" /> 127 </intent-filter> 128 </activity> 129 130 <activity-alias android:name=".ui.ForwardMessageActivity" 131 android:targetActivity=".ui.ComposeMessageActivity" 132 android:configChanges="orientation|screenSize|keyboardHidden" 133 android:windowSoftInputMode="stateHidden" 134 android:theme="@style/MmsHoloTheme" > 135 </activity-alias> 136 137 <activity android:name=".ui.ComposeMessageActivityNoLockScreen" 138 android:configChanges="orientation|screenSize|keyboardHidden" 139 android:windowSoftInputMode="stateHidden" 140 android:theme="@style/MmsHoloTheme" 141 android:exported="false" 142 android:launchMode="singleTop" > 143 </activity> 144 145 <activity android:name=".ui.DeliveryReportActivity" 146 android:label="@string/delivery_report_activity" 147 android:theme="@android:style/Theme.Dialog"> 148 </activity> 149 150 <activity android:name=".ui.WarnOfStorageLimitsActivity" 151 android:theme="@android:style/Theme.Dialog" 152 android:label="@string/storage_limits_activity" 153 android:excludeFromRecents="true"> 154 </activity> 155 156 <activity android:name=".ui.EditSlideDurationActivity" 157 android:label="@string/change_duration_activity" 158 android:theme="@android:style/Theme.Dialog"> 159 </activity> 160 161 <activity android:name=".ui.SlideshowEditActivity" 162 android:theme="@style/MmsHoloTheme" 163 android:label="@string/edit_slideshow_activity" /> 164 165 <activity android:name=".ui.RecipientListActivity" 166 android:theme="@style/MmsHoloTheme" 167 android:label="@string/recipient_list_activity" /> 168 169 <activity android:name=".ui.SlideEditorActivity" 170 android:windowSoftInputMode="adjustResize" 171 android:theme="@style/MmsHoloTheme" 172 android:label="@string/edit_slide_activity" /> 173 174 <activity android:name=".ui.SlideshowActivity" 175 android:noHistory="true" 176 android:configChanges="orientation|screenSize|keyboardHidden" 177 android:theme="@style/MmsHoloTheme" 178 android:label="@string/slideshow_activity"> 179 </activity> 180 181 <activity android:name=".ui.ClassZeroActivity" 182 android:label="@string/class_0_message_activity" 183 android:theme="@android:style/Theme.Translucent" 184 android:configChanges="orientation|screenSize|keyboardHidden" 185 android:launchMode="singleTask" 186 android:excludeFromRecents="true"> 187 </activity> 188 189 <activity android:name=".ui.MessagingPreferenceActivity" 190 android:theme="@style/MmsHoloTheme" 191 android:configChanges="orientation|screenSize|keyboardHidden" 192 android:label="@string/preferences_title" /> 193 194 <receiver android:name=".transaction.PushReceiver" 195 android:permission="android.permission.BROADCAST_WAP_PUSH"> 196 <intent-filter> 197 <action android:name="android.provider.Telephony.WAP_PUSH_DELIVER" /> 198 <data android:mimeType="application/vnd.wap.mms-message" /> 199 </intent-filter> 200 </receiver> 201 <receiver android:name=".transaction.MmsPushOutboxMessages" 202 android:permission="android.permission.MMS_SEND_OUTBOX_MSG"> 203 <intent-filter> 204 <action android:name="android.intent.action.MMS_SEND_OUTBOX_MSG" /> 205 </intent-filter> 206 </receiver> 207 <receiver android:name=".transaction.MmsSystemEventReceiver"> 208 <intent-filter> 209 <action android:name="android.intent.action.CONTENT_CHANGED" /> 210 </intent-filter> 211 <intent-filter> 212 <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 213 </intent-filter> 214 <intent-filter> 215 <action android:name="android.intent.action.BOOT_COMPLETED" /> 216 </intent-filter> 217 </receiver> 218 219 <activity android:name=".ui.ManageSimMessages" 220 android:theme="@style/MmsHoloTheme" 221 android:launchMode="singleTop" 222 android:configChanges="orientation|screenSize|keyboardHidden" 223 android:label="@string/sim_manage_messages_title"> 224 <intent-filter> 225 <action android:name="android.intent.action.VIEW" /> 226 </intent-filter> 227 </activity> 228 229 <!-- Require sender permissions to prevent SMS spoofing --> 230 <receiver android:name=".transaction.PrivilegedSmsReceiver" 231 android:permission="android.permission.BROADCAST_SMS"> 232 <intent-filter> 233 <action android:name="android.provider.Telephony.SMS_DELIVER" /> 234 </intent-filter> 235 </receiver> 236 237 <!-- Catch-all receiver for broadcasts that don't have associated security --> 238 <receiver android:name=".transaction.SmsReceiver"> 239 <intent-filter> 240 <action android:name="android.intent.action.BOOT_COMPLETED" /> 241 </intent-filter> 242 <intent-filter> 243 <action android:name="com.android.mms.transaction.MESSAGE_SENT" /> 244 <!-- TODO Do a better data match here. --> 245 <data android:scheme="content" /> 246 </intent-filter> 247 <intent-filter> 248 <action android:name="android.intent.action.SEND_MESSAGE" /> 249 </intent-filter> 250 </receiver> 251 252 <receiver android:name=".transaction.MessageStatusReceiver"> 253 <intent-filter> 254 <action android:name="com.android.mms.transaction.MessageStatusReceiver.MESSAGE_STATUS_RECEIVED" /> 255 </intent-filter> 256 </receiver> 257 258 <service android:name=".transaction.MessageStatusService"/> 259 260 <receiver android:name=".transaction.SimFullReceiver"> 261 <intent-filter> 262 <action android:name="android.provider.Telephony.SIM_FULL" /> 263 </intent-filter> 264 </receiver> 265 266 <receiver android:name=".transaction.SmsRejectedReceiver"> 267 <intent-filter> 268 <action android:name="android.provider.Telephony.SMS_REJECTED" /> 269 </intent-filter> 270 </receiver> 271 272 <activity android:name=".ui.ConfirmRateLimitActivity" 273 android:theme="@android:style/Theme.Dialog"> 274 <intent-filter> 275 <action android:name="com.android.mms.RATE_LIMIT_SURPASSED" /> 276 <category android:name="android.intent.category.DEFAULT" /> 277 </intent-filter> 278 </activity> 279 280 <activity android:name=".ui.SearchActivity" 281 android:theme="@style/MmsHoloTheme" 282 android:label="@string/search" 283 android:configChanges="orientation|screenSize|keyboardHidden" > 284 <intent-filter> 285 <action android:name="android.intent.action.SEARCH" /> 286 <category android:name="android.intent.category.DEFAULT" /> 287 </intent-filter> 288 <meta-data android:name="android.app.searchable" 289 android:resource="@xml/searchable" /> 290 </activity> 291 292 <meta-data android:name="android.app.default_searchable" 293 android:value=".ui.SearchActivity" /> 294 295 <!-- Search Suggestions Provider --> 296 <provider android:name="SuggestionsProvider" 297 android:exported="true" 298 android:readPermission="android.permission.READ_SMS" 299 android:authorities="com.android.mms.SuggestionsProvider" > 300 <path-permission 301 android:pathPrefix="/search_suggest_query" 302 android:readPermission="android.permission.GLOBAL_SEARCH" /> 303 <path-permission 304 android:pathPrefix="/search_suggest_shortcut" 305 android:readPermission="android.permission.GLOBAL_SEARCH" /> 306 </provider> 307 308 <service android:name=".ui.NoConfirmationSendService" 309 android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE" 310 android:exported="true" > 311 <intent-filter> 312 <action android:name="android.intent.action.RESPOND_VIA_MESSAGE" /> 313 <category android:name="android.intent.category.DEFAULT" /> 314 <data android:scheme="sms" /> 315 <data android:scheme="smsto" /> 316 </intent-filter> 317 </service> 318 319 <provider android:name="TempFileProvider" 320 android:exported="true" 321 android:authorities="mms_temp_file" 322 android:multiprocess="true" /> 323 324 <activity android:name=".ui.MiniPreferenceActivity" > 325 <intent-filter> 326 <action android:name="com.android.mms.intent.action.MESSAGING_APP_NOTIFICATIONS" /> 327 <category android:name="android.intent.category.DEFAULT" /> 328 </intent-filter> 329 </activity> 330 <receiver android:name=".ui.SmsStorageMonitor" > 331 <intent-filter> 332 <action android:name="android.intent.action.DEVICE_STORAGE_FULL" /> 333 <action android:name="android.intent.action.DEVICE_STORAGE_NOT_FULL" /> 334 </intent-filter> 335 </receiver> 336 <!-- Widget --> 337 <receiver android:name=".widget.MmsWidgetProvider" android:label="@string/app_label"> 338 <intent-filter> 339 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 340 </intent-filter> 341 <intent-filter> 342 <action android:name="com.android.mms.intent.action.ACTION_NOTIFY_DATASET_CHANGED" /> 343 </intent-filter> 344 <meta-data android:name="android.appwidget.provider" 345 android:resource="@xml/widget_info" /> 346 </receiver> 347 <service android:name=".widget.MmsWidgetService" 348 android:permission="android.permission.BIND_REMOTEVIEWS" 349 android:exported="false" /> 350 </application> 351 </manifest> 352