<!-- Copyright (C) 2016 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"
  coreApp="true"
  package="com.android.dialer"
  android:versionCode="2900000"
  android:versionName="23.0">

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

  <uses-feature
      android:name="android.hardware.telephony"
      android:required="false" />

  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.permission.BLUETOOTH" />
  <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
  <uses-permission android:name="android.permission.CALL_PHONE"/>
  <uses-permission android:name="android.permission.READ_CONTACTS"/>
  <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
  <uses-permission android:name="android.permission.READ_CALL_LOG"/>
  <uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
  <uses-permission android:name="android.permission.READ_PROFILE"/>
  <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
  <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
  <uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
  <uses-permission android:name="android.permission.NFC"/>
  <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
  <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
  <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
  <uses-permission android:name="android.permission.WAKE_LOCK"/>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
  <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
  <uses-permission android:name="android.permission.VIBRATE"/>
  <uses-permission android:name="android.permission.BLUETOOTH"/>
  <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
  <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.ALLOW_ANY_CODEC_FOR_PLAYBACK"/>
  <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
  <uses-permission android:name="android.permission.BROADCAST_STICKY"/>
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
  <uses-permission android:name="android.permission.SEND_SMS"/>
  <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
  <uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>
  <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT"/>
  <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>

  <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
  <!-- We use this to disable the status bar buttons of home, back and recent
  during an incoming call. By doing so this allows us to not show the user
  is viewing the activity in full screen alert, on a fresh system/factory
  reset state of the app. -->
  <uses-permission android:name="android.permission.STATUS_BAR"/>
  <uses-permission android:name="android.permission.CAMERA"/>

  <!-- 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"/>

  <!-- Used for sending PendingIntents to dynamically registered receivers -->
  <permission android:name="com.android.dialer.permission.DIALER_ORIGIN"
    android:protectionLevel="signature" />
  <uses-permission android:name="com.android.dialer.permission.DIALER_ORIGIN"/>

  <uses-permission android:name="android.permission.RECORD_AUDIO" />
  <uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />

  <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL"/>

  <application
    android:hardwareAccelerated="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/applicationLabel"
    android:name="com.android.dialer.binary.aosp.AospDialerApplication"
    android:appCategory="social"
    android:supportsRtl="true"
    android:usesCleartextTraffic="false"
    android:extractNativeLibs="false"
    android:requestLegacyExternalStorage="true">

    <activity android:name=".callstats.CallStatsDetailActivity"
        android:label="@string/call_stats_detail_title"
        android:theme="@style/Dialer.ThemeBase.NoActionBar"
        android:exported="true"
        android:screenOrientation="portrait">
      <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
    </activity>

    <service android:name="com.android.dialer.callrecord.impl.CallRecorderService"
        android:process="com.android.incallui" />
  </application>

</manifest>
