AndroidManifest.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!--
  3. Nextcloud Android client application
  4. Copyright (C) 2012 Bartek Przybylski
  5. Copyright (C) 2012-2016 ownCloud Inc.
  6. Copyright (C) 2016 Nextcloud
  7. This program is free software: you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License version 2,
  9. as published by the Free Software Foundation.
  10. This program is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. -->
  17. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  18. package="com.owncloud.android"
  19. android:versionCode="10040099"
  20. android:versionName="1.4.0">
  21. <uses-sdk
  22. android:minSdkVersion="14"
  23. android:targetSdkVersion="24" />
  24. <!-- GET_ACCOUNTS is needed for API < 23.
  25. For API >= 23 results in the addition of CONTACTS group to the list of permissions that may be
  26. dynamically disabled or enabled by the user after installation; but it is not important,
  27. since GET_ACCOUNTS is an special case, the permission is not really needed to access accounts
  28. owned by the app, our use case.
  29. See note in http://developer.android.com/intl/es/reference/android/Manifest.permission.html#GET_ACCOUNTS -->
  30. <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  31. <!-- USE_CREDENTIALS, MANAGE_ACCOUNTS and AUTHENTICATE_ACCOUNTS are needed for API < 23.
  32. In API >= 23 the do not exist anymore -->
  33. <uses-permission android:name="android.permission.USE_CREDENTIALS" />
  34. <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
  35. <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
  36. <!-- WRITE_EXTERNAL_STORAGE may be enabled or disabled by the user after installation in
  37. API >= 23; the app needs to handle this -->
  38. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  39. <!-- Next permissions are always approved in installation time,
  40. the apps needs to do nothing special in runtime -->
  41. <uses-permission android:name="android.permission.INTERNET" />
  42. <uses-permission android:name="android.permission.READ_SYNC_STATS" />
  43. <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
  44. <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
  45. <uses-permission android:name="android.permission.BROADCAST_STICKY" />
  46. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  47. <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
  48. <uses-permission android:name="android.permission.WAKE_LOCK" />
  49. <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  50. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  51. <application
  52. android:name=".MainApp"
  53. android:icon="@mipmap/ic_launcher"
  54. android:label="@string/app_name"
  55. android:theme="@style/Theme.ownCloud.Toolbar"
  56. android:manageSpaceActivity="com.owncloud.android.ui.activity.ManageSpaceActivity">
  57. <activity
  58. android:name=".ui.activity.FileDisplayActivity"
  59. android:label="@string/app_name"
  60. android:theme="@style/Theme.ownCloud.Toolbar.Drawer">
  61. <intent-filter>
  62. <action android:name="android.intent.action.MAIN" />
  63. <category android:name="android.intent.category.LAUNCHER" />
  64. </intent-filter>
  65. </activity>
  66. <activity android:name=".ui.activity.ManageAccountsActivity" />
  67. <activity android:name=".ui.activity.ParticipateActivity" />
  68. <activity android:name=".ui.activity.FolderSyncActivity" />
  69. <activity android:name=".ui.activity.UploadFilesActivity" />
  70. <activity android:name=".ui.activity.ReceiveExternalFilesActivity"
  71. android:taskAffinity=""
  72. android:excludeFromRecents="true"
  73. android:theme="@style/Theme.ownCloud.NoActionBar">
  74. <intent-filter>
  75. <action android:name="android.intent.action.SEND" />
  76. <category android:name="android.intent.category.DEFAULT" />
  77. <data android:mimeType="*/*" />
  78. </intent-filter>
  79. <intent-filter>
  80. <action android:name="android.intent.action.SEND_MULTIPLE" />
  81. <category android:name="android.intent.category.DEFAULT" />
  82. <data android:mimeType="*/*" />
  83. </intent-filter>
  84. </activity>
  85. <activity
  86. android:name=".ui.activity.Preferences"
  87. android:theme="@style/Theme.ownCloud" >
  88. </activity>
  89. <activity
  90. android:name=".ui.preview.PreviewImageActivity"
  91. android:theme="@style/Theme.ownCloud.Overlay" />
  92. <activity
  93. android:name=".ui.preview.PreviewVideoActivity"
  94. android:label="@string/app_name"
  95. android:theme="@style/Theme.ownCloud.Fullscreen" />
  96. <service
  97. android:name=".authentication.AccountAuthenticatorService"
  98. android:exported="true" >
  99. <intent-filter android:priority="100" >
  100. <action android:name="android.accounts.AccountAuthenticator" />
  101. </intent-filter>
  102. <meta-data
  103. android:name="android.accounts.AccountAuthenticator"
  104. android:resource="@xml/authenticator" />
  105. </service>
  106. <service android:name=".services.observer.SyncedFolderObserverService"/>
  107. <service
  108. android:name=".syncadapter.FileSyncService"
  109. android:exported="true" >
  110. <intent-filter>
  111. <action android:name="android.content.SyncAdapter" />
  112. </intent-filter>
  113. <meta-data
  114. android:name="android.content.SyncAdapter"
  115. android:resource="@xml/syncadapter_files" />
  116. </service>
  117. <service
  118. android:name=".services.SyncedFolderJobService"
  119. android:permission="android.permission.BIND_JOB_SERVICE"
  120. android:exported="true"/>
  121. <provider
  122. android:name=".providers.FileContentProvider"
  123. android:authorities="@string/authority"
  124. android:enabled="true"
  125. android:exported="true"
  126. android:label="@string/sync_string_files"
  127. android:syncable="true" />
  128. <provider
  129. android:name=".providers.UsersAndGroupsSearchProvider"
  130. android:authorities="com.nextcloud.android.providers.UsersAndGroupsSearchProvider"
  131. android:enabled="true"
  132. android:exported="false"
  133. android:label="@string/search_users_and_groups_hint" />
  134. <provider
  135. android:name="org.nextcloud.providers.DocumentsStorageProvider"
  136. android:authorities="@string/document_provider_authority"
  137. android:exported="true"
  138. android:grantUriPermissions="true"
  139. android:permission="android.permission.MANAGE_DOCUMENTS"
  140. android:enabled="@bool/atLeastKitKat">
  141. <intent-filter>
  142. <action android:name="android.content.action.DOCUMENTS_PROVIDER" />
  143. </intent-filter>
  144. </provider>
  145. <!-- new provider used to generate URIs without file:// scheme (forbidden from Android 7) -->
  146. <provider
  147. android:name="android.support.v4.content.FileProvider"
  148. android:authorities="@string/file_provider_authority"
  149. android:grantUriPermissions="true"
  150. android:exported="false">
  151. <meta-data
  152. android:name="android.support.FILE_PROVIDER_PATHS"
  153. android:resource="@xml/exposed_filepaths" />
  154. </provider>
  155. <activity
  156. android:name=".authentication.AuthenticatorActivity"
  157. android:exported="true"
  158. android:launchMode="singleTask"
  159. android:theme="@style/Theme.ownCloud.noActionBar.Login">
  160. <intent-filter>
  161. <action android:name="android.intent.action.VIEW" />
  162. <category android:name="android.intent.category.DEFAULT" />
  163. <category android:name="android.intent.category.BROWSABLE" />
  164. <data android:scheme="@string/oauth2_redirect_scheme" />
  165. </intent-filter>
  166. <intent-filter>
  167. <action android:name="com.owncloud.android.workaround.accounts.CREATE" />
  168. <category android:name="android.intent.category.DEFAULT" />
  169. </intent-filter>
  170. <intent-filter>
  171. <action android:name="android.intent.action.VIEW" />
  172. <category android:name="android.intent.category.DEFAULT" />
  173. <category android:name="android.intent.category.BROWSABLE" />
  174. <data android:scheme="@string/login_data_own_scheme" android:host="login"/>
  175. </intent-filter>
  176. </activity>
  177. <service android:name=".services.OperationsService" />
  178. <service android:name=".files.services.FileDownloader" />
  179. <service android:name=".files.services.FileUploader" />
  180. <service android:name=".media.MediaService" />
  181. <activity android:name=".ui.activity.PassCodeActivity" />
  182. <activity android:name=".ui.activity.ConflictsResolveActivity"/>
  183. <activity android:name=".ui.activity.GenericExplanationActivity"/>
  184. <activity android:name=".ui.activity.ErrorsWhileCopyingHandlerActivity"/>
  185. <activity android:name=".ui.activity.LogHistoryActivity"/>
  186. <activity android:name=".ui.errorhandling.ErrorShowActivity" />
  187. <activity android:name=".ui.activity.UploadListActivity" />
  188. <activity android:name=".ui.activity.WhatsNewActivity"
  189. android:theme="@style/Theme.ownCloud.noActionBar.Login" />
  190. <receiver android:name=".files.services.ConnectivityActionReceiver"
  191. android:enabled="true" android:label="ConnectivityActionReceiver">
  192. <intent-filter>
  193. <!--action android:name="android.net.conn.CONNECTIVITY_CHANGE"/-->
  194. <action android:name="android.net.wifi.STATE_CHANGE"/>
  195. <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
  196. <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
  197. </intent-filter>
  198. </receiver>
  199. <receiver android:name=".files.InstantUploadBroadcastReceiver">
  200. <intent-filter>
  201. <!-- unofficially supported by many Android phones but not by HTC devices: -->
  202. <action android:name="com.android.camera.NEW_PICTURE" />
  203. <!-- officially supported since Android 4.0 (SDK 14, works even for HTC devices): -->
  204. <action android:name="android.hardware.action.NEW_PICTURE" />
  205. <data android:mimeType="image/*" />
  206. </intent-filter>
  207. <intent-filter>
  208. <action android:name="android.hardware.action.NEW_VIDEO" />
  209. <data android:mimeType="video/*" />
  210. </intent-filter>
  211. </receiver>
  212. <receiver android:name=".files.BootupBroadcastReceiver" >
  213. <intent-filter>
  214. <action android:name="android.intent.action.BOOT_COMPLETED" />
  215. </intent-filter>
  216. </receiver>
  217. <service android:name=".services.observer.FileObserverService" />
  218. <activity
  219. android:name=".ui.activity.CopyToClipboardActivity"
  220. android:icon="@drawable/copy_link"
  221. android:label="@string/copy_link" />
  222. <activity
  223. android:name=".ui.activity.FolderPickerActivity"
  224. android:label="@string/app_name" />
  225. <activity
  226. android:name=".ui.activity.UploadPathActivity"
  227. android:label="@string/app_name" />
  228. <activity
  229. android:name=".ui.activity.ShareActivity"
  230. android:label="@string/share_dialog_title"
  231. android:theme="@style/Theme.ownCloud.Dialog.NoTitle"
  232. android:launchMode="singleTop"
  233. android:windowSoftInputMode="adjustResize" >
  234. <intent-filter>
  235. <action android:name="android.intent.action.SEARCH" />
  236. </intent-filter>
  237. <meta-data android:name="android.app.searchable"
  238. android:resource="@xml/users_and_groups_searchable"/>
  239. </activity>
  240. <activity android:name=".ui.activity.ManageSpaceActivity"
  241. android:label="@string/manage_space_title"
  242. android:theme="@style/Theme.ownCloud" />
  243. </application>
  244. </manifest>