1<!--
2  ~ Copyright (C) 2016 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.incallui">
19
20  <uses-sdk
21      android:minSdkVersion="24"
22      android:targetSdkVersion="29"/>
23
24  <uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
25  <!-- We use this to disable the status bar buttons of home, back and recent
26  during an incoming call. By doing so this allows us to not show the user
27  is viewing the activity in full screen alert, on a fresh system/factory
28  reset state of the app. -->
29  <uses-permission android:name="android.permission.STATUS_BAR"/>
30  <uses-permission android:name="android.permission.CAMERA"/>
31
32  <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
33
34  <!-- Warning: setting the required boolean to true would prevent installation of Dialer on
35       devices which do not support a camera. -->
36  <uses-feature
37      android:name="android.hardware.camera.any"
38      android:required="false"/>
39
40  <!-- Testing location -->
41  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
42
43  <!-- Set Bluetooth device -->
44  <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
45
46  <!-- Set audio selector window type TYPE_APPLICATION_OVERLAY -->
47  <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
48
49  <!-- Set android:taskAffinity="com.android.incallui" for all activities to ensure proper
50  navigation. Otherwise system could bring up MainActivity instead, e.g. when user unmerge a
51  call.
52       Set taskAffinity for application is not working because it will be merged and the result is
53  that all activities here still have same taskAffinity as activities under dialer. -->
54  <application>
55    <!-- Go variants need hardware acceleration for IMS video calls even though it is disabled at
56    the application level -->
57    <activity
58        android:directBootAware="true"
59        android:excludeFromRecents="true"
60        android:exported="false"
61        android:hardwareAccelerated="true"
62        android:label="@string/phoneAppLabel"
63        android:launchMode="singleInstance"
64        android:name="com.android.incallui.InCallActivity"
65        android:resizeableActivity="true"
66        android:screenOrientation="nosensor"
67        android:taskAffinity="com.android.incallui"
68        android:theme="@style/Theme.InCallScreen"
69        android:windowSoftInputMode="adjustResize">
70    </activity>
71
72    <activity
73        android:directBootAware="true"
74        android:excludeFromRecents="true"
75        android:exported="false"
76        android:label="@string/manageConferenceLabel"
77        android:launchMode="singleTask"
78        android:name="com.android.incallui.ManageConferenceActivity"
79        android:noHistory="true"
80        android:resizeableActivity="true"
81        android:taskAffinity="com.android.incallui"
82        android:theme="@style/Theme.InCallScreen.ManageConference"/>
83
84    <service
85        android:directBootAware="true"
86        android:exported="true"
87        android:name="com.android.incallui.InCallServiceImpl"
88        android:permission="android.permission.BIND_INCALL_SERVICE">
89      <meta-data
90          android:name="android.telecom.IN_CALL_SERVICE_UI"
91          android:value="true"/>
92      <meta-data
93          android:name="android.telecom.IN_CALL_SERVICE_RINGING"
94          android:value="false"/>
95      <meta-data
96          android:name="android.telecom.INCLUDE_EXTERNAL_CALLS"
97          android:value="true"/>
98
99      <intent-filter>
100        <action android:name="android.telecom.InCallService"/>
101      </intent-filter>
102    </service>
103
104    <activity
105        android:excludeFromRecents="true"
106        android:exported="false"
107        android:name=".AudioRouteSelectorActivity"
108        android:noHistory="true"
109        android:theme="@style/Theme.Incall.DialogHolder"
110        />
111
112    <activity
113        android:excludeFromRecents="true"
114        android:exported="false"
115        android:name="com.android.incallui.PostCharDialogActivity"
116        android:noHistory="true"
117        android:theme="@style/Theme.Incall.DialogHolder"/>
118
119    <!-- BroadcastReceiver for receiving Intents from Notification mechanism. -->
120    <receiver
121        android:directBootAware="true"
122        android:exported="false"
123        android:name="com.android.incallui.NotificationBroadcastReceiver"/>
124
125    <receiver
126        android:exported="false"
127        android:name=".ReturnToCallActionReceiver"/>
128
129  </application>
130
131</manifest>
132
133