mirror of
https://github.com/nextcloud/android.git
synced 2024-12-21 08:24:08 +03:00
db4e9887b1
With the broadcast, the notification drawer will not autoclose to show the file browser, which is not good UX. With this approach the notification will not be autodismissed, but that's the lesser of two evils. Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
524 lines
22 KiB
XML
524 lines
22 KiB
XML
<?xml version="1.0" encoding="utf-8"?><!--
|
|
Nextcloud Android client application
|
|
|
|
Copyright (C) 2012 Bartek Przybylski
|
|
Copyright (C) 2012-2016 ownCloud Inc.
|
|
Copyright (C) 2016 Nextcloud
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
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" />
|
|
|
|
<!-- 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" />
|
|
<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" />
|
|
|
|
<!-- 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"
|
|
android:icon="@mipmap/ic_launcher"
|
|
android:installLocation="internalOnly"
|
|
android:label="@string/app_name"
|
|
android:manageSpaceActivity="com.owncloud.android.ui.activity.ManageSpaceActivity"
|
|
android:networkSecurityConfig="@xml/network_security_config"
|
|
android:requestLegacyExternalStorage="true"
|
|
android:roundIcon="@mipmap/ic_launcher"
|
|
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"
|
|
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="*/*" />
|
|
</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"
|
|
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"
|
|
android:authorities="@string/users_and_groups_search_authority"
|
|
android:enabled="true"
|
|
android:exported="false"
|
|
android:label="@string/share_search" />
|
|
|
|
<provider
|
|
android:name=".providers.DocumentsStorageProvider"
|
|
android:authorities="@string/document_provider_authority"
|
|
android:enabled="true"
|
|
android:exported="true"
|
|
android:grantUriPermissions="true"
|
|
android:permission="android.permission.MANAGE_DOCUMENTS">
|
|
<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>
|
|
|
|
<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>
|
|
|
|
<!-- 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" />
|
|
|
|
<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>
|
|
<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>
|
|
|
|
<activity
|
|
android:name=".ui.activity.CopyToClipboardActivity"
|
|
android:exported="false"
|
|
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"
|
|
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"
|
|
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" />
|
|
|
|
<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>
|
|
</manifest>
|