Commit graph

635 commits

Author SHA1 Message Date
Álvaro Brey
4cedd9d30d
Merge pull request #11230 from nextcloud/e2eCorrectState
Show setup e2e only when
2023-01-25 09:55:00 +01:00
Álvaro Brey
f0003c4a56
Merge pull request #11264 from nextcloud/dependabot/gradle/com.diffplug.spotless-6.13.0
Build(deps): Bump com.diffplug.spotless from 6.12.0 to 6.13.0
2023-01-25 09:47:58 +01:00
Tobias Kaminsky
974bfbd973
Merge pull request #11287 from nextcloud/fixLocalIDafterUpgrade
upon upgrade localID may be null, better use default value
2023-01-25 07:30:10 +01:00
Álvaro Brey
21479cc912
Apply ktlint style after spotless update
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-24 12:02:04 +01:00
Álvaro Brey
07f744fe8f
Merge pull request #11100 from nextcloud/chore/skip-ui-refresh-when-no-changes
Refresh UI only when changes are detected on the server
2023-01-24 11:53:24 +01:00
Álvaro Brey
29bcfd07fd
NextcloudDatabase: 67 to 68 is a manual migration
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-24 11:21:53 +01:00
Álvaro Brey
42b4519ab1
Add room migration to change local_id to NOT NULL
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-24 10:58:53 +01:00
Álvaro Brey
1f0bcc74b1
Include schema and automigration
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-24 10:02:39 +01:00
tobiasKaminsky
a41ca26b90
upon upgrade localID may be null, better use default value
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-01-24 08:54:55 +01:00
Dariusz Olszewski
d3841cd0ca Partially revert previous commit - existence check required for directories
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2023-01-23 15:54:54 +00:00
Dariusz Olszewski
08db3923cb Skip check for existing files when reading file data from local DB
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2023-01-23 15:54:54 +00:00
Dariusz Olszewski
742fa45f16 Refresh UI only when changes are detected on the server
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2023-01-23 15:12:21 +00:00
Tobias Kaminsky
191d7532c0
Merge pull request #11273 from nextcloud/chore/compile-sdk-33
build: Bump compileSdk to 33
2023-01-20 09:19:11 +01:00
Álvaro Brey
7dc89f1e72
Merge pull request #11269 from nextcloud/fix/10668/create-document-offline-crash
ChooseTemplateDialogFragment: check selectedTemplate is not null before attempting to get the extension
2023-01-19 20:36:11 +01:00
Álvaro Brey
863c9b72c9 EncryptionUtils: fix new lint warning
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-19 15:49:57 +01:00
Álvaro Brey
e236891827 Fix build errors in SDK 33
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-19 15:49:57 +01:00
Álvaro Brey
8200b41225 ChooseTemplateDialogFragment: check selectedTemplate is not null before attempting to get the extension
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-18 12:42:49 +01:00
tobiasKaminsky
0b33eaff97 Changes after rebase
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-01-18 12:23:37 +01:00
tobiasKaminsky
b78e991d54 use localID everywhere
Co-authored-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-01-18 12:23:37 +01:00
Álvaro Brey
59a13e0d4f
Merge pull request #11251 from nextcloud/chore/json-common-cases
Avoid JSON deserialization in common trivial cases
2023-01-17 15:15:50 +01:00
tobiasKaminsky
8c68953884 Show setup e2e only when
- e2e is available on server
- no keys exists yet

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-01-17 14:47:47 +01:00
Álvaro Brey
d93634aac8
Merge pull request #11250 from nextcloud/bugfix/11215
fix(EditorWebView): Move local image upload to the editor web view
2023-01-17 10:34:56 +01:00
Álvaro Brey
cdf048945f Reset search when browsing to a folder from the favorites list
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-16 08:22:46 +00:00
Dariusz Olszewski
49cccd1ccd Clean-up - remove commented diagnostic code
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2023-01-14 23:51:21 +00:00
Dariusz Olszewski
eae9ff15c7 Avoid JSON deserialization in common, trivial cases
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2023-01-14 23:51:21 +00:00
Julius Härtl
23d3dc22b5
fix(EditorWebView): Move local image upload to the editor web view
This makes sure that direct editing apps like text can also use regular
upload image methods through file input elements in the webview

fixes #11215
fixes #10744

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-01-13 21:30:15 +01:00
dependabot[bot]
8b0deac0b4
Build(deps): Bump gradle from 7.3.1 to 7.4.0
Bumps gradle from 7.3.1 to 7.4.0.

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-01-13 09:14:20 +01:00
Álvaro Brey
df0089ed1d
PassCodeManager: add some logic to avoid counting the same activity twice
This is very specific to the case where an activity extending from AuthenticatorActivity _and_ running as `singleTask`
gets restarted, in which case it calls `PassCodeManager.onActivityResumed` twice (once on `onResume` and once on `onNewIntent`).

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-10 14:38:16 +01:00
Álvaro Brey
1c7ffffe03
Merge pull request #11194 from nextcloud/fix/random-lint
fix/random lint
2023-01-09 15:01:45 +01:00
Álvaro Brey
805add5b69 Clear layout inflation lint issues in ReceiveExternalFilesActivity and UploaderAdapter
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-05 08:32:09 +00:00
Álvaro Brey
adae8d9e71 MediaControlView: move to ViewBinding to fix lint issue with inflation and clean up
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-05 08:32:09 +00:00
Álvaro Brey
66e19849cb
Use RSAPublicKey interface instead of OpenSSLRsaPublicKey to avoid conscrypt version conflicts
OpenSSLRsaPublicKey has a different package when using the open-source conscrypt vs. the one inserted
by Play Services.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2023-01-05 09:04:25 +01:00
tobiasKaminsky
7abef86169
Check CSR
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-01-05 09:04:23 +01:00
Tobias Kaminsky
08eea65da7
Merge pull request #11098 from nextcloud/chore/room-for-filelist
Use Room for filelist table reads
2022-12-16 11:13:39 +01:00
Álvaro Brey
6d4a65b45c
FolderPickerActivity: also disable action when trying to move or copy a folder to a descendant of itself
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-15 17:22:11 +01:00
Álvaro Brey
04ffe37d25
FolderPickerActivity: remove EXTRA_CURRENT_FOLDER argument
It was unused (as it never reached the OCFileListFragment, which always starts at /) but was
mistakenly pre-populating the `file` variable with a wrong folder

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-15 11:15:31 +01:00
Álvaro Brey
a824d9a7b5
FolderPickerActivity: properly compare subfolders
Need to use File as well, otherwise trailing slashes are different

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-15 11:15:31 +01:00
Álvaro Brey
3cfd729b3c
FolderPickerActivity: disable copy/move to the same folder
It's a no-op anyways, right now, and causes bad UX

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-15 11:15:25 +01:00
Álvaro Brey
414e573ee6
Fix build failure after update in library
NextcloudVersion now has @JvmStatic in all members, so getters do no longer exist

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-15 10:57:33 +01:00
Dariusz Olszewski
69344bd8fb Remove TODOs as discussed
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
07f61fcfa2 Apply suggestion from code review - FileDataStorageManager
Co-authored-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: Dariusz Olszewski <8277636+starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
1a669e4eb6 Apply suggestions from code review
Co-authored-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: Dariusz Olszewski <8277636+starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
0fb3c92495 Fix compilation of tests (revert marking getFileByEncryptedRemotePath as @Nullable)
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
4df8946b5e spotlessKotlinCheck
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
9cbaa00724 SpotBugs
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
8ec6e3a0af Use Room/DAO for getFolderWithDescendants (used by moveLocalFile) and finally remove createFileInstance(cursor) - no longer needed
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
e76201d59f Use Room/DAO for getGalleryItems and getAllFiles
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
8272facf41 Use Room/DAO for other getFileByX and fileExists
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
5d8bb3e8f5 Simplify getFileById - as suggested in review comment
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Álvaro Brey
dd8a70262e FileEntity: fix parent and contentLength types
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
71180412f9 Use Room/DAO for getFileById
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
32a7120610 Old implementation of getFolderContent ordered results by file name
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
45b9006068 Convert NULL values for integer/long columns to 0 (SpotBugs)
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
1d44674d83 Seems that timestamps need Long rather than Int
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
092a3051df Missing newline (detekt)
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Dariusz Olszewski
cdeff1696b Use Room/DAO for getFolderContent
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-12-13 23:28:15 +01:00
Álvaro Brey
c0788b11b0
Merge pull request #11139 from nextcloud/doNotDeleteEncryptedFolder
Encrypted folder cannot be deleted, must first unset encryption
2022-12-13 16:57:42 +01:00
Álvaro Brey
66c617828a
Merge pull request #11124 from nextcloud/fix/upload-worker-infinite-loop
Fix infinite loop in upload worker
2022-12-12 13:14:20 +01:00
Álvaro Brey
396b920d4f
Merge pull request #11119 from nextcloud/fix/fullscreen-dialog-insets-android9
PreviewVideoFullscreenDialog: fix immersive mode logic
2022-12-12 12:46:27 +01:00
Tobias Kaminsky
b40f7f6e0b
Merge pull request #11122 from nextcloud/fixTemplateId
Template id must be long, as it is fileID, which can be very big
2022-12-06 08:15:19 +01:00
tobiasKaminsky
1d62ee7835
Encrypted folder cannot be deleted, must first unset encryption
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-12-05 09:43:40 +01:00
Álvaro Brey
f403b25599 SettingsActivity: Better error message when davdroid login fails
Server URI is not the only problem that can happen here.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-02 12:36:14 +00:00
Álvaro Brey
aa938747ff
Merge pull request #11106 from nextcloud/throttleSetup
show only one setup dialog, prevents strange situation on double tapping
2022-12-02 11:31:56 +01:00
Álvaro Brey
84044905d1
UploadsStorageManager: remove in-memory limit for queries
Only added for FilesUploadWorker workaround that is no longer used

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-01 17:00:02 +01:00
Álvaro Brey
f425045a31
FilesUploadWorker: fix infinite loop when uploads failed
With the previous approach (uploadsStorageManager.gtCurrentAndPendingUploadsForAccount),
an upload that is, for example, waiting for wifi, would always be returned in the call,
thus the list would never be empty.

To avoid this but still process the uploads in pages to avoid OOM, we'll request them page-wise
from the StorageManager, with the pages ordered by ascending ID. This way we will only process each upload once,
but newly added uploads after we start will not be missed.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-01 16:52:43 +01:00
Álvaro Brey
a3e21d719b
UploadsStorageManager: extract getUploadsPage from getUploads
First step for making it accessible from outside

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-01 16:17:22 +01:00
tobiasKaminsky
52497bb3e3
Template id must be long, as it is fileID, which can be very big
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-12-01 12:13:50 +01:00
Álvaro Brey
4a14602f0e
PreviewVideoFullscreenDialog: fix insets
This was breaking the window in Android 9 when going back twice from a fullscreen video.

Testing steps:
1. Open a video
2. Go to fullscreen
3. Close fullscreen
4. Press Back

This caused a white screen in Android 9 before this PR

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-01 11:04:24 +01:00
Álvaro Brey
5d4b7a6d04
Merge pull request #11113 from nextcloud/fix-crash-when-disabling-airplane-mode
Fix crash when disabling airplane mode
2022-11-30 09:33:56 +01:00
Chris Narkiewicz
45567fb6d4
Fix crash when disabling airplane mode
Fixes #11096

Signed-off-by: Chris Narkiewicz <hello@ezaquarii.com>
2022-11-29 20:17:38 +00:00
Álvaro Brey
f74f59220c
Merge pull request #11089 from nextcloud/fix/video-fullscreen-buffer
Video preview: use fullscreen dialog for video instead of new activity
2022-11-29 13:33:10 +01:00
Álvaro Brey
3f990c3f21 PreviewVideoFullscreenDialog: workaround for rotated videos on sdk < 29
See comments in added code for explanation

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-28 19:22:49 +00:00
Álvaro Brey
bdc0fc71e5 PreviewVideoFullscreenDialog: use listeners to control transfer, and pause the video while transfer is happening
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-28 19:22:49 +00:00
Álvaro Brey
b55d5768de Fix lint and spotbugs
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-28 19:22:49 +00:00
Álvaro Brey
bbb85513e1 Video preview: use fullscreen dialog for video instead of new activity
This allows transfering the playback directly between Player views, thus avoiding creating
a new ExoPlayer, re-starting the stream, having to pass playing status/current position, etc.

Additionally:
- Always enable buffering animation so it's clear when a video is loading
- Add padding to fullscreen duration numbers so they don't get cut off on rounded screens

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-28 19:22:49 +00:00
Tobias Kaminsky
397ba74274 use getParentFragmentManager
Co-authored-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: Tobias Kaminsky <tobias@nextcloud.com>
2022-11-28 14:18:09 +00:00
tobiasKaminsky
831bffe571 show only one setup dialog, prevents strange situation on double tapping
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-11-28 14:18:09 +00:00
Álvaro Brey
e85737f41d Disable StrictMode by default
StrictMode is not a good fit for the state of our app, since we are way too far from async operations or correct threading.
As a result, we find ourselves disabling the strict mode manually every time we actually want to work on something, as otherwise the
logspam drowns everything else.

With this PR I propose to disable StrictMode unless a prop is set in the Gradle build, which will also control LeakCanary.
Running `./gradlew installGplayDebug -P perfAnalysis` will install the app with both LeakCanary and StrictMode enabled.
This allows us to analyze performance problems on demand, without making our daily work harder.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-28 15:09:04 +01:00
tobiasKaminsky
393e34d28c
restart SettingsActivity after changing e2e settings
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-11-24 15:40:26 +01:00
tobiasKaminsky
3f82d37415
revert to master library
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-11-24 15:40:26 +01:00
tobiasKaminsky
f49252c87e
hide e2e options after removing local e2e setup
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-11-24 15:40:26 +01:00
Álvaro Brey
b110735dcc
NextcloudDatabase: enable automigration for new db version
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-24 15:40:26 +01:00
Álvaro Brey
0d098255d9
Pass through SetupEncryptionDF result to SettingsActivity
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-24 15:40:26 +01:00
Álvaro Brey
6b4d6a6dfd
SettingsActivity: fix conditional to show e2e encrypt option
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-24 15:40:26 +01:00
tobiasKaminsky
e3a7453846
properly handle stage 2: key exists, but e2e is not setup on this device
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-11-24 15:40:26 +01:00
Álvaro Brey
1b945b6131
SetupEncryptionDialogFragment: use builtin onCancel for setting cancel result
This captures back button as well

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-24 15:40:26 +01:00
Álvaro Brey
09aac00330
SetupEncryptionActivity: finish activity when error happens
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-24 15:40:26 +01:00
Álvaro Brey
6568d1d272
Close SetupEncryptionActivity when dialog is dismissed
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-24 15:40:26 +01:00
tobiasKaminsky
5b4aba11f5
Better show different states of E2E
Co-authored-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: Tobias Kaminsky <tobias@nextcloud.com>
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-11-24 15:40:24 +01:00
Álvaro Brey
1c4a1063f1
Merge pull request #10928 from nextcloud/test/calendar-skip-empty
Fix issues with calendar exporting
2022-11-23 22:11:31 +01:00
Álvaro Brey
c938a929c1
Merge pull request #11067 from nextcloud/fix/gallery-crash
GalleryFragment: fix crash when scrolling slowly until the end of the list
2022-11-23 22:10:20 +01:00
Álvaro Brey
f797260f76
Merge pull request #11068 from nextcloud/fix/favorites-back-navigation
FileDisplayActivity: fix drawer menu item when browsing back from favorite folder
2022-11-23 22:08:51 +01:00
Álvaro Brey
eaae4a0f9c
Merge pull request #11069 from nextcloud/fix/video-fullscreen-stuck
Misc fixes for video player
2022-11-23 22:07:43 +01:00
Álvaro Brey
09319ac7c3
Merge pull request #11074 from nextcloud/fix/calendar-backup-wrong-account
CalendarBackupWork: upload to configured account, not current account
2022-11-23 22:06:54 +01:00
Álvaro Brey
b0a3d6cc7e
Merge pull request #11059 from nextcloud/feature/3175/shortcuts_bottombar
Allow Pin to Home with file actions bottom sheet
2022-11-23 18:56:38 +01:00
Álvaro Brey
38e83cd03c Keep screen on while video is playing
Fixes #9059

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-23 10:31:49 +00:00
Álvaro Brey
625ada4c17 Add default error and completion handler to Exoplayer in preview fragment/activity
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-23 10:31:49 +00:00
Álvaro Brey
250e8129dd
CalendarBackupWork: upload to configured account, not current account
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-23 11:13:03 +01:00
Álvaro Brey
7d8e37a8a0
FileDisplayActivity: also update sort group after browsing up
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-23 10:26:16 +01:00
Álvaro Brey
850e9e7ec3 CalendarBackupWork: log amount of calendars
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-11-23 08:12:10 +00:00