Xml文件  |  635行  |  34.91 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"
>

    <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.DATA_STALL_DETECTED" />
    <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.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
    <protected-broadcast android:name= "com.android.internal.telephony.ACTION_LINE1_NUMBER_ERROR_DETECTED" />
    <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.ACTION_RCS_SERVICE_AVAILABLE" />
    <protected-broadcast android:name= "com.android.ims.ACTION_RCS_SERVICE_UNAVAILABLE" />
    <protected-broadcast android:name= "com.android.ims.ACTION_RCS_SERVICE_DIED" />
    <protected-broadcast android:name= "com.android.ims.ACTION_PRESENCE_CHANGED" />
    <protected-broadcast android:name= "com.android.ims.ACTION_PUBLISH_STATUS_CHANGED" />
    <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" />
    <protected-broadcast android:name= "com.android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO" />
    <protected-broadcast android:name= "com.android.internal.telephony.ACTION_CARRIER_CERTIFICATE_DOWNLOAD" />
    <protected-broadcast android:name= "com.android.internal.telephony.OPEN_DEFAULT_SMS_APP" />
    <protected-broadcast android:name= "android.telephony.action.SIM_CARD_STATE_CHANGED" />
    <protected-broadcast android:name= "android.telephony.action.SIM_APPLICATION_STATE_CHANGED" />
    <protected-broadcast android:name= "android.telephony.action.SIM_SLOT_STATUS_CHANGED" />
    <protected-broadcast android:name= "android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED" />
    <protected-broadcast android:name= "android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED" />
    <protected-broadcast android:name= "android.telephony.action.NETWORK_COUNTRY_CHANGED" />
    <protected-broadcast android:name= "android.telephony.action.PRIMARY_SUBSCRIPTION_LIST_CHANGED" />

    <!-- For Vendor Debugging in Telephony -->
    <protected-broadcast android:name="android.telephony.action.ANOMALY_REPORTED" />

    <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.DOWNLOAD_WITHOUT_NOTIFICATION" />
    <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.STATUS_BAR_SERVICE" />
    <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.MANAGE_APP_OPS_MODES" />
    <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.BIND_EUICC_SERVICE" />
    <uses-permission android:name="com.android.permission.BIND_TELEPHONY_NETWORK_SERVICE" />
    <uses-permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS" />
    <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" />
    <uses-permission android:name="android.permission.NETWORK_SETTINGS" />

    <!-- 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" />
    <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
    <uses-permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY" />
    <uses-permission android:name="android.permission.BIND_TELEPHONY_DATA_SERVICE" />
    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
    <uses-permission android:name="android.permission.READ_PRECISE_PHONE_STATE" />
    <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />

    <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"
            android:resizeableActivity="false">
            <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="com.android.internal.telephony.uicc.InstallCarrierAppTrampolineActivity"
                  android:theme="@android:style/Theme.Translucent.NoTitleBar"
                  android:exported="false"/>

        <!-- "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.NETWORK_OPERATOR_SETTINGS" />
                <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 -->
        <!-- "Choose network" screen. Used only when the Automatically
             select network turned off-->
        <activity android:name="NetworkSelectSettingActivity"
            android:label="@string/choose_network_title"
            android:theme="@style/NetworkOperatorsSettingsTheme"
            android:configChanges="orientation|screenSize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

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

        <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/DialerSettingsLight">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>

        <activity android:name="GsmUmtsCallBarringOptions"
                android:label="@string/labelCallBarring"
                android:configChanges="orientation|screenSize|keyboardHidden"
                android:theme="@style/CallSettingsWithoutDividerTheme">
            <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/DialerSettingsLight">
            <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/DialerSettingsLight">
            <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/DialerSettingsLight">
            <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"
            android:permission="android.permission.MODIFY_PHONE_STATE">
            <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>

        <!-- Handler for EuiccManager's public-facing intents. -->
        <activity android:name=".euicc.EuiccUiDispatcherActivity"
            android:theme="@android:style/Theme.NoDisplay"
            android:permission="android.permission.MODIFY_PHONE_STATE">
            <!-- Max out priority to ensure nobody else will handle these intents. -->
            <intent-filter android:priority="1000">
                <action android:name=
                            "android.telephony.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS" />
                <action android:name=
                            "android.telephony.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <!--
            Handler for EuiccManager's resolution intents. These are locked down so that only
            privileged processes can start them, which means we can trust the Intent used to start
            it (which contains a description of the next step to perform after resolution).
        -->
        <activity android:name=".euicc.EuiccResolutionUiDispatcherActivity"
            android:permission="android.permission.CALL_PRIVILEGED">
            <!-- Max out priority to ensure nobody else will handle these intents. -->
            <intent-filter android:priority="1000">
                <action android:name=
                            "android.telephony.euicc.action.RESOLVE_ERROR" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <!--
            Handler for EuiccManager's privileged action intents. These are locked down so that only
            privileged processes can start them.
        -->
        <activity android:name=".euicc.EuiccPrivilegedActionUiDispatcherActivity"
                  android:theme="@android:style/Theme.NoDisplay"
                  android:permission="android.permission.CALL_PRIVILEGED">
            <!-- Max out priority to ensure nobody else will handle these intents. -->
            <intent-filter android:priority="1000">
                <action android:name=
                            "android.telephony.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED" />
                <action android:name=
                            "android.telephony.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED" />
                <action android:name=
                            "android.telephony.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <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.SipIncomingCallReceiver">
            <intent-filter>
                <action android:name="com.android.phone.SIP_INCOMING_CALL" />
            </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="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|screenLayout"
            android:screenOrientation="portrait"
            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>

        <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>

        <receiver
            android:name="com.android.internal.telephony.uicc.ShowInstallAppNotificationReceiver"
            android:exported="false"/>

        <activity
            android:name="com.android.phone.settings.PickSmsSubscriptionActivity"
            android:exported="false"
            android:excludeFromRecents="true"
            android:launchMode="singleTop"
            android:configChanges="orientation|screenSize|keyboardHidden"
            android:theme="@style/Theme.Transparent"/>

        <service
            android:name="com.android.phone.vvm.RemoteVvmTaskManager"
            android:exported="false"/>
        <service android:name="com.android.internal.telephony.CellularNetworkService"
            android:permission="android.permission.BIND_TELEPHONY_NETWORK_SERVICE" >
            <intent-filter>
                <action android:name="android.telephony.NetworkService" />
            </intent-filter>
        </service>
        <service android:name="com.android.internal.telephony.dataconnection.CellularDataService"
            android:permission="android.permission.BIND_TELEPHONY_DATA_SERVICE" >
            <intent-filter>
                <action android:name="android.telephony.data.DataService" />
            </intent-filter>
        </service>
    </application>
</manifest>