Xml文件  |  636行  |  33.84 KB

<?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"
        package="com.android.phone"
        coreApp="true"
        android:sharedUserId="android.uid.phone"
        android:sharedUserLabel="@string/phoneAppLabel"
>

    <uses-sdk
        android:minSdkVersion="23"
        android:targetSdkVersion="23" />

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

    <protected-broadcast android:name="android.telecom.action.TTY_PREFERRED_MODE_CHANGED" />
    <protected-broadcast android:name="android.telecom.action.CURRENT_TTY_MODE_CHANGED" />
    <protected-broadcast android:name="android.intent.action.SERVICE_STATE" />
    <protected-broadcast android:name="android.intent.action.RADIO_TECHNOLOGY" />
    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED" />
    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALL_STATE_CHANGED" />
    <protected-broadcast android:name="android.intent.action.SIG_STR" />
    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
    <protected-broadcast android:name="android.intent.action.DATA_CONNECTION_FAILED" />
    <protected-broadcast android:name="android.intent.action.SIM_STATE_CHANGED" />
    <protected-broadcast android:name="android.intent.action.NETWORK_SET_TIME" />
    <protected-broadcast android:name="android.intent.action.NETWORK_SET_TIMEZONE" />
    <protected-broadcast android:name="com.android.internal.intent.action.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS" />
    <protected-broadcast android:name="android.intent.action.ACTION_MDN_STATE_CHANGED" />
    <protected-broadcast android:name="android.provider.Telephony.SPN_STRINGS_UPDATED" />
    <protected-broadcast android:name="android.provider.Telephony.SIM_FULL" />
    <protected-broadcast android:name="com.android.internal.telephony.data-restart-trysetup" />
    <protected-broadcast android:name="com.android.internal.telephony.data-stall" />
    <protected-broadcast android:name="android.intent.action.DATA_SMS_RECEIVED" />
    <protected-broadcast android:name="android.provider.Telephony.SMS_RECEIVED" />
    <protected-broadcast android:name="android.provider.Telephony.SMS_DELIVER" />
    <protected-broadcast android:name="android.provider.Telephony.SMS_REJECTED" />
    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
    <protected-broadcast android:name="android.provider.Telephony.SMS_CB_RECEIVED" />
    <protected-broadcast android:name="android.provider.Telephony.SMS_EMERGENCY_CB_RECEIVED" />
    <protected-broadcast android:name="android.provider.Telephony.SECRET_CODE" />
    <protected-broadcast android:name= "com.android.internal.stk.command" />
    <protected-broadcast android:name= "com.android.internal.stk.session_end" />
    <protected-broadcast android:name= "com.android.internal.stk.icc_status_change" />
    <protected-broadcast android:name= "com.android.internal.stk.alpha_notify" />
    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" />
    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE" />
    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_RESET" />
    <protected-broadcast android:name= "com.android.internal.provider.action.VOICEMAIL_SMS_RECEIVED" />
    <protected-broadcast android:name= "com.android.intent.isim_refresh" />
    <protected-broadcast android:name= "com.android.ims.IMS_SERVICE_UP" />
    <protected-broadcast android:name= "com.android.ims.IMS_SERVICE_DOWN" />
    <protected-broadcast android:name= "com.android.ims.IMS_INCOMING_CALL" />
    <protected-broadcast android:name= "com.android.ims.internal.uce.UCE_SERVICE_UP" />
    <protected-broadcast android:name= "com.android.ims.internal.uce.UCE_SERVICE_DOWN" />
    <protected-broadcast android:name= "com.android.imsconnection.DISCONNECTED" />
    <protected-broadcast android:name= "com.android.intent.action.IMS_FEATURE_CHANGED" />
    <protected-broadcast android:name= "com.android.intent.action.IMS_CONFIG_CHANGED" />
    <protected-broadcast android:name= "com.android.ims.REGISTRATION_ERROR" />
    <protected-broadcast android:name= "com.android.phone.vvm.omtp.sms.REQUEST_SENT" />
    <protected-broadcast android:name= "com.android.phone.vvm.ACTION_VISUAL_VOICEMAIL_SERVICE_EVENT" />
    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_VVM_PACKAGE_INSTALLED" />

    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
    <!-- TELEPHONY_SECRET_CODE used to be sent by the Dialer app, but is now sent by
         the phone process through an API added in O. Since the broadcast was unprotected prior to
         O, apps may have required this permission (which only Dialer has) in their receivers.
         So, declare this permission here for backwards compatibility so the phone process can send
         the broadcasts to those same receivers. -->
    <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.READ_CALL_LOG" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.REORDER_TASKS" />
    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.STATUS_BAR" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.WRITE_SMS" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE" />
    <uses-permission android:name="android.permission.SET_TIME" />
    <uses-permission android:name="android.permission.SET_TIME_ZONE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <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.ACCESS_IMS_CALL_SERVICE" />
    <uses-permission android:name="android.permission.DEVICE_POWER" />
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
    <uses-permission android:name="android.permission.BROADCAST_SMS"/>
    <uses-permission android:name="android.permission.BROADCAST_WAP_PUSH"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.SHUTDOWN" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.PERFORM_CDMA_PROVISIONING" />
    <uses-permission android:name="android.permission.USE_SIP" />
    <uses-permission android:name="android.permission.REBOOT" />
    <uses-permission android:name="android.permission.UPDATE_LOCK" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
    <uses-permission android:name="com.android.smspush.WAPPUSH_MANAGER_BIND" />
    <uses-permission android:name="android.permission.MANAGE_USERS" />
    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
    <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" />
    <uses-permission android:name="android.permission.READ_SEARCH_INDEXABLES" />
    <uses-permission android:name="android.permission.DUMP" />
    <uses-permission android:name="android.permission.REGISTER_CALL_PROVIDER" />
    <uses-permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION" />
    <uses-permission android:name="android.permission.BIND_IMS_SERVICE" />
    <uses-permission android:name="android.permission.BIND_CARRIER_SERVICES" />
    <!-- BIND_CARRIER_MESSAGING_SERVICE has been deprecated in favor of BIND_CARRIER_SERVICES. -->
    <uses-permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE" />
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" />
    <uses-permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL" />
    <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL" />
    <uses-permission android:name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"/>
    <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
    <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
    <uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" />
    <!-- Needed to block messages. -->
    <uses-permission android:name="android.permission.READ_BLOCKED_NUMBERS" />
    <!-- Needed for emergency contact notification. -->
    <uses-permission android:name="android.permission.WRITE_BLOCKED_NUMBERS" />

    <!-- This tells the activity manager to not delay any of our activity
         start requests, even if they happen immediately after the user
         presses home. -->
    <uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
    <uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />

    <application android:name="PhoneApp"
            android:persistent="true"
            android:label="@string/phoneAppLabel"
            android:icon="@mipmap/ic_launcher_phone"
            android:allowBackup="false"
            android:supportsRtl="true"
            android:usesCleartextTraffic="true"
            android:defaultToDeviceProtectedStorage="true"
            android:directBootAware="true">

        <provider android:name="IccProvider"
                android:authorities="icc"
                android:multiprocess="true"
                android:exported="true"
                android:readPermission="android.permission.READ_CONTACTS"
                android:writePermission="android.permission.WRITE_CONTACTS" />

        <!-- Dialer UI that only allows emergency calls -->
        <activity android:name="EmergencyDialer"
            android:label="@string/emergencyDialerIconLabel"
            android:theme="@style/EmergencyDialerTheme"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="com.android.phone.EmergencyDialer.DIAL" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="com.android.phone.EmergencyDialer.DIAL" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="tel" />
            </intent-filter>
        </activity>

        <activity android:name="ADNList" />

        <activity android:name="SimContacts"
            android:label="@string/simContacts_title"
            android:theme="@style/SimImportTheme"
            android:screenOrientation="portrait"
            android:icon="@mipmap/ic_launcher_contacts">

            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android.cursor.item/sim-contact" />
            </intent-filter>
        </activity>

        <activity android:name="com.android.phone.settings.fdn.FdnList"
                android:label="@string/fdnListLabel"
                android:theme="@style/DialerSettingsLight">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android.cursor.item/sim-contact" />
            </intent-filter>
        </activity>

        <activity android:name="OutgoingCallBroadcaster"
                android:enabled="false"
                android:theme="@style/OutgoingCallBroadcasterTheme"
                android:permission="android.permission.CALL_PHONE"
                android:screenOrientation="nosensor"
                android:configChanges="orientation|screenSize|keyboardHidden"
                android:excludeFromRecents="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" />
            </intent-filter>
            <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>
            <intent-filter>
                <action android:name="android.intent.action.CALL" />
                <category android:name="android.intent.category.DEFAULT" />
                <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>

        <activity-alias android:name="EmergencyOutgoingCallBroadcaster"
                android:enabled="false"
                android:targetActivity="OutgoingCallBroadcaster"
                android:permission="android.permission.CALL_PRIVILEGED">
            <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:icon="@drawable/ic_launcher_sip_call"
                    android:priority="1000">
                <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" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android.cursor.item/phone" />
                <data android:mimeType="vnd.android.cursor.item/person" />
            </intent-filter>
        </activity-alias>

        <activity-alias android:name="PrivilegedOutgoingCallBroadcaster"
                android:enabled="false"
                android:targetActivity="OutgoingCallBroadcaster"
                android:screenOrientation="nosensor"
                android:permission="android.permission.CALL_PRIVILEGED">
            <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:icon="@drawable/ic_launcher_sip_call"
                    android:priority="1000">
                <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" />
                <category android:name="android.intent.category.DEFAULT" />
                <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="ProcessOutgoingCallTest" android:exported="false"
            android:enabled="false">
            <intent-filter android:priority="1">
                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>

        <!-- "Mobile network settings" screen, used on both
             non-voice-capable tablets and regular phone devices. -->
        <activity android:name="MobileNetworkSettings"
            android:label="@string/network_settings_title"
            android:theme="@style/NetworkOperatorsSettingsTheme">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.settings.DATA_ROAMING_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity-alias android:name="Settings"
            android:targetActivity="MobileNetworkSettings" />

        <!-- networks setting -->
        <!-- service to handle network query requests sent to RIL -->
        <service android:name="NetworkQueryService" />

        <activity android:name="NetworkSetting"
                android:label="@string/networks"
                android:configChanges="orientation|screenSize|keyboardHidden"
                android:theme="@style/NetworkOperatorsSettingsTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.settings.NETWORK_OPERATOR_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity android:name="GsmUmtsCallOptions"
                android:label="@string/gsm_umts_options"
                android:theme="@style/DialerSettingsLight">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>

        <activity android:name="CdmaCallOptions"
                android:label="@string/cdma_options"
                android:theme="@style/DialerSettingsLight">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>

        <activity android:name="GsmUmtsCallForwardOptions"
                android:label="@string/labelCF"
                android:configChanges="orientation|screenSize|keyboardHidden"
                android:theme="@style/SettingsLight">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>

        <activity android:name="GsmUmtsAdditionalCallOptions"
                android:label="@string/labelGSMMore"
                android:configChanges="orientation|screenSize|keyboardHidden"
                android:theme="@style/SettingsLight">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>

        <!-- fdn setting -->
        <activity android:name="com.android.phone.settings.fdn.FdnSetting"
                android:label="@string/fdn"
                android:theme="@style/DialerSettingsLight">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>

        <!-- SIM PIN setting -->
        <activity android:name="EnableIccPinScreen"
                android:label="@string/enable_pin"
                android:theme="@style/SettingsLight">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
            </intent-filter>
        </activity>

        <activity android:name="ChangeIccPinScreen"
                android:label="@string/change_pin"
                android:theme="@style/SettingsLight">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
            </intent-filter>
        </activity>

        <activity android:name="com.android.phone.settings.fdn.GetPin2Screen"
                android:label="@string/get_pin2"
                android:theme="@style/DialerSettingsLight"
                android:windowSoftInputMode="stateVisible">
        </activity>

        <activity android:name="com.android.phone.settings.fdn.EditFdnContactScreen"
                android:theme="@style/DialerSettingsLight"
                android:windowSoftInputMode="stateVisible">
        </activity>

        <activity android:name="com.android.phone.settings.fdn.DeleteFdnContactScreen"
                android:theme="@style/DialerSettingsLight"
                android:label="@string/delete_fdn_contact">
        </activity>

        <!-- "Call settings" UI, used only on voice-capable phone devices. -->
        <activity android:name="CallFeaturesSetting"
                android:label="@string/call_settings"
                android:configChanges="orientation|screenSize|keyboardHidden"
                android:theme="@style/DialerSettingsLight">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.telecom.action.SHOW_CALL_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <!-- Activation service that trigger OTASP sim provisioning -->
        <service android:name=".otasp.OtaspActivationService" android:launchMode="singleInstance"
                 androidprv:systemUserOnly="true">
            <intent-filter>
                <action android:name="android.service.simActivation.SimActivationService" />
            </intent-filter>
        </service>

        <receiver android:name=".otasp.OtaspSimStateReceiver" androidprv:systemUserOnly="true"
                  android:exported ="false">
            <intent-filter>
                <action android:name="android.telephony.action.CARRIER_CONFIG_CHANGED" />
            </intent-filter>
        </receiver>

        <!-- "Accessibility" settings UI. Referenced by Dialer application. -->
        <activity android:name="com.android.phone.settings.AccessibilitySettingsActivity"
                android:label="@string/accessibility_settings_activity_title"
                android:theme="@style/DialerSettingsLight">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <!-- CDMA Emergency Callback Mode -->
        <service android:name="EmergencyCallbackModeService">
        </service>

        <!-- service to dump telephony information -->
        <service android:name="com.android.phone.TelephonyDebugService"
                 android:permission="android.permission.DUMP">
            <intent-filter>
                <action android:name="com.android.phone.TelephonyDebugService" />
            </intent-filter>
        </service>

        <activity android:name="EmergencyCallbackModeExitDialog"
            android:excludeFromRecents="true"
            android:label="@string/ecm_exit_dialog"
            android:launchMode="singleTop"
            android:theme="@android:style/Theme.Translucent.NoTitleBar">
            <intent-filter>
                <action android:name="com.android.phone.action.ACTION_SHOW_ECM_EXIT_DIALOG" />
                <action android:name="com.android.internal.intent.action.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <!-- Start SIP -->
        <service android:name="com.android.services.telephony.sip.SipConnectionService"
                 android:label="@string/sip_connection_service_label"
                 android:singleUser="true"
                 android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE" >
            <intent-filter>
                <action android:name="android.telecom.ConnectionService" />
            </intent-filter>
        </service>

        <receiver android:name="com.android.services.telephony.sip.SipBroadcastReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.net.sip.SIP_SERVICE_UP" />
                <action android:name="com.android.phone.SIP_INCOMING_CALL" />
                <action android:name="com.android.phone.SIP_REMOVE_PHONE" />
                <action android:name="com.android.phone.SIP_CALL_OPTION_CHANGED" />
            </intent-filter>
        </receiver>

        <activity android:name="com.android.services.telephony.sip.SipPhoneAccountSettingsActivity"
                android:theme="@android:style/Theme.NoDisplay"
                android:excludeFromRecents="true">
            <intent-filter>
                <action android:name="android.telecom.action.CONFIGURE_PHONE_ACCOUNT" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity android:label="Sip Settings"
                  android:name="com.android.services.telephony.sip.SipSettings"
                  android:theme="@style/DialerSettingsLight"
                  android:launchMode="singleTop"
                  android:configChanges="orientation|screenSize|keyboardHidden"
                  android:uiOptions="splitActionBarWhenNarrow"
                  android:parentActivityName="com.android.phone.CallFeaturesSetting" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.net.sip.NOTIFY" />
            </intent-filter>
        </activity>
        <activity android:name="com.android.services.telephony.sip.SipEditor"
                android:theme="@style/DialerSettingsLight"
                android:configChanges="orientation|screenSize|keyboardHidden"
                android:uiOptions="splitActionBarWhenNarrow">
        </activity>

        <!-- End SIP -->

        <activity android:name="ErrorDialogActivity"
                android:configChanges="orientation|screenSize|keyboardHidden"
                android:excludeFromRecents="true"
                android:launchMode="singleInstance"
                android:theme="@style/Empty">
        </activity>

        <activity android:name="MMIDialogActivity"
                android:configChanges="orientation|screenSize|keyboardHidden"
                android:excludeFromRecents="true"
                android:launchMode="singleInstance"
                android:theme="@style/Empty">
        </activity>

        <activity android:name="com.android.phone.settings.PhoneAccountSettingsActivity"
            android:label="@string/phone_accounts"
            android:theme="@style/DialerSettingsLight">
            <intent-filter>
                <action android:name="android.telecom.action.CHANGE_PHONE_ACCOUNTS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity android:name="com.android.phone.settings.VoicemailSettingsActivity"
            android:label="@string/voicemail"
            android:configChanges="orientation|screenSize|keyboardHidden"
            android:theme="@style/DialerSettingsLight">
            <intent-filter >
                <!-- DO NOT RENAME. There are existing apps which use this string. -->
                <action android:name="com.android.phone.CallFeaturesSetting.ADD_VOICEMAIL" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.telephony.action.CONFIGURE_VOICEMAIL" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <!-- Telecom integration -->
        <service
                android:singleUser="true"
                android:name="com.android.services.telephony.TelephonyConnectionService"
                android:label="@string/pstn_connection_service_label"
                android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE" >
            <intent-filter>
                <action android:name="android.telecom.ConnectionService" />
            </intent-filter>
        </service>
        <provider
                android:name="PhoneSearchIndexablesProvider"
                android:authorities="com.android.phone"
                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>

        <receiver
          android:name="com.android.phone.vvm.VvmSmsReceiver"
            android:exported="false"
            androidprv:systemUserOnly="true">
            <intent-filter>
                <action android:name="com.android.internal.provider.action.VOICEMAIL_SMS_RECEIVED"/>
            </intent-filter>
        </receiver>

        <receiver
            android:name="com.android.phone.vvm.VvmSimStateTracker"
            android:exported="false"
            androidprv:systemUserOnly="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <action android:name="android.telephony.action.CARRIER_CONFIG_CHANGED"/>
                <action android:name="android.intent.action.SIM_STATE_CHANGED"/>
            </intent-filter>
        </receiver>

        <service
            android:name="com.android.phone.vvm.RemoteVvmTaskManager"
            android:exported="false"/>
    </application>
</manifest>