cryptomator / cryptomator/android
Accssing a folder that doesn't have a lvl2Dir linked to the dir.c9r should show an specific error message
- Dominant language
- Kotlin
- Stars
- 1.2k
- Forks
- 216
- PR merge metrics
- No merged PRs in 30d
Description
### Please agree to the following
- [X] I have searched [existing issues](https://github.com/cryptomator/android/issues?q=) for duplicates
- [X] I agree to follow this project's [Code of Conduct](https://github.com/cryptomator/android/blob/develop/.github/CODE_OF_CONDUCT.md)
### Summary
Currently accessing a folder for which the linked lvl2Dir doesn't exists fails with an general error toast but should show an specific error
### System Setup
```markdown
- Android: X
- Cryptomator: 1.7.5
```
### Cloud Type
_No response_
### Steps to Reproduce
1. Delete the lvl2Dir of a folder
2. Try to access the folder
### Expected Behavior
An understandable error message is displayed
### Actual Behavior
A general error message is displayed
### Reproducibility
Always
### Relevant Log Output
```shell
org.cryptomator.debug E/ExceptionHandler: java.lang.IllegalArgumentException: Failed to determine if primary:Vaults/asdf/d/EA/VXYO2XV6JL5FP76JHX7GNPGH3AYCO2 is child of primary:Vaults: java.io.FileNotFoundException: Missing file for primary:Vaults/asdf/d/EA/VXYO2XV6JL5FP76JHX7GNPGH3AYCO2 at /storage/emulated/0/Vaults/asdf/d/EA/VXYO2XV6JL5FP76JHX7GNPGH3AYCO2
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:172)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)
at android.content.ContentProviderProxy.query(ContentProviderNative.java:481)
at android.content.ContentResolver.query(ContentResolver.java:1219)
at android.content.ContentResolver.query(ContentResolver.java:1151)
at android.content.ContentResolver.query(ContentResolver.java:1107)
at org.cryptomator.data.cloud.local.LocalStorageAccessFrameworkImpl.list(LocalStorageAccessFrameworkImpl.kt:170)
at org.cryptomator.data.cloud.local.LocalStorageAccessFrameworkContentRepository.list(LocalStorageAccessFrameworkContentRepository.kt:54)
at org.cryptomator.data.cloud.local.LocalStorageAccessFrameworkContentRepository.list(LocalStorageAccessFrameworkContentRepository.kt:18)
at org.cryptomator.data.repository.DispatchingCloudContentRepository.list(DispatchingCloudContentRepository.kt:103)
at org.cryptomator.data.cloud.crypto.CryptoImplVaultFormat7.list(CryptoImplVaultFormat7.kt:151)
at org.cryptomator.data.cloud.crypto.CryptoCloudContentRepository.list(CryptoCloudContentRepository.kt:58)
at org.cryptomator.data.cloud.crypto.CryptoCloudContentRepository.list(CryptoCloudContentRepository.kt:21)
at org.cryptomator.data.repository.DispatchingCloudContentRepository.list(DispatchingCloudContentRepository.kt:103)
at org.cryptomator.domain.usecases.cloud.GetCloudList.execute(GetCloudList.java:24)
at org.cryptomator.domain.usecases.cloud.GetCloudListUseCase$Launcher$2.call(GetCloudListUseCase.java:92)
at org.cryptomator.domain.usecases.cloud.GetCloudListUseCase$Launcher$2.call(GetCloudListUseCase.java:86)
at io.reactivex.internal.operators.flowable.FlowableFromCallable.subscribeActual(FlowableFromCallable.java:39)
at io.reactivex.Flowable.subscribe(Flowable.java:14935)
at io.reactivex.Flowable.subscribe(Flowable.java:14882)
at io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run(FlowableSubscribeOn.java:82)
at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$BooleanRunnable.run(ExecutorScheduler.java:288)
at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker.run(ExecutorScheduler.java:253)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:920)
ErrorCode: JI27:FBHQ
```
### Anything else?
Must be checked for each cloud
Contributor guide
Assessment
This issue has not been assessed yet.