nextcloud-android/app/src/main/AndroidManifest.xml

525 lines
22 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?><!--
2016-12-05 15:57:17 +03:00
Nextcloud Android client application
Copyright (C) 2012 Bartek Przybylski
2016-06-27 14:54:50 +03:00
Copyright (C) 2012-2016 ownCloud Inc.
Copyright (C) 2016 Nextcloud
This program is free software: you can redistribute it and/or modify
2013-04-17 14:26:13 +04:00
it under the terms of the GNU General Public License version 2,
as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.owncloud.android">
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
2017-04-12 15:34:43 +03:00
<!-- Used for document scanning, but lib declares it as required, which it's not -->
<uses-feature
android:name="android.hardware.camera2"
android:required="false"
tools:node="replace" />
<!-- WRITE_EXTERNAL_STORAGE may be enabled or disabled by the user after installation in
API >= 23; the app needs to handle this -->
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="29"
tools:ignore="ScopedStorage" />
<uses-permission
android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<!-- Next permissions are always approved in installation time, the apps needs to do nothing special in runtime -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
2017-02-05 16:40:24 +03:00
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<!-- Apps that target Android 9 (API level 28) or higher and use foreground services
must request the FOREGROUND_SERVICE permission -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
2018-05-19 00:15:37 +03:00
<!-- Some Chromebooks don't support touch. Although not essential,
it's a good idea to explicitly include this declaration. -->
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<application
android:name=".MainApp"
android:fullBackupContent="@xml/backup_config"
2017-12-27 11:21:57 +03:00
android:icon="@mipmap/ic_launcher"
android:installLocation="internalOnly"
android:label="@string/app_name"
android:manageSpaceActivity="com.owncloud.android.ui.activity.ManageSpaceActivity"
2017-07-16 23:08:51 +03:00
android:networkSecurityConfig="@xml/network_security_config"
android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/ic_launcher"
2017-12-01 14:40:50 +03:00
android:supportsRtl="true"
android:theme="@style/Theme.ownCloud.Toolbar"
android:usesCleartextTraffic="true"
tools:ignore="UnusedAttribute">
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
<activity
android:name=".ui.activity.FileDisplayActivity"
2017-05-19 12:34:49 +03:00
android:configChanges="orientation|screenSize"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/Theme.ownCloud.Launcher">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="*" />
<data android:pathPattern="/f/..*" />
<data android:pathPattern="/..*/f/..*" />
<data android:pathPattern="/..*/..*/f/..*" />
<data android:pathPattern="/..*/..*/..*/f/..*" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/users_and_groups_searchable" />
</activity>
<activity
android:name=".ui.activity.AppScanActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar"
tools:ignore="LockedOrientationActivity" />
<activity
android:name=".ui.activity.ManageAccountsActivity"
android:exported="false" />
<activity
android:name=".ui.activity.UserInfoActivity"
android:exported="false" />
<activity
android:name=".ui.activity.NotificationsActivity"
android:exported="false" />
<activity
android:name=".ui.activity.CommunityActivity"
android:exported="false" />
<activity
android:name=".ui.activities.ActivitiesActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="false" />
<activity
android:name=".ui.activity.SyncedFoldersActivity"
android:exported="false" />
<receiver
android:name="com.nextcloud.client.jobs.MediaFoldersDetectionWork$NotificationReceiver"
android:exported="false" />
<receiver
android:name="com.nextcloud.client.jobs.NotificationWork$NotificationReceiver"
android:exported="false" />
<activity
android:name=".ui.activity.UploadFilesActivity"
android:configChanges="orientation|screenSize"
android:exported="false" />
<activity
android:name=".ui.activity.ExternalSiteWebView"
android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
android:exported="false" />
<activity
android:name=".ui.activity.RichDocumentsEditorWebView"
android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
android:exported="false" />
<activity
android:name=".ui.activity.TextEditorWebView"
android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
android:exported="false" />
<activity
android:name=".ui.activity.ContactsPreferenceActivity"
android:exported="false"
android:launchMode="singleInstance" />
<activity
android:name=".ui.activity.ReceiveExternalFilesActivity"
android:excludeFromRecents="true"
android:exported="true"
android:taskAffinity=""
android:theme="@style/Theme.ownCloud.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
2014-10-24 00:34:25 +04:00
</intent-filter>
</activity>
<activity
android:name=".ui.activity.SettingsActivity"
android:exported="false"
android:theme="@style/Theme.ownCloud" />
<activity
android:name=".ui.preview.PreviewImageActivity"
android:exported="false"
android:theme="@style/Theme.ownCloud.Overlay" />
<activity
android:name=".ui.preview.PreviewVideoActivity"
android:exported="false"
android:theme="@style/Theme.ownCloud.Fullscreen" />
<service
android:name=".authentication.AccountAuthenticatorService"
android:exported="false">
<intent-filter android:priority="100">
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator" />
</service>
<service
android:name=".syncadapter.FileSyncService"
android:exported="true"
tools:ignore="ExportedService">
<intent-filter>
<action android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data
android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter_files" />
</service>
<provider
android:name=".providers.FileContentProvider"
android:authorities="@string/authority"
android:enabled="true"
2015-12-19 15:30:37 +03:00
android:exported="true"
android:label="@string/sync_string_files"
android:syncable="true">
<path-permission
android:pathPrefix="/shares"
android:readPermission="false"
android:writePermission="false" />
<path-permission
android:pathPrefix="/capabilities"
android:readPermission="false"
android:writePermission="false" />
<path-permission
android:pathPrefix="/uploads"
android:readPermission="false"
android:writePermission="false" />
<path-permission
android:pathPrefix="/synced_folders"
android:readPermission="false"
android:writePermission="false" />
<path-permission
android:pathPrefix="/external_links"
android:readPermission="false"
android:writePermission="false" />
<path-permission
android:pathPrefix="/arbitrary_data"
android:readPermission="false"
android:writePermission="false" />
<path-permission
android:pathPrefix="/virtual"
android:readPermission="false"
android:writePermission="false" />
<path-permission
android:pathPrefix="/filesystem"
android:readPermission="false"
android:writePermission="false" />
</provider>
<provider
android:name=".providers.UsersAndGroupsSearchProvider"
2017-02-25 05:47:31 +03:00
android:authorities="@string/users_and_groups_search_authority"
android:enabled="true"
android:exported="false"
android:label="@string/share_search" />
2015-12-19 15:30:37 +03:00
<provider
android:name=".providers.DocumentsStorageProvider"
2016-07-15 01:42:33 +03:00
android:authorities="@string/document_provider_authority"
android:enabled="true"
2015-12-19 15:30:37 +03:00
android:exported="true"
android:grantUriPermissions="true"
android:permission="android.permission.MANAGE_DOCUMENTS">
2015-12-19 15:30:37 +03:00
<intent-filter>
<action android:name="android.content.action.DOCUMENTS_PROVIDER" />
</intent-filter>
</provider>
<!-- new provider used to generate URIs without file:// scheme (forbidden from Android 7) -->
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="@string/file_provider_authority"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/exposed_filepaths" />
</provider>
2017-10-24 12:03:28 +03:00
<provider
android:name=".providers.DiskLruImageCacheFileProvider"
android:authorities="@string/image_cache_provider_authority"
android:grantUriPermissions="true"
android:permission="android.permission.MANAGE_DOCUMENTS"
android:exported="true">
</provider>
2017-10-24 12:03:28 +03:00
<!-- Disable WorkManager initialization. Whoever designed this, should pay closer attention -->
<!-- to "best before" dates in his fridge. -->
<!-- disable default provider -->
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
android:exported="false"
tools:node="merge">
<meta-data
android:name="androidx.work.WorkManagerInitializer"
android:value="androidx.startup"
tools:node="remove" />
</provider>
<activity
android:name=".authentication.AuthenticatorActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="true"
android:launchMode="singleTask"
android:theme="@style/Theme.ownCloud.noActionBar.Login">
<intent-filter>
<action android:name="com.owncloud.android.workaround.accounts.CREATE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".authentication.DeepLinkLoginActivity"
android:clearTaskOnLaunch="true"
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="true"
android:launchMode="singleTask"
android:theme="@style/Theme.ownCloud.noActionBar.Login">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="login"
android:scheme="@string/login_data_own_scheme" />
</intent-filter>
</activity>
<service
android:name=".services.OperationsService"
android:exported="false" />
<service
android:name=".files.services.FileDownloader"
android:exported="false" />
<service
android:name="com.nextcloud.client.files.downloader.FileTransferService"
android:exported="false" />
<service
android:name=".files.services.FileUploader"
android:exported="false" />
<service
android:name="com.nextcloud.client.media.PlayerService"
android:exported="false" />
2014-10-24 00:34:25 +04:00
<activity
android:name=".ui.activity.PassCodeActivity"
android:exported="false"
android:launchMode="singleTask" />
<activity
android:name=".ui.activity.RequestCredentialsActivity"
android:exported="false"
android:launchMode="singleTask" />
<activity
android:name=".ui.activity.ConflictsResolveActivity"
android:exported="false" />
<activity
android:name=".ui.activity.ErrorsWhileCopyingHandlerActivity"
android:exported="false" />
<activity
android:name="com.nextcloud.client.logger.ui.LogsActivity"
android:exported="false" />
<activity
android:name="com.nextcloud.client.errorhandling.ShowErrorActivity"
android:excludeFromRecents="true"
android:exported="false"
android:finishOnTaskLaunch="true"
android:launchMode="singleInstance"
android:process=":crash"
android:theme="@style/Theme.ownCloud.Toolbar" />
<activity
android:name=".ui.activity.UploadListActivity"
android:exported="false" />
<activity
android:name=".ui.trashbin.TrashbinActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="true" />
<activity
android:name="com.nextcloud.client.onboarding.WhatsNewActivity"
android:theme="@style/Theme.ownCloud.noActionBar.Login" />
<activity
android:name="com.nextcloud.client.onboarding.FirstRunActivity"
android:configChanges="orientation|screenSize"
android:exported="false"
android:theme="@style/Theme.ownCloud.noActionBar.Login" />
<receiver
android:name=".files.BootupBroadcastReceiver"
android:exported="true">
<intent-filter>
2014-10-24 00:34:25 +04:00
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="com.htc.intent.action.QUICKBOOT_POWERON" />
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
</intent-filter>
</receiver>
2017-02-19 20:53:35 +03:00
2014-10-24 00:34:25 +04:00
<activity
android:name=".ui.activity.CopyToClipboardActivity"
android:exported="false"
- unify icons - add svg, convert to android xml, removed png Signed-off-by: tobiasKaminsky <tobias@kaminsky.me> Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> fix after rebase Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> renamed user -> ic_user (icon) make favorite mutable Signed-off-by: tobiasKaminsky <tobias@kaminsky.me> Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> replace further png resources with xml drawables Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> fixes after rebase Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> allow for vector compat Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> add missing icon Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> add yet another missing icon Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> lint: When using VectorDrawableCompat, you need to use app:srcCompat Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> lint: When using VectorDrawableCompat, you need to use app:srcCompat Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> fix lint Signed-off-by: tobiasKaminsky <tobias@kaminsky.me> Drone: update Lint results to reflect reduced error/warning count [skip ci] Signed-off-by: nextcloud-android-bot <android@nextcloud.com> improve findbugs score Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> use correct icon for user account settings within drawer menu Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> icons needs to be grey600 by default, don't tint grey600 to not tint avatars Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> codacy: organize imports Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> programmatically set in-View drawables, in-view drawables can't be set via XML when supporting pre-lollipop Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> codacy: Useless parentheses & organize imports Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> organize imports Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> codacy: useless paranthesis Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de> revert programmatically set do not use vectorDrawables.useSupportLibrary Signed-off-by: tobiasKaminsky <tobias@kaminsky.me> use 128dp for talk Signed-off-by: tobiasKaminsky <tobias@kaminsky.me> Revert "lint: When using VectorDrawableCompat, you need to use app:srcCompat" This reverts commit 80068e7d37f3a8c6b7096c51543bda68443e4341. Revert "lint: When using VectorDrawableCompat, you need to use app:srcCompat" This reverts commit 0130e9a96d2602ad4b5d33aae67f34a458366d70. revert srcCompat Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2018-07-03 15:33:26 +03:00
android:icon="@drawable/shared_via_link"
android:label="@string/copy_link" />
<activity
android:name=".ui.activity.FolderPickerActivity"
android:exported="false" />
<activity
android:name=".ui.activity.FilePickerActivity"
android:exported="false"
android:launchMode="singleTop"
android:theme="@style/Theme.ownCloud.Dialog.NoTitle"
android:windowSoftInputMode="adjustResize" />
<activity
android:name=".ui.activity.ShareActivity"
2017-11-20 15:15:16 +03:00
android:exported="false"
android:label="@string/share_dialog_title"
android:launchMode="singleTop"
android:theme="@style/Theme.ownCloud.Dialog.NoTitle"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/users_and_groups_searchable" />
</activity>
<activity
android:name=".ui.activity.ManageSpaceActivity"
android:exported="false"
android:label="@string/manage_space_title"
android:theme="@style/Theme.ownCloud" />
<service
android:name=".services.AccountManagerService"
android:enabled="true"
android:exported="true"
tools:ignore="ExportedService" />
<activity
android:name=".ui.activity.SsoGrantPermissionActivity"
2018-09-13 19:15:43 +03:00
android:exported="true"
android:theme="@style/Theme.ownCloud.Dialog.NoTitle" />
<activity
android:name="com.nextcloud.client.etm.EtmActivity"
android:exported="false"
android:theme="@style/Theme.ownCloud.Toolbar" />
Fallback pdf viewer (#9806) * Basic PDF preview Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * Preview pdf: add dividers between pages Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * Prefer third-party pdf viewers over fallback viewer Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * Zoomable view for pdf pages Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> pdf preview: Show tip to indicate that zooming on images is possible Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * Pdf preview: screenshot test Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * Fix spotbugs and lint Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * PreviewPdfFragment: fix screenshot test Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * PreviewPdfFragment: fix toolbar when resuming Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * PreviewBitmapActivity: add screenshot test Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * PreviewPdfFragment: fix crash in screenshot tests Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * Pdf preview: rename tests Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * pdf preview: Update copyright headers Oops Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * Pdf preview: use grey for background instead of black Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * Pdf preview: add scrollbar Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * Pdf preview: show zoom tip 3 times instead of only once Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com> * Pdf preview: fix lint and improve styling Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
2022-02-15 17:04:16 +03:00
<activity
android:name=".ui.preview.PreviewBitmapActivity"
android:exported="false"
android:theme="@style/Theme.ownCloud.OverlayGrey" />
</application>
<queries>
<package android:name="it.niedermann.nextcloud.deck" />
<package android:name="it.niedermann.nextcloud.deck.play" />
<package android:name="it.niedermann.nextcloud.deck.dev" />
<package android:name="at.bitfire.davdroid"/>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:mimeType="*/*" />
</intent>
<intent>
<action android:name="android.intent.action.SEND" />
<data android:mimeType="*/*" />
</intent>
<intent>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<data android:mimeType="*/*" />
</intent>
<intent>
<action android:name="android.intent.action.PICK" />
<data android:mimeType="*/*" />
</intent>
<intent>
<action android:name="android.media.action.IMAGE_CAPTURE" />
</intent>
<intent>
<action android:name="android.media.action.IMAGE_CAPTURE_SECURE" />
</intent>
<intent>
<action android:name="android.media.action.VIDEO_CAPTURE" />
</intent>
<intent>
<action android:name="android.intent.action.GET_CONTENT" />
</intent>
</queries>
2018-09-13 18:10:20 +03:00
</manifest>