2013-12-12 20:05:37 +00:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<!-- Copyright (C) 2007 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"
|
|
|
|
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
|
2014-09-13 05:17:27 +00:00
|
|
|
package="com.android.server.telecom"
|
2014-05-22 04:21:49 +00:00
|
|
|
coreApp="true"
|
2014-12-02 21:19:00 +00:00
|
|
|
android:sharedUserId="android.uid.system">
|
2013-12-17 01:33:45 +00:00
|
|
|
|
2015-08-05 20:10:39 +00:00
|
|
|
<protected-broadcast android:name="android.intent.action.SHOW_MISSED_CALLS_NOTIFICATION" />
|
|
|
|
|
2013-12-12 20:05:37 +00:00
|
|
|
<!-- Prevents the activity manager from delaying any activity-start
|
|
|
|
requests by this package, including requests immediately after
|
|
|
|
the user presses "home". -->
|
2015-05-07 23:28:38 +00:00
|
|
|
<uses-permission android:name="android.permission.BIND_CONNECTION_SERVICE" />
|
|
|
|
<uses-permission android:name="android.permission.BIND_INCALL_SERVICE" />
|
2014-05-22 09:51:48 +00:00
|
|
|
<uses-permission android:name="android.permission.BLUETOOTH" />
|
|
|
|
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
2015-05-07 23:28:38 +00:00
|
|
|
<uses-permission android:name="android.permission.BROADCAST_CALLLOG_INFO" />
|
|
|
|
<uses-permission android:name="android.permission.BROADCAST_PHONE_ACCOUNT_REGISTRATION" />
|
2014-04-08 00:58:14 +00:00
|
|
|
<uses-permission android:name="android.permission.CALL_PRIVILEGED" />
|
2014-12-02 21:19:00 +00:00
|
|
|
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
|
2014-05-22 09:51:48 +00:00
|
|
|
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
|
2015-05-07 23:28:38 +00:00
|
|
|
<uses-permission android:name="android.permission.MANAGE_USERS" />
|
2014-04-07 17:53:11 +00:00
|
|
|
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
2015-05-07 23:28:38 +00:00
|
|
|
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
|
2014-05-22 09:51:48 +00:00
|
|
|
<uses-permission android:name="android.permission.READ_CALL_LOG" />
|
|
|
|
<uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
|
2014-04-07 17:53:11 +00:00
|
|
|
<uses-permission android:name="android.permission.VIBRATE" />
|
2014-05-22 09:51:48 +00:00
|
|
|
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
|
2016-02-09 06:19:58 +00:00
|
|
|
<uses-permission android:name="android.permission.READ_BLOCKED_NUMBERS" />
|
|
|
|
<uses-permission android:name="android.permission.WRITE_BLOCKED_NUMBERS" />
|
2017-03-08 16:51:00 +00:00
|
|
|
<uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
|
2014-08-15 18:29:12 +00:00
|
|
|
|
2014-10-09 17:08:54 +00:00
|
|
|
<permission
|
|
|
|
android:name="android.permission.BROADCAST_CALLLOG_INFO"
|
|
|
|
android:label="Broadcast the call type/duration information"
|
|
|
|
android:protectionLevel="signature|system"/>
|
|
|
|
|
|
|
|
<permission
|
|
|
|
android:name="android.permission.PROCESS_CALLLOG_INFO"
|
|
|
|
android:label="Register to handle the broadcasted call type/duration information"
|
|
|
|
android:protectionLevel="signature|system"/>
|
|
|
|
|
2015-02-27 23:13:35 +00:00
|
|
|
<permission
|
|
|
|
android:name="android.permission.BROADCAST_PHONE_ACCOUNT_REGISTRATION"
|
|
|
|
android:label="Broadcast phone account registration"
|
|
|
|
android:protectionLevel="signature|system"/>
|
|
|
|
|
|
|
|
<permission
|
|
|
|
android:name="android.permission.PROCESS_PHONE_ACCOUNT_REGISTRATION"
|
|
|
|
android:label="Process phone account registration"
|
|
|
|
android:protectionLevel="signature|system"/>
|
|
|
|
|
2014-12-15 17:59:26 +00:00
|
|
|
<application android:label="@string/telecommAppLabel"
|
2013-12-12 20:05:37 +00:00
|
|
|
android:icon="@mipmap/ic_launcher_phone"
|
2014-07-30 16:33:59 +00:00
|
|
|
android:allowBackup="false"
|
2014-12-15 17:59:26 +00:00
|
|
|
android:supportsRtl="true"
|
2015-05-20 18:30:05 +00:00
|
|
|
android:process="system"
|
2015-11-18 22:36:11 +00:00
|
|
|
android:usesCleartextTraffic="false"
|
2016-03-17 17:00:41 +00:00
|
|
|
android:defaultToDeviceProtectedStorage="true"
|
|
|
|
android:directBootAware="true">
|
2013-12-13 00:06:56 +00:00
|
|
|
|
|
|
|
<!-- CALL vs CALL_PRIVILEGED vs CALL_EMERGENCY
|
|
|
|
We have three different intents through which a call can be initiated each with its
|
|
|
|
own behavior.
|
|
|
|
1) CALL - Expected from any third party app with CALL_PHONE permission. Through this
|
|
|
|
intent, an app can call any number except emergency numbers.
|
|
|
|
2) CALL_PRIVILEGED - Expected from the dialer app and requires CALL_PRIVILEGED
|
|
|
|
permission, which is only held by the system dialer and the emergency dialer at the
|
|
|
|
time of this writing. Through this intent, an app can call any number including
|
|
|
|
emergency numbers.
|
|
|
|
3) CALL_EMERGENCY - Expected from the emergency dialer app and requires CALL_PRIVILEGED
|
|
|
|
permission. Through this intent, an app can call *only* emergency numbers. -->
|
|
|
|
|
2016-02-05 22:10:17 +00:00
|
|
|
<!-- Activity that displays UI for managing blocked numbers. -->
|
|
|
|
<activity android:name=".settings.BlockedNumbersActivity"
|
|
|
|
android:label="@string/blocked_numbers"
|
|
|
|
android:configChanges="orientation|screenSize|keyboardHidden"
|
|
|
|
android:theme="@style/Theme.Telecom.BlockedNumbers"
|
|
|
|
android:process=":ui"
|
2016-03-01 00:26:09 +00:00
|
|
|
android:exported="true">
|
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.telecom.action.MANAGE_BLOCKED_NUMBERS" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
</intent-filter>
|
|
|
|
</activity>
|
2013-12-13 00:06:56 +00:00
|
|
|
<!-- Activity that starts the outgoing call process by listening to CALL intent which
|
|
|
|
contain contact information in the intent's data. CallActivity handles any data
|
|
|
|
URL with the schemes "tel", "sip", and "voicemail". It also handles URLs linked to
|
|
|
|
contacts provider entries. Any data not fitting the schema described is ignored. -->
|
2015-02-06 18:13:05 +00:00
|
|
|
<activity android:name=".components.UserCallActivity"
|
2015-08-11 17:46:08 +00:00
|
|
|
android:label="@string/userCallActivityLabel"
|
2014-08-25 22:03:51 +00:00
|
|
|
android:theme="@style/Theme.Telecomm.Transparent"
|
2013-12-13 00:06:56 +00:00
|
|
|
android:permission="android.permission.CALL_PHONE"
|
2014-12-02 21:19:00 +00:00
|
|
|
android:excludeFromRecents="true"
|
|
|
|
android:process=":ui">
|
2013-12-13 00:06:56 +00:00
|
|
|
<!-- CALL action intent filters for the various ways of initiating an outgoing call. -->
|
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.intent.action.CALL" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:scheme="tel" />
|
|
|
|
</intent-filter>
|
|
|
|
<!-- Specify an icon for SIP calls so that quick contacts widget shows a special SIP
|
|
|
|
icon for calls to SIP addresses. -->
|
|
|
|
<intent-filter android:icon="@drawable/ic_launcher_sip_call">
|
|
|
|
<action android:name="android.intent.action.CALL" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:scheme="sip" />
|
|
|
|
</intent-filter>
|
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.intent.action.CALL" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:scheme="voicemail" />
|
|
|
|
</intent-filter>
|
|
|
|
<!-- Omit default category below so that all Intents sent to this filter must be
|
|
|
|
explicit. -->
|
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.intent.action.CALL" />
|
|
|
|
<data android:mimeType="vnd.android.cursor.item/phone" />
|
|
|
|
<data android:mimeType="vnd.android.cursor.item/phone_v2" />
|
|
|
|
<data android:mimeType="vnd.android.cursor.item/person" />
|
|
|
|
</intent-filter>
|
|
|
|
</activity>
|
|
|
|
|
|
|
|
<!-- Works like CallActivity with CALL_PRIVILEGED instead of CALL intent.
|
|
|
|
CALL_PRIVILEGED allows calls to emergency numbers unlike CALL which disallows it.
|
|
|
|
Intent-sender must have the CALL_PRIVILEGED permission or the broadcast will not be
|
|
|
|
processed. High priority of 1000 is used in all intent filters to prevent anything but
|
|
|
|
the system from processing this intent (b/8871505). -->
|
|
|
|
<activity-alias android:name="PrivilegedCallActivity"
|
2015-02-06 18:13:05 +00:00
|
|
|
android:targetActivity=".components.UserCallActivity"
|
2014-12-02 21:19:00 +00:00
|
|
|
android:permission="android.permission.CALL_PRIVILEGED"
|
|
|
|
android:process=":ui">
|
2013-12-13 00:06:56 +00:00
|
|
|
<intent-filter android:priority="1000">
|
|
|
|
<action android:name="android.intent.action.CALL_PRIVILEGED" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:scheme="tel" />
|
|
|
|
</intent-filter>
|
|
|
|
<intent-filter android:priority="1000"
|
|
|
|
android:icon="@drawable/ic_launcher_sip_call">
|
|
|
|
<action android:name="android.intent.action.CALL_PRIVILEGED" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:scheme="sip" />
|
|
|
|
</intent-filter>
|
|
|
|
<intent-filter android:priority="1000">
|
|
|
|
<action android:name="android.intent.action.CALL_PRIVILEGED" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:scheme="voicemail" />
|
|
|
|
</intent-filter>
|
|
|
|
<intent-filter android:priority="1000">
|
|
|
|
<action android:name="android.intent.action.CALL_PRIVILEGED" />
|
|
|
|
<data android:mimeType="vnd.android.cursor.item/phone" />
|
|
|
|
<data android:mimeType="vnd.android.cursor.item/phone_v2" />
|
|
|
|
<data android:mimeType="vnd.android.cursor.item/person" />
|
|
|
|
</intent-filter>
|
|
|
|
</activity-alias>
|
|
|
|
|
|
|
|
<!-- Works like CallActivity with CALL_EMERGENCY instead of CALL intent.
|
|
|
|
CALL_EMERGENCY allows calls *only* to emergency numbers. Intent-sender must have the
|
|
|
|
CALL_PRIVILEGED permission or the broadcast will not be processed. High priority of
|
|
|
|
1000 is used in all intent filters to prevent anything but the system from processing
|
|
|
|
this intent (b/8871505). -->
|
2014-08-06 11:39:15 +00:00
|
|
|
<!-- TODO: Is there really a notion of an emergency SIP number? If not, can
|
2013-12-13 00:06:56 +00:00
|
|
|
that scheme be removed from this activity? -->
|
|
|
|
<activity-alias android:name="EmergencyCallActivity"
|
2015-02-06 18:13:05 +00:00
|
|
|
android:targetActivity=".components.UserCallActivity"
|
2014-12-02 21:19:00 +00:00
|
|
|
android:permission="android.permission.CALL_PRIVILEGED"
|
|
|
|
android:process=":ui">
|
2013-12-13 00:06:56 +00:00
|
|
|
<intent-filter android:priority="1000">
|
|
|
|
<action android:name="android.intent.action.CALL_EMERGENCY" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:scheme="tel" />
|
|
|
|
</intent-filter>
|
|
|
|
<intent-filter android:priority="1000"
|
|
|
|
android:icon="@drawable/ic_launcher_sip_call">
|
|
|
|
<action android:name="android.intent.action.CALL_EMERGENCY" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:scheme="sip" />
|
|
|
|
</intent-filter>
|
|
|
|
<intent-filter android:priority="1000">
|
|
|
|
<action android:name="android.intent.action.CALL_EMERGENCY" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
<data android:scheme="voicemail" />
|
|
|
|
</intent-filter>
|
|
|
|
<intent-filter android:priority="1000">
|
|
|
|
<action android:name="android.intent.action.CALL_EMERGENCY" />
|
|
|
|
<data android:mimeType="vnd.android.cursor.item/phone" />
|
|
|
|
<data android:mimeType="vnd.android.cursor.item/phone_v2" />
|
|
|
|
<data android:mimeType="vnd.android.cursor.item/person" />
|
|
|
|
</intent-filter>
|
|
|
|
</activity-alias>
|
|
|
|
|
2015-02-06 18:13:05 +00:00
|
|
|
<receiver android:name=".components.TelecomBroadcastReceiver" android:exported="false"
|
2014-12-02 21:19:00 +00:00
|
|
|
android:process="system">
|
2014-09-23 23:54:05 +00:00
|
|
|
<intent-filter>
|
2015-03-27 21:00:13 +00:00
|
|
|
<action android:name="com.android.server.telecom.ACTION_CLEAR_MISSED_CALLS" />
|
2014-09-23 23:54:05 +00:00
|
|
|
<action android:name="com.android.server.telecom.ACTION_CALL_BACK_FROM_NOTIFICATION" />
|
|
|
|
<action android:name="com.android.server.telecom.ACTION_SEND_SMS_FROM_NOTIFICATION" />
|
2017-03-08 16:51:00 +00:00
|
|
|
<action android:name="com.android.server.telecom.ACTION_ANSWER_FROM_NOTIFICATION" />
|
|
|
|
<action android:name="com.android.server.telecom.ACTION_REJECT_FROM_NOTIFICATION" />
|
2017-04-30 21:16:07 +00:00
|
|
|
<action android:name="com.android.server.telecom.PROCEED_WITH_CALL" />
|
|
|
|
<action android:name="com.android.server.telecom.CANCEL_CALL" />
|
2014-09-23 23:54:05 +00:00
|
|
|
</intent-filter>
|
|
|
|
</receiver>
|
|
|
|
|
2015-02-06 18:13:05 +00:00
|
|
|
<receiver android:name=".components.PhoneAccountBroadcastReceiver"
|
2014-12-02 21:19:00 +00:00
|
|
|
android:process="system">
|
2014-09-23 23:54:05 +00:00
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
|
|
|
|
<data android:scheme="package" />
|
|
|
|
</intent-filter>
|
|
|
|
</receiver>
|
2014-08-13 18:40:59 +00:00
|
|
|
|
2015-02-26 01:40:11 +00:00
|
|
|
<activity android:name=".RespondViaSmsSettings"
|
2014-06-10 20:47:44 +00:00
|
|
|
android:label="@string/respond_via_sms_setting_title"
|
2014-11-13 02:09:58 +00:00
|
|
|
android:configChanges="orientation|screenSize|keyboardHidden"
|
2014-12-02 21:19:00 +00:00
|
|
|
android:theme="@style/Theme.Telecom.DialerSettings"
|
|
|
|
android:process=":ui">
|
2014-06-10 20:47:44 +00:00
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.intent.action.MAIN" />
|
2015-02-19 01:58:58 +00:00
|
|
|
<action android:name="android.telecom.action.SHOW_RESPOND_VIA_SMS_SETTINGS" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
2014-06-10 20:47:44 +00:00
|
|
|
</intent-filter>
|
|
|
|
</activity>
|
2014-07-17 18:29:35 +00:00
|
|
|
|
2015-05-04 20:05:30 +00:00
|
|
|
<activity android:name=".settings.EnableAccountPreferenceActivity"
|
|
|
|
android:label="@string/enable_account_preference_title"
|
|
|
|
android:configChanges="orientation|screenSize|keyboardHidden"
|
|
|
|
android:theme="@style/Theme.Telecom.DialerSettings"
|
|
|
|
android:process=":ui">
|
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.intent.action.MAIN" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
</intent-filter>
|
|
|
|
</activity>
|
|
|
|
|
2015-02-06 18:13:05 +00:00
|
|
|
<activity android:name=".components.ErrorDialogActivity"
|
2014-08-25 22:03:51 +00:00
|
|
|
android:configChanges="orientation|screenSize|keyboardHidden"
|
|
|
|
android:excludeFromRecents="true"
|
|
|
|
android:launchMode="singleInstance"
|
2014-12-02 21:19:00 +00:00
|
|
|
android:theme="@style/Theme.Telecomm.Transparent"
|
|
|
|
android:process=":ui">
|
2014-08-25 22:03:51 +00:00
|
|
|
</activity>
|
|
|
|
|
2017-04-30 21:16:07 +00:00
|
|
|
<activity android:name=".ui.ConfirmCallDialogActivity"
|
|
|
|
android:configChanges="orientation|screenSize|keyboardHidden"
|
|
|
|
android:excludeFromRecents="true"
|
|
|
|
android:launchMode="singleInstance"
|
|
|
|
android:theme="@style/Theme.Telecomm.Transparent"
|
|
|
|
android:process=":ui">
|
|
|
|
</activity>
|
|
|
|
|
2015-04-27 22:21:53 +00:00
|
|
|
<activity android:name=".components.ChangeDefaultDialerDialog"
|
|
|
|
android:label="@string/change_default_dialer_dialog_title"
|
|
|
|
android:excludeFromRecents="true"
|
|
|
|
android:theme="@*android:style/Theme.Material.Light.Dialog.Alert"
|
|
|
|
android:priority="1000"
|
|
|
|
android:process=":ui" >
|
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.telecom.action.CHANGE_DEFAULT_DIALER" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
</intent-filter>
|
|
|
|
</activity>
|
|
|
|
|
2015-02-06 18:13:05 +00:00
|
|
|
<receiver android:name=".components.PrimaryCallReceiver"
|
2014-12-02 21:19:00 +00:00
|
|
|
android:exported="true"
|
|
|
|
android:permission="android.permission.MODIFY_PHONE_STATE"
|
|
|
|
android:process="system">
|
2014-09-24 01:50:35 +00:00
|
|
|
</receiver>
|
|
|
|
|
2015-02-06 18:13:05 +00:00
|
|
|
<service android:name=".components.BluetoothPhoneService"
|
2014-12-02 21:19:00 +00:00
|
|
|
android:singleUser="true"
|
|
|
|
android:process="system">
|
2014-09-25 22:08:57 +00:00
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.bluetooth.IBluetoothHeadsetPhone" />
|
|
|
|
</intent-filter>
|
|
|
|
</service>
|
|
|
|
|
2015-02-06 18:13:05 +00:00
|
|
|
<service android:name=".components.TelecomService"
|
2014-12-02 21:19:00 +00:00
|
|
|
android:singleUser="true"
|
|
|
|
android:process="system">
|
2014-12-02 11:37:03 +00:00
|
|
|
<intent-filter>
|
2015-03-27 21:00:13 +00:00
|
|
|
<action android:name="android.telecom.ITelecomService" />
|
2014-12-02 11:37:03 +00:00
|
|
|
</intent-filter>
|
|
|
|
</service>
|
|
|
|
|
2013-12-12 20:05:37 +00:00
|
|
|
</application>
|
|
|
|
</manifest>
|