Home | History | Annotate | Download | only in Dialer
      1 <?xml version="1.0" encoding="utf-8"?>
      2 <!-- Copyright (C) 2006 The Android Open Source Project
      3 
      4      Licensed under the Apache License, Version 2.0 (the "License");
      5      you may not use this file except in compliance with the License.
      6      You may obtain a copy of the License at
      7 
      8           http://www.apache.org/licenses/LICENSE-2.0
      9 
     10      Unless required by applicable law or agreed to in writing, software
     11      distributed under the License is distributed on an "AS IS" BASIS,
     12      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13      See the License for the specific language governing permissions and
     14      limitations under the License.
     15 -->
     16 
     17 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     18     package="com.android.dialer"
     19     coreApp="true"
     20     android:versionCode="30000"
     21     android:versionName="3.00.00">
     22 
     23     <uses-sdk
     24         android:minSdkVersion="23"
     25         android:targetSdkVersion="23" />
     26 
     27     <uses-permission android:name="android.permission.CALL_PHONE" />
     28     <uses-permission android:name="android.permission.READ_CONTACTS" />
     29     <uses-permission android:name="android.permission.WRITE_CONTACTS" />
     30     <uses-permission android:name="android.permission.READ_CALL_LOG" />
     31     <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
     32     <uses-permission android:name="android.permission.READ_PROFILE" />
     33     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
     34     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
     35     <uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
     36     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     37     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     38     <uses-permission android:name="android.permission.INTERNET" />
     39     <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
     40     <uses-permission android:name="android.permission.NFC" />
     41     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     42     <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
     43     <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
     44     <uses-permission android:name="android.permission.WAKE_LOCK" />
     45     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     46     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
     47     <uses-permission android:name="android.permission.USE_CREDENTIALS" />
     48     <uses-permission android:name="android.permission.VIBRATE" />
     49     <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
     50     <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE" />
     51     <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" />
     52     <uses-permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL" />
     53     <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL" />
     54     <uses-permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK" />
     55     <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
     56     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
     57     <uses-permission android:name="android.permission.BROADCAST_STICKY" />
     58     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     59     <!-- This tells the activity manager to not delay any of our activity
     60      start requests, even if they happen immediately after the user
     61      presses home. -->
     62     <uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
     63 
     64     <application
     65         android:name="DialerApplication"
     66         android:label="@string/applicationLabel"
     67         android:icon="@mipmap/ic_launcher_phone"
     68         android:hardwareAccelerated="true"
     69         android:supportsRtl="true"
     70         android:backupAgent='com.android.dialer.DialerBackupAgent'
     71         android:usesCleartextTraffic="false">
     72 
     73         <meta-data android:name="com.google.android.backup.api_key"
     74             android:value="AEdPqrEAAAAIBXgtCEKQ6W0PXVnW-ZVia2KmlV2AxsTw3GjAeQ" />
     75 
     76         <!-- The entrance point for Phone UI.
     77              stateAlwaysHidden is set to suppress keyboard show up on
     78              dialpad screen. -->
     79         <activity android:name=".DialtactsActivity"
     80             android:label="@string/launcherActivityLabel"
     81             android:theme="@style/DialtactsActivityTheme"
     82             android:launchMode="singleTask"
     83             android:clearTaskOnLaunch="true"
     84             android:icon="@mipmap/ic_launcher_phone"
     85             android:windowSoftInputMode="stateAlwaysHidden|adjustNothing"
     86             android:resizeableActivity="true"
     87             android:directBootAware="true">
     88             <intent-filter>
     89                 <action android:name="android.intent.action.DIAL" />
     90                 <category android:name="android.intent.category.DEFAULT" />
     91                 <category android:name="android.intent.category.BROWSABLE" />
     92                 <data android:mimeType="vnd.android.cursor.item/phone" />
     93                 <data android:mimeType="vnd.android.cursor.item/person" />
     94             </intent-filter>
     95             <intent-filter>
     96                 <action android:name="android.intent.action.DIAL" />
     97                 <category android:name="android.intent.category.DEFAULT" />
     98                 <category android:name="android.intent.category.BROWSABLE" />
     99                 <data android:scheme="voicemail" />
    100             </intent-filter>
    101             <intent-filter>
    102                 <action android:name="android.intent.action.DIAL" />
    103                 <category android:name="android.intent.category.DEFAULT" />
    104             </intent-filter>
    105             <intent-filter>
    106                 <action android:name="android.intent.action.MAIN" />
    107                 <category android:name="android.intent.category.DEFAULT" />
    108                 <category android:name="android.intent.category.LAUNCHER" />
    109                 <category android:name="android.intent.category.BROWSABLE" />
    110             </intent-filter>
    111             <intent-filter>
    112                 <action android:name="android.intent.action.VIEW" />
    113                 <action android:name="android.intent.action.DIAL" />
    114                 <category android:name="android.intent.category.DEFAULT" />
    115                 <category android:name="android.intent.category.BROWSABLE" />
    116                 <data android:scheme="tel" />
    117             </intent-filter>
    118             <intent-filter>
    119                 <action android:name="android.intent.action.VIEW" />
    120                 <category android:name="android.intent.category.DEFAULT" />
    121                 <category android:name="android.intent.category.BROWSABLE" />
    122                 <data android:mimeType="vnd.android.cursor.dir/calls" />
    123             </intent-filter>
    124             <intent-filter>
    125                 <action android:name="android.intent.action.CALL_BUTTON" />
    126                 <category android:name="android.intent.category.DEFAULT" />
    127                 <category android:name="android.intent.category.BROWSABLE" />
    128             </intent-filter>
    129             <!-- This was never intended to be public, but is here for backward
    130                  compatibility.  Use Intent.ACTION_DIAL instead. -->
    131             <intent-filter>
    132                 <action android:name="com.android.phone.action.TOUCH_DIALER" />
    133                 <category android:name="android.intent.category.DEFAULT" />
    134                 <category android:name="android.intent.category.TAB" />
    135             </intent-filter>
    136             <intent-filter android:label="@string/callHistoryIconLabel">
    137                 <action android:name="com.android.phone.action.RECENT_CALLS" />
    138                 <category android:name="android.intent.category.DEFAULT" />
    139                 <category android:name="android.intent.category.TAB" />
    140             </intent-filter>
    141             <meta-data
    142                 android:name="com.android.keyguard.layout"
    143                 android:resource="@layout/keyguard_preview" />
    144         </activity>
    145 
    146         <activity android:name="com.android.dialer.settings.DialerSettingsActivity"
    147               android:label="@string/dialer_settings_label"
    148               android:parentActivityName="com.android.dialer.DialtactsActivity"
    149               android:theme="@style/SettingsStyle"
    150               android:exported="false">
    151         </activity>
    152 
    153         <activity android:name="com.android.dialer.filterednumber.BlockedNumbersSettingsActivity"
    154             android:label="@string/manage_blocked_numbers_label"
    155             android:parentActivityName="com.android.dialer.settings.DialerSettingsActivity"
    156             android:theme="@style/ManageBlockedNumbersStyle"
    157             android:exported="false">
    158         </activity>
    159 
    160         <activity android:name="com.android.dialer.voicemail.VoicemailArchiveActivity"
    161             android:label="@string/voicemail_archive_activity_title"
    162             android:theme="@style/DialtactsThemeWithoutActionBarOverlay">
    163         </activity>
    164 
    165         <activity android:name="com.android.dialer.calllog.CallLogActivity"
    166             android:label="@string/call_log_activity_title"
    167             android:theme="@style/DialtactsThemeWithoutActionBarOverlay"
    168             android:icon="@mipmap/ic_launcher_phone">
    169         </activity>
    170 
    171         <activity android:name="com.android.dialer.CallDetailActivity"
    172             android:label="@string/callDetailTitle"
    173             android:theme="@style/CallDetailActivityTheme"
    174             android:icon="@mipmap/ic_launcher_phone">
    175             <intent-filter>
    176                 <action android:name="android.intent.action.VIEW"/>
    177                 <category android:name="android.intent.category.DEFAULT"/>
    178                 <data android:mimeType="vnd.android.cursor.item/calls"/>
    179             </intent-filter>
    180         </activity>
    181 
    182         <activity android:name="com.android.contacts.common.test.FragmentTestActivity">
    183             <intent-filter>
    184                 <category android:name="android.intent.category.TEST"/>
    185             </intent-filter>
    186         </activity>
    187 
    188         <activity android:name="com.android.contacts.common.dialog.CallSubjectDialog"
    189                   android:theme="@style/Theme.CallSubjectDialogTheme"
    190                   android:windowSoftInputMode="stateVisible|adjustResize">
    191             <intent-filter>
    192                 <action android:name="android.intent.action.VIEW"/>
    193             </intent-filter>
    194         </activity>
    195 
    196         <!-- Backwards compatibility: "Phone" from Gingerbread and earlier -->
    197         <activity-alias android:name="DialtactsActivity"
    198             android:targetActivity=".DialtactsActivity"
    199             android:exported="true"
    200         />
    201 
    202         <!-- Backwards compatibility: "Call log" from Gingerbread and earlier -->
    203         <activity-alias android:name="RecentCallsListActivity"
    204             android:targetActivity=".DialtactsActivity"
    205             android:exported="true"
    206         />
    207 
    208         <!-- Backwards compatibility: "Call log" from ICS -->
    209         <activity-alias android:name=".activities.CallLogActivity"
    210             android:targetActivity=".DialtactsActivity"
    211             android:exported="true"
    212         />
    213 
    214         <!-- Used to filter contacts list by account -->
    215         <activity
    216             android:name="com.android.contacts.common.list.AccountFilterActivity"
    217             android:label="@string/activity_title_contacts_filter"
    218             android:theme="@style/ContactListFilterTheme"/>
    219 
    220         <!-- Used to select display and sync groups -->
    221         <activity
    222             android:name="com.android.contacts.common.list.CustomContactListFilterActivity"
    223             android:label="@string/custom_list_filter"
    224             android:theme="@style/ContactListFilterTheme"/>
    225 
    226         <activity
    227             android:name="com.android.contacts.common.activity.RequestImportVCardPermissionsActivity"
    228             android:label="@string/launcherActivityLabel"
    229             android:theme="@style/BackgroundOnlyTheme"
    230             android:exported="false"/>
    231 
    232         <!-- vCard related -->
    233         <activity android:name="com.android.contacts.common.vcard.ImportVCardActivity"
    234                   android:configChanges="orientation|screenSize|keyboardHidden"
    235                   android:theme="@style/BackgroundOnlyTheme">
    236         </activity>
    237 
    238         <activity android:name="com.android.contacts.common.vcard.NfcImportVCardActivity"
    239                   android:configChanges="orientation|screenSize|keyboardHidden"
    240                   android:theme="@style/BackgroundOnlyTheme">
    241         </activity>
    242 
    243         <activity android:name="com.android.contacts.common.vcard.CancelActivity"
    244                   android:theme="@style/BackgroundOnlyTheme"/>
    245 
    246         <activity android:name="com.android.contacts.common.vcard.SelectAccountActivity"
    247                   android:theme="@style/BackgroundOnlyTheme"/>
    248 
    249         <activity android:name="com.android.contacts.common.vcard.ExportVCardActivity"
    250                   android:theme="@style/BackgroundOnlyTheme"/>
    251 
    252         <activity android:name="com.android.contacts.common.vcard.ShareVCardActivity"
    253                   android:theme="@style/BackgroundOnlyTheme" />
    254 
    255         <service
    256             android:name="com.android.contacts.common.vcard.VCardService"
    257             android:exported="false"/>
    258         <!-- end vCard related -->
    259 
    260         <receiver android:name=".calllog.CallLogReceiver">
    261             <intent-filter>
    262                 <action android:name="android.intent.action.NEW_VOICEMAIL" />
    263                 <data
    264                     android:scheme="content"
    265                     android:host="com.android.voicemail"
    266                     android:mimeType="vnd.android.cursor.item/voicemail"
    267                 />
    268             </intent-filter>
    269             <intent-filter android:priority="100">
    270                  <action android:name="android.intent.action.BOOT_COMPLETED"/>
    271             </intent-filter>
    272         </receiver>
    273 
    274         <receiver android:name=".interactions.UndemoteOutgoingCallReceiver">
    275             <intent-filter>
    276                 <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
    277             </intent-filter>
    278         </receiver>
    279 
    280         <service
    281             android:name=".calllog.CallLogNotificationsService"
    282             android:directBootAware="true"
    283             android:exported="false"
    284         />
    285 
    286         <receiver android:name=".calllog.MissedCallNotificationReceiver"
    287             android:directBootAware="true">
    288             <intent-filter>
    289                 <action android:name="android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION" />
    290             </intent-filter>
    291         </receiver>
    292 
    293         <!-- Service to update a contact -->
    294         <service
    295             android:name=".contact.ContactUpdateService"
    296             android:exported="false" />
    297 
    298         <!-- Broadcast receiver that passively listens to location updates -->
    299         <receiver android:name="com.android.contacts.common.location.CountryDetector$LocationChangedReceiver"/>
    300 
    301         <!-- IntentService to update the user's current country -->
    302         <service android:name="com.android.contacts.common.location.UpdateCountryService"
    303             android:exported="false"/>
    304 
    305         <!-- Main in-call UI activity.  This is never launched directly
    306              from outside the phone app; instead, it's either launched by
    307              the OutgoingCallBroadcaster (for outgoing calls), or as the
    308              fullScreenIntent of a notification (for incoming calls.) -->
    309         <activity android:name="com.android.incallui.InCallActivity"
    310                   android:theme="@style/Theme.InCallScreen"
    311                   android:label="@string/phoneAppLabel"
    312                   android:excludeFromRecents="true"
    313                   android:launchMode="singleInstance"
    314                   android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboardHidden"
    315                   android:exported="false"
    316                   android:screenOrientation="nosensor"
    317                   android:directBootAware="true"
    318                   android:resizeableActivity="true">
    319         </activity>
    320 
    321         <service android:name="com.android.incallui.InCallServiceImpl"
    322                  android:permission="android.permission.BIND_INCALL_SERVICE"
    323                  android:directBootAware="true" >
    324             <meta-data android:name="android.telecom.IN_CALL_SERVICE_UI" android:value="true" />
    325             <meta-data android:name="android.telecom.IN_CALL_SERVICE_RINGING"
    326                 android:value="false"/>
    327             <intent-filter>
    328                 <action android:name="android.telecom.InCallService"/>
    329             </intent-filter>
    330         </service>
    331 
    332         <!-- BroadcastReceiver for receiving Intents from Notification mechanism. -->
    333         <receiver android:name="com.android.incallui.NotificationBroadcastReceiver"
    334             android:directBootAware="true"
    335             android:exported="false" />
    336 
    337         <provider
    338             android:name=".database.FilteredNumberProvider"
    339             android:authorities="com.android.dialer.database.filterednumberprovider"
    340             android:exported="false"
    341             android:multiprocess="false"
    342             />
    343 
    344         <provider
    345             android:name="android.support.v4.content.FileProvider"
    346             android:authorities="@string/contacts_file_provider_authority"
    347             android:grantUriPermissions="true"
    348             android:exported="false">
    349             <meta-data
    350                 android:name="android.support.FILE_PROVIDER_PATHS"
    351                 android:resource="@xml/file_paths" />
    352         </provider>
    353 
    354         <provider
    355             android:name=".database.VoicemailArchiveProvider"
    356             android:authorities="com.android.dialer.database.voicemailarchiveprovider"
    357             android:exported="false"
    358             android:multiprocess="false"
    359             />
    360     </application>
    361 </manifest>
    362