Add an exported flag in manifest
With b/150232615, we will need an explicit value set for the exported
flag when intent filters are present, as the default behavior is
changing for S+. This change adds the value reflecting the previous
default to the manifest.
These changes were made using an automated tool, the xml file may be
reformatted slightly creating a larger diff. The only "real" change is
the addition of "android:exported" to activities, services, and
receivers that have one or more intent-filters.
Bug: 150232615
Test: TH
Exempt-From-Owner-Approval: mechanical refactoring
Change-Id: Iff9464db2b2cd04713a98489a097dd1570b9edf1
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 7c57599..327d0a2 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -15,80 +15,75 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
- package="com.android.server.telecom"
- coreApp="true"
- android:sharedUserId="android.uid.system">
+ xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+ package="com.android.server.telecom"
+ coreApp="true"
+ android:sharedUserId="android.uid.system">
- <protected-broadcast android:name="android.intent.action.SHOW_MISSED_CALLS_NOTIFICATION" />
- <protected-broadcast android:name="com.android.server.telecom.MESSAGE_SENT" />
+ <protected-broadcast android:name="android.intent.action.SHOW_MISSED_CALLS_NOTIFICATION"/>
+ <protected-broadcast android:name="com.android.server.telecom.MESSAGE_SENT"/>
<!-- Prevents the activity manager from delaying any activity-start
requests by this package, including requests immediately after
the user presses "home". -->
- <uses-permission android:name="android.permission.BIND_CONNECTION_SERVICE" />
- <uses-permission android:name="android.permission.BIND_INCALL_SERVICE" />
- <uses-permission android:name="android.permission.BLUETOOTH" />
- <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
- <uses-permission android:name="android.permission.BROADCAST_CALLLOG_INFO" />
- <uses-permission android:name="android.permission.BROADCAST_PHONE_ACCOUNT_REGISTRATION" />
- <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
- <uses-permission android:name="android.permission.HANDLE_CALL_INTENT" />
- <uses-permission android:name="android.permission.HANDLE_CAR_MODE_CHANGES" />
- <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
- <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
- <uses-permission android:name="android.permission.MANAGE_USERS" />
- <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />
- <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
+ <uses-permission android:name="android.permission.BIND_CONNECTION_SERVICE"/>
+ <uses-permission android:name="android.permission.BIND_INCALL_SERVICE"/>
+ <uses-permission android:name="android.permission.BLUETOOTH"/>
+ <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
+ <uses-permission android:name="android.permission.BROADCAST_CALLLOG_INFO"/>
+ <uses-permission android:name="android.permission.BROADCAST_PHONE_ACCOUNT_REGISTRATION"/>
+ <uses-permission android:name="android.permission.CALL_PRIVILEGED"/>
+ <uses-permission android:name="android.permission.HANDLE_CALL_INTENT"/>
+ <uses-permission android:name="android.permission.HANDLE_CAR_MODE_CHANGES"/>
+ <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/>
+ <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>
+ <uses-permission android:name="android.permission.MANAGE_USERS"/>
+ <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS"/>
+ <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<!-- Required to determine source of ongoing audio recordings. -->
- <uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING" />
- <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
- <uses-permission android:name="android.permission.READ_CALL_LOG" />
- <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.SEND_SMS" />
- <uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
- <uses-permission android:name="android.permission.VIBRATE" />
- <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
- <uses-permission android:name="android.permission.WAKE_LOCK" />
- <uses-permission android:name="android.permission.READ_BLOCKED_NUMBERS" />
- <uses-permission android:name="android.permission.WRITE_BLOCKED_NUMBERS" />
- <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
+ <uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING"/>
+ <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
+ <uses-permission android:name="android.permission.READ_CALL_LOG"/>
+ <uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/>
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="android.permission.SEND_SMS"/>
+ <uses-permission android:name="android.permission.STOP_APP_SWITCHES"/>
+ <uses-permission android:name="android.permission.VIBRATE"/>
+ <uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
+ <uses-permission android:name="android.permission.WAKE_LOCK"/>
+ <uses-permission android:name="android.permission.READ_BLOCKED_NUMBERS"/>
+ <uses-permission android:name="android.permission.WRITE_BLOCKED_NUMBERS"/>
+ <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
- <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.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"/>
+ <permission android:name="android.permission.PROCESS_CALLLOG_INFO"
+ android:label="Register to handle the broadcasted call type/duration information"
+ android:protectionLevel="signature|system"/>
- <permission
- android:name="android.permission.BROADCAST_PHONE_ACCOUNT_REGISTRATION"
- android:label="Broadcast phone account registration"
- android:protectionLevel="signature|system"/>
+ <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"/>
+ <permission android:name="android.permission.PROCESS_PHONE_ACCOUNT_REGISTRATION"
+ android:label="Process phone account registration"
+ android:protectionLevel="signature|system"/>
- <permission
- android:name="android.permission.HANDLE_CALL_INTENT"
- android:label="Protects handling the call intent via the TelecomManager API."
- android:protectionLevel="signature|system"/>
+ <permission android:name="android.permission.HANDLE_CALL_INTENT"
+ android:label="Protects handling the call intent via the TelecomManager API."
+ android:protectionLevel="signature|system"/>
<application android:label="@string/telecommAppLabel"
- android:icon="@mipmap/ic_launcher_phone"
- android:allowBackup="false"
- android:supportsRtl="true"
- android:process="system"
- android:usesCleartextTraffic="false"
- android:defaultToDeviceProtectedStorage="true"
- android:directBootAware="true">
+ android:icon="@mipmap/ic_launcher_phone"
+ android:allowBackup="false"
+ android:supportsRtl="true"
+ android:process="system"
+ android:usesCleartextTraffic="false"
+ android:defaultToDeviceProtectedStorage="true"
+ android:directBootAware="true">
<!-- CALL vs CALL_PRIVILEGED vs CALL_EMERGENCY
We have three different intents through which a call can be initiated each with its
@@ -104,60 +99,61 @@
<!-- 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"
- android:exported="true">
+ android:label="@string/blocked_numbers"
+ android:configChanges="orientation|screenSize|keyboardHidden"
+ android:theme="@style/Theme.Telecom.BlockedNumbers"
+ android:process=":ui"
+ android:exported="true">
<intent-filter>
- <action android:name="android.telecom.action.MANAGE_BLOCKED_NUMBERS" />
- <category android:name="android.intent.category.DEFAULT" />
+ <action android:name="android.telecom.action.MANAGE_BLOCKED_NUMBERS"/>
+ <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:name=".settings.CallBlockDisabledActivity"
- android:configChanges="keyboardHidden|orientation|screenSize"
- android:excludeFromRecents="true"
- android:launchMode="singleInstance"
- android:theme="@style/Theme.Telecomm.Transparent"
- android:process=":ui">
+ android:configChanges="keyboardHidden|orientation|screenSize"
+ android:excludeFromRecents="true"
+ android:launchMode="singleInstance"
+ android:theme="@style/Theme.Telecomm.Transparent"
+ android:process=":ui">
</activity>
<!-- 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. -->
+ 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. -->
<activity android:name=".components.UserCallActivity"
- android:label="@string/userCallActivityLabel"
- android:theme="@style/Theme.Telecomm.Transparent"
- android:permission="android.permission.CALL_PHONE"
- android:excludeFromRecents="true"
- android:process=":ui">
+ android:label="@string/userCallActivityLabel"
+ android:theme="@style/Theme.Telecomm.Transparent"
+ android:permission="android.permission.CALL_PHONE"
+ android:excludeFromRecents="true"
+ android:process=":ui"
+ android:exported="true">
<!-- 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" />
+ <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. -->
+ 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" />
+ <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" />
+ <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. -->
+ 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" />
+ <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>
@@ -167,30 +163,30 @@
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"
- android:targetActivity=".components.UserCallActivity"
- android:permission="android.permission.CALL_PRIVILEGED"
- android:process=":ui">
+ android:targetActivity=".components.UserCallActivity"
+ android:permission="android.permission.CALL_PRIVILEGED"
+ android:process=":ui">
<intent-filter android:priority="1000">
- <action android:name="android.intent.action.CALL_PRIVILEGED" />
- <category android:name="android.intent.category.DEFAULT" />
- <data android:scheme="tel" />
+ <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" />
+ 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" />
+ <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" />
+ <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>
@@ -200,123 +196,129 @@
1000 is used in all intent filters to prevent anything but the system from processing
this intent (b/8871505). -->
<!-- TODO: Is there really a notion of an emergency SIP number? If not, can
- that scheme be removed from this activity? -->
+ that scheme be removed from this activity? -->
<activity-alias android:name="EmergencyCallActivity"
- android:targetActivity=".components.UserCallActivity"
- android:permission="android.permission.CALL_PRIVILEGED"
- android:process=":ui">
+ android:targetActivity=".components.UserCallActivity"
+ android:permission="android.permission.CALL_PRIVILEGED"
+ android:process=":ui">
<intent-filter android:priority="1000">
- <action android:name="android.intent.action.CALL_EMERGENCY" />
- <category android:name="android.intent.category.DEFAULT" />
- <data android:scheme="tel" />
+ <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" />
+ 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" />
+ <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" />
+ <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>
- <receiver android:name=".components.TelecomBroadcastReceiver" android:exported="false"
- android:process="system">
+ <receiver android:name=".components.TelecomBroadcastReceiver"
+ android:exported="false"
+ android:process="system">
<intent-filter>
- <action android:name="com.android.server.telecom.ACTION_CLEAR_MISSED_CALLS" />
- <action android:name="com.android.server.telecom.ACTION_CALL_BACK_FROM_NOTIFICATION" />
- <action android:name="com.android.server.telecom.ACTION_SEND_SMS_FROM_NOTIFICATION" />
- <action android:name="com.android.server.telecom.ACTION_ANSWER_FROM_NOTIFICATION" />
- <action android:name="com.android.server.telecom.ACTION_REJECT_FROM_NOTIFICATION" />
- <action android:name="com.android.server.telecom.PROCEED_WITH_CALL" />
- <action android:name="com.android.server.telecom.CANCEL_CALL" />
- <action android:name="com.android.server.telecom.PROCEED_WITH_REDIRECTED_CALL" />
- <action android:name="com.android.server.telecom.CANCEL_REDIRECTED_CALL" />
+ <action android:name="com.android.server.telecom.ACTION_CLEAR_MISSED_CALLS"/>
+ <action android:name="com.android.server.telecom.ACTION_CALL_BACK_FROM_NOTIFICATION"/>
+ <action android:name="com.android.server.telecom.ACTION_SEND_SMS_FROM_NOTIFICATION"/>
+ <action android:name="com.android.server.telecom.ACTION_ANSWER_FROM_NOTIFICATION"/>
+ <action android:name="com.android.server.telecom.ACTION_REJECT_FROM_NOTIFICATION"/>
+ <action android:name="com.android.server.telecom.PROCEED_WITH_CALL"/>
+ <action android:name="com.android.server.telecom.CANCEL_CALL"/>
+ <action android:name="com.android.server.telecom.PROCEED_WITH_REDIRECTED_CALL"/>
+ <action android:name="com.android.server.telecom.CANCEL_REDIRECTED_CALL"/>
</intent-filter>
</receiver>
<receiver android:name=".components.AppUninstallBroadcastReceiver"
- android:process="system">
+ android:process="system"
+ android:exported="true">
<intent-filter>
- <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
- <data android:scheme="package" />
+ <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
+ <data android:scheme="package"/>
</intent-filter>
</receiver>
<activity android:name=".RespondViaSmsSettings"
- android:label="@string/respond_via_sms_setting_title"
- android:configChanges="orientation|screenSize|keyboardHidden"
- android:theme="@style/Theme.Telecom.DialerSettings"
- android:process=":ui">
+ android:label="@string/respond_via_sms_setting_title"
+ android:configChanges="orientation|screenSize|keyboardHidden"
+ android:theme="@style/Theme.Telecom.DialerSettings"
+ android:process=":ui"
+ android:exported="true">
<intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <action android:name="android.telecom.action.SHOW_RESPOND_VIA_SMS_SETTINGS" />
- <category android:name="android.intent.category.DEFAULT" />
+ <action android:name="android.intent.action.MAIN"/>
+ <action android:name="android.telecom.action.SHOW_RESPOND_VIA_SMS_SETTINGS"/>
+ <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<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">
+ android:label="@string/enable_account_preference_title"
+ android:configChanges="orientation|screenSize|keyboardHidden"
+ android:theme="@style/Theme.Telecom.DialerSettings"
+ android:process=":ui"
+ android:exported="true">
<intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.DEFAULT" />
+ <action android:name="android.intent.action.MAIN"/>
+ <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:name=".components.ErrorDialogActivity"
- android:configChanges="orientation|screenSize|keyboardHidden"
- android:excludeFromRecents="true"
- android:launchMode="singleInstance"
- android:theme="@style/Theme.Telecomm.Transparent"
- android:process=":ui">
+ android:configChanges="orientation|screenSize|keyboardHidden"
+ android:excludeFromRecents="true"
+ android:launchMode="singleInstance"
+ android:theme="@style/Theme.Telecomm.Transparent"
+ android:process=":ui">
</activity>
<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">
+ android:configChanges="orientation|screenSize|keyboardHidden"
+ android:excludeFromRecents="true"
+ android:launchMode="singleInstance"
+ android:theme="@style/Theme.Telecomm.Transparent"
+ android:process=":ui">
</activity>
<activity android:name=".ui.CallRedirectionTimeoutDialogActivity"
- android:configChanges="orientation|screenSize|keyboardHidden"
- android:excludeFromRecents="true"
- android:launchMode="singleInstance"
- android:theme="@style/Theme.Telecomm.Transparent"
- android:process=":ui">
+ android:configChanges="orientation|screenSize|keyboardHidden"
+ android:excludeFromRecents="true"
+ android:launchMode="singleInstance"
+ android:theme="@style/Theme.Telecomm.Transparent"
+ android:process=":ui">
</activity>
<activity android:name=".ui.TelecomDeveloperMenu"
- android:label="@string/developer_title"
- android:exported="false"
- android:process=":ui" />
+ android:label="@string/developer_title"
+ android:exported="false"
+ android:process=":ui"/>
<service android:name=".components.BluetoothPhoneService"
- android:singleUser="true"
- android:process="system">
+ android:singleUser="true"
+ android:process="system"
+ android:exported="true">
<intent-filter>
- <action android:name="android.bluetooth.IBluetoothHeadsetPhone" />
+ <action android:name="android.bluetooth.IBluetoothHeadsetPhone"/>
</intent-filter>
</service>
<service android:name=".components.TelecomService"
- android:singleUser="true"
- android:process="system">
+ android:singleUser="true"
+ android:process="system"
+ android:exported="true">
<intent-filter>
- <action android:name="android.telecom.ITelecomService" />
+ <action android:name="android.telecom.ITelecomService"/>
</intent-filter>
</service>