AndroidManifest.xml

  1<?xml version="1.0" encoding="utf-8"?>
  2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3          xmlns:tools="http://schemas.android.com/tools"
  4          package="eu.siacs.conversations">
  5
  6    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  7    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  8    <uses-permission android:name="android.permission.READ_CONTACTS"/>
  9    <uses-permission android:name="android.permission.READ_PROFILE"/>
 10    <uses-permission android:name="android.permission.INTERNET"/>
 11    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 12    <uses-permission android:name="android.permission.WAKE_LOCK"/>
 13    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
 14    <uses-permission android:name="android.permission.VIBRATE"/>
 15    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
 16    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
 17    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
 18    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
 19
 20    <uses-feature
 21        android:name="android.hardware.location"
 22        android:required="false"/>
 23    <uses-feature
 24        android:name="android.hardware.location.gps"
 25        android:required="false"/>
 26    <uses-feature
 27        android:name="android.hardware.location.network"
 28        android:required="false"/>
 29
 30    <uses-permission android:name="android.permission.CAMERA"/>
 31    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
 32
 33    <uses-permission
 34        android:name="android.permission.READ_PHONE_STATE"
 35        tools:node="remove"/>
 36
 37    <uses-sdk tools:overrideLibrary="net.ypresto.androidtranscoder"/>
 38
 39    <uses-feature
 40        android:name="android.hardware.camera"
 41        android:required="false"/>
 42    <uses-feature
 43        android:name="android.hardware.camera.autofocus"
 44        android:required="false"/>
 45
 46
 47    <application
 48        android:allowBackup="true"
 49        android:appCategory="social"
 50        android:icon="@drawable/ic_launcher"
 51        android:label="@string/app_name"
 52        android:networkSecurityConfig="@xml/network_security_configuration"
 53        android:theme="@style/ConversationsTheme"
 54        tools:replace="android:label"
 55        tools:targetApi="o">
 56
 57        <meta-data
 58            android:name="com.google.android.gms.car.application"
 59            android:resource="@xml/automotive_app_desc"/>
 60
 61        <service android:name=".services.XmppConnectionService"/>
 62
 63        <receiver android:name=".services.EventReceiver">
 64            <intent-filter>
 65                <action android:name="android.intent.action.BOOT_COMPLETED"/>
 66                <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
 67                <action android:name="android.intent.action.ACTION_SHUTDOWN"/>
 68                <action android:name="android.media.RINGER_MODE_CHANGED"/>
 69            </intent-filter>
 70        </receiver>
 71
 72        <activity
 73            android:name=".ui.ShareLocationActivity"
 74            android:label="@string/title_activity_share_location"/>
 75        <activity
 76            android:name=".ui.SearchActivity"
 77            android:label="@string/search_messages"/>
 78        <activity
 79            android:name=".ui.RecordingActivity"
 80            android:configChanges="orientation|screenSize"
 81            android:theme="@style/ConversationsTheme.Dialog"/>
 82        <activity
 83            android:name=".ui.ShowLocationActivity"
 84            android:label="@string/title_activity_show_location"/>
 85        <activity
 86            android:name=".ui.ConversationActivity"
 87            android:theme="@style/SplashTheme">
 88            <intent-filter>
 89                <action android:name="android.intent.action.MAIN"/>
 90
 91                <category android:name="android.intent.category.LAUNCHER"/>
 92            </intent-filter>
 93        </activity>
 94        <activity
 95            android:name=".ui.ConversationsActivity"
 96            android:label="@string/app_name"
 97            android:launchMode="singleTask"
 98            android:minHeight="300dp"
 99            android:minWidth="300dp"
100            android:windowSoftInputMode="stateHidden"/>
101        <activity
102            android:name=".ui.ScanActivity"
103            android:screenOrientation="portrait"
104            android:theme="@style/ConversationsTheme.FullScreen"
105            android:windowSoftInputMode="stateAlwaysHidden"/>
106        <activity
107            android:name=".ui.UriHandlerActivity"
108            android:label="@string/title_activity_start_conversation">
109            <intent-filter>
110                <action android:name="android.intent.action.VIEW"/>
111
112                <category android:name="android.intent.category.DEFAULT"/>
113                <category android:name="android.intent.category.BROWSABLE"/>
114
115                <data android:scheme="xmpp"/>
116            </intent-filter>
117            <intent-filter android:autoVerify="true">
118                <action android:name="android.intent.action.VIEW"/>
119
120                <category android:name="android.intent.category.DEFAULT"/>
121                <category android:name="android.intent.category.BROWSABLE"/>
122
123                <data android:scheme="https"/>
124                <data android:host="conversations.im"/>
125                <data android:pathPrefix="/i/"/>
126                <data android:pathPrefix="/j/"/>
127            </intent-filter>
128            <intent-filter>
129                <action android:name="android.intent.action.SENDTO"/>
130
131                <category android:name="android.intent.category.DEFAULT"/>
132
133                <data android:scheme="imto"/>
134                <data android:host="jabber"/>
135            </intent-filter>
136        </activity>
137        <activity
138            android:name=".ui.StartConversationActivity"
139            android:label="@string/title_activity_start_conversation"
140            android:launchMode="singleTop">
141            <intent-filter>
142                <action android:name="android.intent.action.VIEW"/>
143            </intent-filter>
144        </activity>
145        <activity
146            android:name=".ui.WelcomeActivity"
147            android:label="@string/app_name"
148            android:launchMode="singleTask"/>
149        <activity
150            android:name=".ui.MagicCreateActivity"
151            android:label="@string/create_account"
152            android:launchMode="singleTask"/>
153        <activity
154            android:name=".ui.SettingsActivity"
155            android:label="@string/title_activity_settings"/>
156        <activity
157            android:name=".ui.ChooseContactActivity"
158            android:label="@string/title_activity_choose_contact"/>
159        <activity
160            android:name=".ui.BlocklistActivity"
161            android:label="@string/title_activity_block_list"/>
162        <activity
163            android:name=".ui.ChangePasswordActivity"
164            android:label="@string/change_password_on_server"/>
165        <activity
166            android:name=".ui.ManageAccountActivity"
167            android:label="@string/title_activity_manage_accounts"
168            android:launchMode="singleTask"/>
169        <activity
170            android:name=".ui.ShareViaAccountActivity"
171            android:label="@string/title_activity_share_via_account"
172            android:launchMode="singleTop"/>
173        <activity
174            android:name=".ui.EditAccountActivity"
175            android:launchMode="singleTop"
176            android:windowSoftInputMode="stateHidden|adjustResize"/>
177        <activity
178            android:name=".ui.ConferenceDetailsActivity"
179            android:windowSoftInputMode="stateHidden"/>
180        <activity
181            android:name=".ui.ContactDetailsActivity"
182            android:windowSoftInputMode="stateHidden"/>
183        <activity
184            android:name=".ui.PublishProfilePictureActivity"
185            android:label="@string/mgmt_account_publish_avatar"
186            android:windowSoftInputMode="stateHidden"/>
187        <activity
188            android:name=".ui.ShareWithActivity"
189            android:label="@string/app_name"
190            android:launchMode="singleTop">
191            <intent-filter>
192                <action android:name="android.intent.action.SEND"/>
193
194                <category android:name="android.intent.category.DEFAULT"/>
195
196                <data android:mimeType="text/plain"/>
197            </intent-filter>
198            <intent-filter>
199                <action android:name="android.intent.action.SEND"/>
200
201                <category android:name="android.intent.category.DEFAULT"/>
202
203                <data android:mimeType="*/*"/>
204            </intent-filter>
205            <intent-filter>
206                <action android:name="android.intent.action.SEND_MULTIPLE"/>
207
208                <category android:name="android.intent.category.DEFAULT"/>
209
210                <data android:mimeType="image/*"/>
211            </intent-filter>
212
213            <meta-data
214                android:name="android.service.chooser.chooser_target_service"
215                android:value=".services.ContactChooserTargetService"/>
216        </activity>
217        <activity
218            android:name=".ui.TrustKeysActivity"
219            android:label="@string/trust_omemo_fingerprints"
220            android:windowSoftInputMode="stateAlwaysHidden"/>
221        <activity
222            android:name=".ui.AboutActivity"
223            android:label="@string/title_activity_about"
224            android:parentActivityName=".ui.SettingsActivity">
225            <meta-data
226                android:name="android.support.PARENT_ACTIVITY"
227                android:value="eu.siacs.conversations.ui.SettingsActivity"/>
228            <intent-filter>
229                <action android:name="android.intent.action.VIEW"/>
230                <category android:name="android.intent.category.PREFERENCE"/>
231            </intent-filter>
232        </activity>
233        <activity android:name="com.soundcloud.android.crop.CropImageActivity"/>
234        <activity android:name=".ui.MemorizingActivity"/>
235
236        <service android:name=".services.ExportLogsService"/>
237        <service
238            android:name=".services.ContactChooserTargetService"
239            android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE">
240            <intent-filter>
241                <action android:name="android.service.chooser.ChooserTargetService"/>
242            </intent-filter>
243        </service>
244
245        <provider
246            android:name="android.support.v4.content.FileProvider"
247            android:authorities="${applicationId}.files"
248            android:exported="false"
249            android:grantUriPermissions="true">
250            <meta-data
251                android:name="android.support.FILE_PROVIDER_PATHS"
252                android:resource="@xml/file_paths"/>
253        </provider>
254        <provider
255            android:name=".services.BarcodeProvider"
256            android:authorities="${applicationId}.barcodes"
257            android:exported="false"
258            android:grantUriPermissions="true"/>
259
260        <activity
261            android:name=".ui.ShortcutActivity"
262            android:label="@string/contact">
263            <intent-filter>
264                <action android:name="android.intent.action.CREATE_SHORTCUT"/>
265            </intent-filter>
266        </activity>
267    </application>
268
269</manifest>