Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nextcloud/android
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 700c84f275506989aaa539feb712d1838dee426d
Choose a base ref
..
head repository: nextcloud/android
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: f21db867d84c05cf1e05907cf58ee45ce57921f4
Choose a head ref
Showing with 7,697 additions and 1,420 deletions.
  1. +3 −3 .drone.yml
  2. +1 −1 .editorconfig
  3. +14 −10 .github/workflows/analysis.yml
  4. +6 −2 .github/workflows/assembleFlavors.yml
  5. +6 −2 .github/workflows/check.yml
  6. +3 −3 .github/workflows/codeql.yml
  7. +3 −3 .github/workflows/command-rebase.yml
  8. +4 −0 .github/workflows/detectNewJavaFiles.yml
  9. +4 −0 .github/workflows/detectSnapshot.yml
  10. +4 −0 .github/workflows/gradle-wrapper-validation.yml
  11. +6 −2 .github/workflows/qa.yml
  12. +5 −1 .github/workflows/scorecard.yml
  13. +6 −2 .github/workflows/screenShotTest.yml
  14. +7 −3 .github/workflows/unit-tests.yml
  15. +0 −2 .idea/codeStyles/Project.xml
  16. +1 −1 CHANGELOG.md
  17. +24 −15 app/build.gradle
  18. +1,137 −0 app/schemas/com.nextcloud.client.database.NextcloudDatabase/69.json
  19. +1,143 −0 app/schemas/com.nextcloud.client.database.NextcloudDatabase/70.json
  20. +1,143 −0 app/schemas/com.nextcloud.client.database.NextcloudDatabase/71.json
  21. BIN app/screenshots/gplay/debug/com.nextcloud.client.ActivitiesActivityIT_openDrawer.png
  22. BIN app/screenshots/gplay/debug/com.nextcloud.client.AuthenticatorActivityIT_login.png
  23. BIN app/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityScreenshotIT_drawer.png
  24. BIN app/screenshots/gplay/debug/com.nextcloud.client.UploadListActivityActivityIT_openDrawer.png
  25. BIN ...nshots/gplay/debug/com.owncloud.android.ui.activity.NotificationsActivityIT_showNotifications.png
  26. BIN ...hots/gplay/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_localFolderPickerMode.png
  27. BIN app/screenshots/gplay/debug/com.owncloud.android.ui.activity.UploadFilesActivityIT_noneSelected.png
  28. BIN app/screenshots/gplay/debug/com.owncloud.android.ui.dialog.DialogFragmentIT_testBottomSheet.png
  29. BIN app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GalleryFragmentIT_showEmpty.png
  30. BIN app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GalleryFragmentIT_showGallery.png
  31. BIN app/screenshots/gplay/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showEmpty.png
  32. BIN ...nshots/gplay/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolder.png
  33. BIN ...shots/gplay/debug/com.owncloud.android.ui.fragment.GroupfolderListFragmentIT_showGroupfolders.png
  34. BIN ...shots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFiles.png
  35. BIN ...gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showFolderTypes.png
  36. BIN ...lay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showRichWorkspace.png
  37. BIN ...gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentStaticServerIT_showSharedFiles.png
  38. BIN ...screenshots/gplay/debug/com.owncloud.android.ui.fragment.SharedListFragmentIT_showSharedFiles.png
  39. +22 −0 app/src/androidTest/java/com/nextcloud/client/account/UserAccountManagerImplTest.java
  40. +6 −2 app/src/androidTest/java/com/nextcloud/client/jobs/ContactsBackupIT.kt
  41. +53 −0 app/src/androidTest/java/com/nmc/android/ui/LauncherActivityIT.kt
  42. +7 −3 app/src/androidTest/java/com/owncloud/android/AbstractIT.java
  43. +36 −2 app/src/androidTest/java/com/owncloud/android/providers/DocumentsStorageProviderIT.kt
  44. +89 −29 app/src/androidTest/java/com/owncloud/android/ui/dialog/DialogFragmentIT.java
  45. +1 −1 app/src/androidTest/java/com/owncloud/android/ui/dialog/SetupEncryptionDialogFragmentIT.kt
  46. +9 −8 app/src/androidTest/java/com/owncloud/android/ui/fragment/FileDetailSharingFragmentIT.kt
  47. +28 −14 app/src/androidTest/java/com/owncloud/android/ui/fragment/GalleryFragmentIT.kt
  48. +89 −0 app/src/androidTest/java/com/owncloud/android/ui/fragment/GroupfolderListFragmentIT.kt
  49. +18 −14 app/src/androidTest/java/com/owncloud/android/ui/fragment/OCFileListFragmentStaticServerIT.kt
  50. +185 −0 app/src/androidTest/java/com/owncloud/android/ui/fragment/SharedListFragmentIT.kt
  51. +2 −2 app/src/androidTest/java/com/owncloud/android/ui/trashbin/TrashbinLocalRepository.kt
  52. +215 −77 app/src/androidTest/java/com/owncloud/android/util/EncryptionTestIT.java
  53. +36 −0 app/src/generic/java/com/nextcloud/android/appReview/InAppReviewHelperImpl.kt
  54. +137 −0 app/src/gplay/java/com/nextcloud/android/appReview/InAppReviewHelperImpl.kt
  55. +3 −12 app/src/gplay/java/com/owncloud/android/utils/PushUtils.java
  56. +35 −0 app/src/huawei/java/com/nextcloud/android/appReview/InAppReviewHelperImpl.kt
  57. +14 −5 app/src/main/AndroidManifest.xml
  58. +30 −0 app/src/main/java/com/nextcloud/appReview/AppReviewShownModel.kt
  59. +48 −0 app/src/main/java/com/nextcloud/appReview/InAppReviewHelper.kt
  60. +39 −0 app/src/main/java/com/nextcloud/appReview/InAppReviewModule.kt
  61. +3 −1 app/src/main/java/com/nextcloud/client/account/UserAccountManagerImpl.java
  62. +5 −1 app/src/main/java/com/nextcloud/client/database/NextcloudDatabase.kt
  63. +3 −1 app/src/main/java/com/nextcloud/client/database/entity/CapabilityEntity.kt
  64. +3 −1 app/src/main/java/com/nextcloud/client/database/entity/FileEntity.kt
  65. +4 −0 app/src/main/java/com/nextcloud/client/database/migrations/DatabaseMigrationUtil.kt
  66. +38 −0 app/src/main/java/com/nextcloud/client/database/migrations/Migration70to71.kt
  67. +2 −0 app/src/main/java/com/nextcloud/client/di/AppComponent.java
  68. +8 −0 app/src/main/java/com/nextcloud/client/di/AppModule.java
  69. +10 −5 app/src/main/java/com/nextcloud/client/di/ComponentsModule.java
  70. +1 −3 app/src/main/java/com/nextcloud/client/documentscan/DocumentScanViewModel.kt
  71. +1 −0 app/src/main/java/com/nextcloud/client/etm/EtmActivity.kt
  72. +6 −9 app/src/main/java/com/nextcloud/client/jobs/AccountRemovalWork.kt
  73. +10 −11 app/src/main/java/com/nextcloud/client/jobs/BackgroundJobFactory.kt
  74. +4 −8 app/src/main/java/com/nextcloud/client/jobs/BackgroundJobManagerImpl.kt
  75. +2 −1 app/src/main/java/com/nextcloud/client/jobs/CalendarBackupWork.kt
  76. +4 −2 app/src/main/java/com/nextcloud/client/jobs/ContactsBackupWork.kt
  77. +10 −4 app/src/main/java/com/nextcloud/client/jobs/ContactsImportWork.kt
  78. +2 −7 app/src/main/java/com/nextcloud/client/jobs/FilesSyncWork.kt
  79. +116 −0 app/src/main/java/com/nextcloud/client/jobs/FilesUploadWorker.kt
  80. +2 −2 app/src/main/java/com/nextcloud/client/jobs/MediaFoldersDetectionWork.kt
  81. +3 −2 app/src/main/java/com/nextcloud/client/jobs/NotificationWork.kt
  82. +3 −3 app/src/main/java/com/nextcloud/client/media/ErrorFormat.kt
  83. +8 −1 app/src/main/java/com/nextcloud/client/media/NextcloudExoPlayer.kt
  84. +3 −1 app/src/main/java/com/nextcloud/client/media/PlayerStateMachine.kt
  85. +35 −9 app/src/main/java/com/nextcloud/client/mixins/ActivityMixin.kt
  86. +7 −0 app/src/main/java/com/nextcloud/client/preferences/AppPreferences.java
  87. +19 −0 app/src/main/java/com/nextcloud/client/preferences/AppPreferencesImpl.java
  88. +14 −6 app/src/main/java/com/nextcloud/ui/fileactions/FileActionsBottomSheet.kt
  89. +79 −0 app/src/main/java/com/nextcloud/utils/Extensions.kt
  90. +9 −1 app/src/main/java/com/nextcloud/utils/ShortcutUtil.kt
  91. +84 −0 app/src/main/java/com/nmc/android/ui/LauncherActivity.kt
  92. +20 −2 app/src/main/java/com/owncloud/android/MainApp.java
  93. +4 −4 app/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java
  94. +6 −2 app/src/main/java/com/owncloud/android/datamodel/ContentResolverHelper.kt
  95. +29 −36 app/src/main/java/com/owncloud/android/datamodel/DecryptedFolderMetadata.java
  96. +31 −0 app/src/main/java/com/owncloud/android/datamodel/EncryptedFiledrop.kt
  97. +4 −8 app/src/main/java/com/owncloud/android/datamodel/EncryptedFolderMetadata.java
  98. +19 −1 app/src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.java
  99. +16 −0 app/src/main/java/com/owncloud/android/datamodel/OCFile.java
  100. +44 −0 app/src/main/java/com/owncloud/android/datamodel/SyncedFolderProvider.java
  101. +5 −2 app/src/main/java/com/owncloud/android/db/ProviderMeta.java
  102. +6 −3 app/src/main/java/com/owncloud/android/files/services/FileUploader.java
  103. +9 −3 app/src/main/java/com/owncloud/android/operations/CreateFolderOperation.java
  104. +3 −3 app/src/main/java/com/owncloud/android/operations/CreateShareWithShareeOperation.java
  105. +2 −2 app/src/main/java/com/owncloud/android/operations/RefreshFolderOperation.java
  106. +19 −14 app/src/main/java/com/owncloud/android/operations/RemoveRemoteEncryptedFileOperation.java
  107. +16 −3 app/src/main/java/com/owncloud/android/operations/UploadFileOperation.java
  108. +5 −4 app/src/main/java/com/owncloud/android/providers/DocumentsStorageProvider.java
  109. +10 −0 app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java
  110. +6 −0 app/src/main/java/com/owncloud/android/ui/activity/EditorWebView.java
  111. +6 −0 app/src/main/java/com/owncloud/android/ui/activity/ExternalSiteWebView.java
  112. +2 −1 app/src/main/java/com/owncloud/android/ui/activity/FileActivity.java
  113. +75 −2 app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java
  114. +4 −2 app/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.kt
  115. +4 −7 app/src/main/java/com/owncloud/android/ui/activity/NotificationsActivity.java
  116. +3 −0 app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java
  117. +0 −7 app/src/main/java/com/owncloud/android/ui/activity/RichDocumentsEditorWebView.java
  118. +19 −4 app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java
  119. +7 −0 app/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java
  120. +3 −2 app/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.kt
  121. +7 −7 app/src/main/java/com/owncloud/android/ui/adapter/GalleryAdapter.kt
  122. +90 −0 app/src/main/java/com/owncloud/android/ui/adapter/GroupfolderListAdapter.kt
  123. +8 −0 app/src/main/java/com/owncloud/android/ui/adapter/ListItemViewHolder.kt
  124. +1 −0 app/src/main/java/com/owncloud/android/ui/adapter/LocalFileListAdapter.java
  125. +31 −16 app/src/main/java/com/owncloud/android/ui/adapter/NotificationListAdapter.java
  126. +55 −1 app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java
  127. +8 −9 app/src/main/java/com/owncloud/android/ui/adapter/OCFileListDelegate.kt
  128. +13 −0 app/src/main/java/com/owncloud/android/ui/adapter/OCFileListItemViewHolder.kt
  129. +3 −1 app/src/main/java/com/owncloud/android/ui/adapter/OCShareToOCFileConverter.kt
  130. +3 −5 app/src/main/java/com/owncloud/android/ui/adapter/TrashbinListAdapter.java
  131. +2 −1 app/src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java
  132. +5 −0 app/src/main/java/com/owncloud/android/ui/adapter/UploaderAdapter.java
  133. +2 −5 app/src/main/java/com/owncloud/android/ui/asynctasks/GallerySearchTask.java
  134. +72 −0 app/src/main/java/com/owncloud/android/ui/asynctasks/GroupfoldersSearchTask.kt
  135. +9 −1 app/src/main/java/com/owncloud/android/ui/asynctasks/LoadContactsTask.java
  136. +29 −25 app/src/main/java/com/owncloud/android/ui/dialog/ChooseRichDocumentsTemplateDialogFragment.java
  137. +3 −1 app/src/main/java/com/owncloud/android/ui/dialog/ChooseTemplateDialogFragment.kt
  138. +4 −1 app/src/main/java/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java
  139. +13 −3 app/src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java
  140. +21 −5 app/src/main/java/com/owncloud/android/ui/dialog/SetupEncryptionDialogFragment.java
  141. +32 −4 app/src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java
  142. +1 −1 app/src/main/java/com/owncloud/android/ui/fragment/FileDetailsSharingProcessFragment.kt
  143. +1 −2 app/src/main/java/com/owncloud/android/ui/fragment/GalleryFragment.java
  144. +175 −0 app/src/main/java/com/owncloud/android/ui/fragment/GroupfolderListFragment.kt
  145. +0 −71 app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialogFragment.kt
  146. +92 −21 app/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java
  147. +7 −1 app/src/main/java/com/owncloud/android/ui/fragment/OCFileListSearchAsyncTask.kt
  148. +2 −1 app/src/main/java/com/owncloud/android/ui/fragment/SearchType.kt
  149. +2 −0 app/src/main/java/com/owncloud/android/ui/fragment/SharedListFragment.kt
  150. +11 −4 app/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/BackupFragment.java
  151. +3 −1 app/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java
  152. +27 −0 app/src/main/java/com/owncloud/android/ui/interfaces/GroupfolderListInterface.kt
  153. +8 −1 app/src/main/java/com/owncloud/android/ui/preview/pdf/PreviewPdfFragment.kt
  154. +3 −0 app/src/main/java/com/owncloud/android/ui/preview/pdf/PreviewPdfViewModel.kt
  155. +4 −3 app/src/main/java/com/owncloud/android/ui/trashbin/RemoteTrashbinRepository.java
  156. +1 −1 app/src/main/java/com/owncloud/android/ui/trashbin/TrashbinActivity.java
  157. +1 −1 app/src/main/java/com/owncloud/android/ui/trashbin/TrashbinContract.java
  158. +1 −1 app/src/main/java/com/owncloud/android/ui/trashbin/TrashbinPresenter.java
  159. +1 −1 app/src/main/java/com/owncloud/android/ui/trashbin/TrashbinRepository.java
  160. +4 −1 app/src/main/java/com/owncloud/android/utils/DisplayUtils.java
  161. +6 −0 app/src/main/java/com/owncloud/android/utils/DrawerMenuUtil.java
  162. +277 −54 app/src/main/java/com/owncloud/android/utils/EncryptionUtils.java
  163. +5 −2 app/src/main/java/com/owncloud/android/utils/FileStorageUtils.java
  164. +2 −9 app/src/main/java/com/owncloud/android/utils/FilesSyncHelper.java
  165. +10 −0 app/src/main/java/com/owncloud/android/utils/MimeTypeUtil.java
  166. +2 −2 app/src/main/java/third_parties/ezvcard_android/ContactOperations.java
  167. +4 −2 app/src/main/java/third_parties/sufficientlysecure/ProcessVEvent.java
  168. BIN app/src/main/res/drawable-hdpi/logo.png
  169. +28 −0 app/src/main/res/drawable/file_analytics.xml
  170. +29 −0 app/src/main/res/drawable/folder_auto_upload.xml
  171. +0 −31 app/src/main/res/drawable/launch_screen.xml
  172. +29 −0 app/src/main/res/drawable/logo.xml
  173. +35 −0 app/src/main/res/drawable/nextcloud_splash_logo.xml
  174. +69 −0 app/src/main/res/layout/activity_splash.xml
  175. +7 −0 app/src/main/res/layout/file_details_fragment.xml
  176. +324 −304 app/src/main/res/layout/file_list_actions_bottom_sheet_fragment.xml
  177. +119 −43 app/src/main/res/layout/list_item.xml
  178. +31 −25 app/src/main/res/layout/notification_list_item.xml
  179. +5 −0 app/src/main/res/menu/partial_drawer_entries.xml
  180. +8 −12 app/src/main/res/values-ar/strings.xml
  181. +6 −6 app/src/main/res/values-b+en+001/strings.xml
  182. +1 −5 app/src/main/res/values-bg-rBG/strings.xml
  183. +1 −4 app/src/main/res/values-br/strings.xml
  184. +4 −8 app/src/main/res/values-ca/strings.xml
  185. +5 −5 app/src/main/res/values-cs-rCZ/strings.xml
  186. +9 −7 app/src/main/res/values-da/strings.xml
  187. +5 −5 app/src/main/res/values-de/strings.xml
  188. +1 −5 app/src/main/res/values-el/strings.xml
  189. +1 −4 app/src/main/res/values-eo/strings.xml
  190. +1 −4 app/src/main/res/values-es-rAR/strings.xml
  191. +1 −2 app/src/main/res/values-es-rCL/strings.xml
  192. +1 −2 app/src/main/res/values-es-rCO/strings.xml
  193. +1 −2 app/src/main/res/values-es-rCR/strings.xml
  194. +1 −2 app/src/main/res/values-es-rDO/strings.xml
  195. +5 −2 app/src/main/res/values-es-rEC/strings.xml
  196. +1 −2 app/src/main/res/values-es-rGT/strings.xml
  197. +1 −2 app/src/main/res/values-es-rMX/strings.xml
  198. +1 −2 app/src/main/res/values-es-rSV/strings.xml
  199. +1 −2 app/src/main/res/values-es-rUY/strings.xml
  200. +5 −5 app/src/main/res/values-es/strings.xml
  201. +1 −5 app/src/main/res/values-eu/strings.xml
  202. +1 −4 app/src/main/res/values-fa/strings.xml
  203. +2 −5 app/src/main/res/values-fi-rFI/strings.xml
  204. +5 −5 app/src/main/res/values-fr/strings.xml
  205. +1 −4 app/src/main/res/values-gd/strings.xml
  206. +0 −5 app/src/main/res/values-gl/strings.xml
  207. +1 −5 app/src/main/res/values-hr/strings.xml
  208. +1 −5 app/src/main/res/values-hu-rHU/strings.xml
  209. +1 −2 app/src/main/res/values-in/strings.xml
  210. +1 −4 app/src/main/res/values-is/strings.xml
  211. +4 −5 app/src/main/res/values-it/strings.xml
  212. +1 −4 app/src/main/res/values-iw/strings.xml
  213. +1 −5 app/src/main/res/values-ja-rJP/strings.xml
  214. +1 −2 app/src/main/res/values-ka-rGE/strings.xml
  215. +1 −5 app/src/main/res/values-ko/strings.xml
  216. +1 −4 app/src/main/res/values-lo/strings.xml
  217. +1 −5 app/src/main/res/values-lt-rLT/strings.xml
  218. +1 −2 app/src/main/res/values-lv/strings.xml
  219. +1 −4 app/src/main/res/values-mk/strings.xml
  220. +1 −5 app/src/main/res/values-nb-rNO/strings.xml
  221. +2 −5 app/src/main/res/values-nl/strings.xml
  222. +3 −5 app/src/main/res/values-pl/strings.xml
  223. +5 −5 app/src/main/res/values-pt-rBR/strings.xml
  224. +1 −4 app/src/main/res/values-pt-rPT/strings.xml
  225. +1 −5 app/src/main/res/values-ro/strings.xml
  226. +6 −5 app/src/main/res/values-ru/strings.xml
  227. +1 −4 app/src/main/res/values-sc/strings.xml
  228. +1 −5 app/src/main/res/values-sk-rSK/strings.xml
  229. +2 −5 app/src/main/res/values-sl/strings.xml
  230. +1 −4 app/src/main/res/values-sq/strings.xml
  231. +1 −4 app/src/main/res/values-sr-rSP/strings.xml
  232. +5 −5 app/src/main/res/values-sr/strings.xml
  233. +5 −5 app/src/main/res/values-sv/strings.xml
  234. +0 −2 app/src/main/res/values-th-rTH/strings.xml
  235. +1 −4 app/src/main/res/values-tk/strings.xml
  236. +5 −5 app/src/main/res/values-tr/strings.xml
  237. +3 −5 app/src/main/res/values-uk/strings.xml
  238. +1 −5 app/src/main/res/values-vi/strings.xml
  239. +4 −7 app/src/main/res/values-zh-rCN/strings.xml
  240. +6 −6 app/src/main/res/values-zh-rHK/strings.xml
  241. +5 −5 app/src/main/res/values-zh-rTW/strings.xml
  242. +9 −4 app/src/main/res/values/dims.xml
  243. +5 −1 app/src/main/res/values/setup.xml
  244. +8 −3 app/src/main/res/values/strings.xml
  245. +13 −1 app/src/main/res/values/styles.xml
  246. +36 −0 app/src/qa/java/com/nextcloud/android/appReview/InAppReviewHelperImpl.kt
  247. +34 −0 app/src/test/java/com/nextcloud/android/utils/ExtensionsTest.kt
  248. +6 −1 app/src/test/java/com/nextcloud/client/jobs/BackgroundJobFactoryTest.kt
  249. +1 −1 app/src/test/java/com/nextcloud/client/logger/LoggerTest.kt
  250. +2 −1 app/src/test/java/com/nextcloud/client/logger/ui/LogsViewModelTest.kt
  251. +36 −0 app/src/versionDev/java/com/nextcloud/android/appReview/InAppReviewHelperImpl.kt
  252. +5 −3 appscan/build.gradle
  253. +6 −6 build.gradle
  254. +5 −0 drawable_resources/folder_auto_upload.svg
  255. +8 −46 drawable_resources/logo.svg
  256. +7 −0 drawable_resources/nextcloud-logo.svg
  257. +10 −0 drawable_resources/nextcloud-splash-logo.svg
  258. +5 −0 drawable_resources/x-office-analytics.svg
  259. +6 −0 gradle.properties
  260. +1 −1 gradle/wrapper/gradle-wrapper.properties
  261. +109 −0 jacoco.gradle
  262. +1 −0 scripts/androidScreenshotTest
  263. +4 −1 scripts/runCombinedTest.sh
6 changes: 3 additions & 3 deletions .drone.yml
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ name: tests-stable

steps:
- name: gplay
image: ghcr.io/nextcloud/continuous-integration-android8:2
image: ghcr.io/nextcloud/continuous-integration-android8:3
privileged: true
environment:
LOG_USERNAME:
@@ -65,7 +65,7 @@ name: tests-master

steps:
- name: gplay
image: ghcr.io/nextcloud/continuous-integration-android8:2
image: ghcr.io/nextcloud/continuous-integration-android8:3
privileged: true
environment:
LOG_USERNAME:
@@ -120,7 +120,7 @@ name: allScreenshots

steps:
- name: runAllScreenshots
image: ghcr.io/nextcloud/continuous-integration-android8:2
image: ghcr.io/nextcloud/continuous-integration-android8:3
privileged: true
environment:
GIT_USERNAME:
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -40,6 +40,6 @@ indent_size=2

[*.{kt,kts}]
# IDE does not follow this Ktlint rule strictly, but the default ordering is pretty good anyway, so let's ditch it
disabled_rules=import-ordering
ktlint_standard_import-ordering = disabled
ij_kotlin_allow_trailing_comma = false
ij_kotlin_allow_trailing_comma_on_call_site = false
24 changes: 14 additions & 10 deletions .github/workflows/analysis.yml
Original file line number Diff line number Diff line change
@@ -10,6 +10,10 @@ permissions:
pull-requests: write
contents: write

concurrency:
group: analysis-wrapper-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
analysis:
runs-on: ubuntu-latest
@@ -19,24 +23,24 @@ jobs:
run: |
if [ -z "$GITHUB_HEAD_REF" ]; then
# push
echo "::set-output name=branch::$GITHUB_REF_NAME"
echo "::set-output name=pr::$GITHUB_RUN_ID"
echo "::set-output name=repo::${{ github.repository }}"
echo "branch=$GITHUB_REF_NAME" >> "$GITHUB_OUTPUT"
echo "pr=$GITHUB_RUN_ID" >> "$GITHUB_OUTPUT"
echo "repo=${{ github.repository }}" >> "$GITHUB_OUTPUT"
else
# pull request
echo "::set-output name=branch::$GITHUB_HEAD_REF"
echo "::set-output name=pr::${{ github.event.pull_request.number }}"
echo "::set-output name=repo::${{ github.event.pull_request.head.repo.full_name }}"
echo "branch=$GITHUB_HEAD_REF" >> "$GITHUB_OUTPUT"
echo "pr=${{ github.event.pull_request.number }}" >> "$GITHUB_OUTPUT"
echo "repo=${{ github.event.pull_request.head.repo.full_name }}" >> "$GITHUB_OUTPUT"
fi
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
repository: ${{ steps.get-vars.outputs.repo }}
ref: ${{ steps.get-vars.outputs.branch }}
- name: Set up JDK 11
uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # v3
- name: Set up JDK 17
uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # v3.11.0
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Install dependencies
run: |
python3 -m pip install defusedxml
8 changes: 6 additions & 2 deletions .github/workflows/assembleFlavors.yml
Original file line number Diff line number Diff line change
@@ -7,6 +7,10 @@ on:
# Declare default permissions as read only.
permissions: read-all

concurrency:
group: assemble-flavors-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
flavor:
runs-on: ubuntu-latest
@@ -16,11 +20,11 @@ jobs:
flavor: [ Generic, Gplay, Huawei ]
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
- name: set up JDK 11
- name: set up JDK 17
uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # v3
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Build ${{ matrix.flavor }}
run: |
echo "org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError" >> gradle.properties
8 changes: 6 additions & 2 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -7,6 +7,10 @@ on:
# Declare default permissions as read only.
permissions: read-all

concurrency:
group: check-kotlin-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
check:
runs-on: ubuntu-latest
@@ -16,10 +20,10 @@ jobs:
task: [ detekt, spotlessKotlinCheck ]
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # v3
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Check ${{ matrix.task }}
run: ./gradlew ${{ matrix.task }}
6 changes: 3 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -32,10 +32,10 @@ jobs:
with:
swap-size-gb: 10
- name: Initialize CodeQL
uses: github/codeql-action/init@b2c19fb9a2a485599ccf4ed5d65527d94bc57226 # v2.3.0
uses: github/codeql-action/init@83f0fe6c4988d98a455712a27f0255212bba9bd4 # v2.3.6
with:
languages: ${{ matrix.language }}
- name: Set up JDK
- name: Set up JDK 17
uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # v3.11.0
with:
distribution: "temurin"
@@ -46,4 +46,4 @@ jobs:
echo "org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError" > "$HOME/.gradle/gradle.properties"
./gradlew assembleDebug
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@b2c19fb9a2a485599ccf4ed5d65527d94bc57226 # v2.3.0
uses: github/codeql-action/analyze@83f0fe6c4988d98a455712a27f0255212bba9bd4 # v2.3.6
6 changes: 3 additions & 3 deletions .github/workflows/command-rebase.yml
Original file line number Diff line number Diff line change
@@ -23,15 +23,15 @@ jobs:

steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@3383acd359705b10cb1eeef05c0e88c056ea4666 # v2
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # v3.0.1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reaction-type: "+1"

- name: Checkout the latest code
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
@@ -42,7 +42,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}

- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@3383acd359705b10cb1eeef05c0e88c056ea4666 # v2
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # v3.0.1
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
4 changes: 4 additions & 0 deletions .github/workflows/detectNewJavaFiles.yml
Original file line number Diff line number Diff line change
@@ -7,6 +7,10 @@ on:

permissions: read-all

concurrency:
group: detect-new-java-files-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
detectNewJavaFiles:
runs-on: ubuntu-latest
4 changes: 4 additions & 0 deletions .github/workflows/detectSnapshot.yml
Original file line number Diff line number Diff line change
@@ -7,6 +7,10 @@ on:
# Declare default permissions as read only.
permissions: read-all

concurrency:
group: detect-snapshot-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
detectSnapshot:
runs-on: ubuntu-latest
4 changes: 4 additions & 0 deletions .github/workflows/gradle-wrapper-validation.yml
Original file line number Diff line number Diff line change
@@ -9,6 +9,10 @@ on:
# Declare default permissions as read only.
permissions: read-all

concurrency:
group: validate-gradle-wrapper-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
validation:
name: "Validation"
8 changes: 6 additions & 2 deletions .github/workflows/qa.yml
Original file line number Diff line number Diff line change
@@ -8,6 +8,10 @@ permissions:
pull-requests: write
contents: read

concurrency:
group: qa-build-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
qa:
runs-on: ubuntu-latest
@@ -17,12 +21,12 @@ jobs:
id: check-secrets
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
if: ${{ steps.check-secrets.outputs.ok == 'true' }}
- name: set up JDK 11
- name: set up JDK 17
uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # v3
if: ${{ steps.check-secrets.outputs.ok == 'true' }}
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Install NDK and cmake
if: ${{ steps.check-secrets.outputs.ok == 'true' }}
run: |
6 changes: 5 additions & 1 deletion .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
@@ -10,6 +10,10 @@ on:
# Declare default permissions as read only.
permissions: read-all

concurrency:
group: scorecard-supply-chain-security-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
analysis:
name: Scorecard analysis
@@ -33,6 +37,6 @@ jobs:

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@b2c19fb9a2a485599ccf4ed5d65527d94bc57226 # v2.3.0
uses: github/codeql-action/upload-sarif@83f0fe6c4988d98a455712a27f0255212bba9bd4 # v2.3.6
with:
sarif_file: results.sarif
8 changes: 6 additions & 2 deletions .github/workflows/screenShotTest.yml
Original file line number Diff line number Diff line change
@@ -8,6 +8,10 @@ permissions:
contents: read
pull-requests: write

concurrency:
group: screenshot-test-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
screenshot:
runs-on: macOS-latest
@@ -39,7 +43,7 @@ jobs:
- uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # v3
with:
distribution: "temurin"
java-version: 11
java-version: 17

- name: create AVD and generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true'
@@ -77,7 +81,7 @@ jobs:
sdcard-path-or-size: 100M
target: google_apis
emulator-options: -no-window -gpu swiftshader_indirect -no-snapshot -noaudio -no-boot-anim -skin 500x833
script: ./gradlew uninstallAll gplayDebugExecuteScreenshotTests -Pandroid.testInstrumentationRunnerArguments.annotation=com.owncloud.android.utils.ScreenshotTest -Pandroid.testInstrumentationRunnerArguments.COLOR=${{ matrix.color }} -Pandroid.testInstrumentationRunnerArguments.DARKMODE=${{ matrix.scheme }}
script: ./gradlew uninstallAll gplayDebugExecuteScreenshotTests -Dorg.gradle.jvmargs="--add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.nio.channels=ALL-UNNAMED --add-exports java.base/sun.nio.ch=ALL-UNNAMED" -Pandroid.testInstrumentationRunnerArguments.annotation=com.owncloud.android.utils.ScreenshotTest -Pandroid.testInstrumentationRunnerArguments.COLOR=${{ matrix.color }} -Pandroid.testInstrumentationRunnerArguments.DARKMODE=${{ matrix.scheme }}
- name: upload failing results
if: ${{ failure() }}
env:
10 changes: 7 additions & 3 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
@@ -10,16 +10,20 @@ permissions:
contents: read
pull-requests: write

concurrency:
group: unit-tests-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # v3.11.0
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Delete old comments
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -35,7 +39,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: scripts/uploadReport.sh "${{ secrets.LOG_USERNAME }}" "${{ secrets.LOG_PASSWORD }}" ${{github.event.number}} "test" "Unit" ${{github.event.number}}
- name: Upload coverage to codecov
uses: codecov/codecov-action@894ff025c7b54547a9a2a1e9f228beae737ad3c2 # v3.1.3
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: unit
2 changes: 0 additions & 2 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@

Minimum: NC 16 Server, Android 6.0 Marshmallow

## 3.24.0 (February 13, 2022)
## 3.24.0 (February 13, 2023)

- Several performance optimizations by @starypatyk
- Support multi-page document scanning and exporting to PDF
Loading