diff --git a/.crowdin.yml b/.crowdin.yml
index d0ae7b74..93dfa9cb 100644
--- a/.crowdin.yml
+++ b/.crowdin.yml
@@ -2,4 +2,7 @@ escape_special_characters: 0
commit_message: '[ci skip]'
files:
- source: /presentation/src/main/res/values/strings.xml
- translation: /presentation/src/main/res/values-%two_letters_code%/strings.xml
+ translation: /presentation/src/main/res/values-%android_code%/%original_file_name%
+ skip_untranslated_strings: true
+ skip_untranslated_files: false
+ export_only_approved: false
diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md
deleted file mode 100644
index b0d1c1e5..00000000
--- a/.github/ISSUE_TEMPLATE/bug.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-name: "Bug Report"
-about: "Create a report to help us improve"
-labels: type:bug
----
-
-
-
-### Description
-
-[Summarize your problem.]
-
-### System Setup
-
-* Android version: [Shown in the settings of Android]
-* Cryptomator version: [Shown in the settings of Cryptomator]
-* Cloud type: [Dropbox/Google Drive/OneDrive/pCloud/WebDAV/S3/Local storage]
-
-### Steps to Reproduce
-
-1. [First step]
-2. [Second step]
-3. [and so on…]
-
-#### Expected Behavior
-
-[What you expect to happen.]
-
-#### Actual Behavior
-
-[What actually happens.]
-
-#### Reproducibility
-
-[Always/Intermittent/Only once]
-
-### Additional Information
-
-[Any additional information, log files, screenshots or a movie while reproducing the problem, configuration, or data that might be necessary to reproduce the issue.]
-
-
diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml
new file mode 100644
index 00000000..eaadb708
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug.yml
@@ -0,0 +1,95 @@
+name: Bug Report
+description: Create a report to help us improve
+labels: ["type:bug"]
+body:
+ - type: checkboxes
+ id: terms
+ attributes:
+ label: Please agree to the following
+ options:
+ - label: I have searched [existing issues](https://github.com/cryptomator/android/issues?q=) for duplicates
+ required: true
+ - label: I agree to follow this project's [Code of Conduct](https://github.com/cryptomator/android/blob/develop/.github/CODE_OF_CONDUCT.md)
+ required: true
+ - type: input
+ id: summary
+ attributes:
+ label: Summary
+ placeholder: Please summarize your problem.
+ validations:
+ required: true
+ - type: textarea
+ id: software-versions
+ attributes:
+ label: System Setup
+ description: |
+ What software is involved? Please provide version numbers as well.
+ value: |
+ - Android: [Version shown in the settings of Android"]
+ - Cryptomator: [Version shown in the settings of Cryptomator]
+ - …
+ render: markdown
+ validations:
+ required: true
+ - type: dropdown
+ id: cloud-type
+ attributes:
+ label: Cloud Type
+ description: Where is your vault located?
+ multiple: true
+ options:
+ - Dropbox
+ - Google Drive
+ - OneDrive
+ - WebDAV
+ - pCloud
+ - S3
+ - Local storage
+ validations:
+ required: false
+ - type: textarea
+ id: reproduction-steps
+ attributes:
+ label: Steps to Reproduce
+ value: |
+ 1. [First Step]
+ 2. [Second Step]
+ 3. …
+ validations:
+ required: true
+ - type: textarea
+ id: expected-behaviour
+ attributes:
+ label: Expected Behavior
+ placeholder: What you expect to happen.
+ validations:
+ required: true
+ - type: textarea
+ id: actual-behaviour
+ attributes:
+ label: Actual Behavior
+ placeholder: What actually happens.
+ validations:
+ required: true
+ - type: dropdown
+ id: reproducibility
+ attributes:
+ label: Reproducibility
+ description: How often does the described behaviour occur?
+ options:
+ - Always
+ - Intermittent
+ - Only once
+ validations:
+ required: true
+ - type: textarea
+ id: logs
+ attributes:
+ label: Relevant Log Output
+ description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
+ render: shell
+ - type: textarea
+ id: further-info
+ attributes:
+ label: Anything else?
+ description: Links? References? Screenshots? Configurations? Any data that might be necessary to reproduce the issue?
diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md
deleted file mode 100644
index 91b7c00b..00000000
--- a/.github/ISSUE_TEMPLATE/feature.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-name: "Feature Request"
-about: "Suggest an idea for this project"
-labels: type:feature-request
----
-
-
-
-
-### Summary
-
-[One paragraph explanation of the feature.]
-
-### Motivation
-
-[Why are we doing this? What use cases does it support? What is the expected outcome?]
-
-### Considered Alternatives
-
-[A clear and concise description of the alternative solutions you've considered.]
-
-### Additional Context
-
-[Add any other context or screenshots about the feature request here.]
diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml
new file mode 100644
index 00000000..a897209b
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature.yml
@@ -0,0 +1,37 @@
+name: Feature Request
+description: Suggest an idea for this project
+labels: ["type:feature-request"]
+body:
+ - type: checkboxes
+ id: terms
+ attributes:
+ label: Please agree to the following
+ options:
+ - label: I have searched [existing issues](https://github.com/cryptomator/android/issues?q=) for duplicates
+ required: true
+ - label: I agree to follow this project's [Code of Conduct](https://github.com/cryptomator/android/blob/develop/.github/CODE_OF_CONDUCT.md)
+ required: true
+ - type: input
+ id: summary
+ attributes:
+ label: Summary
+ placeholder: Please summarize your feature request.
+ validations:
+ required: true
+ - type: textarea
+ id: motivation
+ attributes:
+ label: Motivation
+ description: Who requires this feature? What problem does the user face? How would this feature solve the problem?
+ validations:
+ required: true
+ - type: textarea
+ id: alternatives
+ attributes:
+ label: Considered Alternatives
+ description: What current alternatives or workarounds have you considered? Is there a different way to solve the same problem?
+ - type: textarea
+ id: context
+ attributes:
+ label: Anything else?
+ description: Any context, suggestions, screenshots, or concepts you want to share?
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index fb6ada4f..d85846e3 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -15,6 +15,6 @@ jobs:
fetch-depth: 0
- uses: actions/setup-java@v1
with:
- java-version: 1.8
+ java-version: 11
- name: Build and Test
run: bash ./gradlew clean test --stacktrace
diff --git a/.github/workflows/triageBugs.yml b/.github/workflows/triageBugs.yml
deleted file mode 100644
index 5f18126c..00000000
--- a/.github/workflows/triageBugs.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-name: Bug Report Triage
-
-on:
- issues:
- types: [opened]
-
-jobs:
- closeTemplateViolation:
- name: Validate bug report against issue template
- runs-on: ubuntu-latest
- if: contains(github.event.issue.labels.*.name, 'type:bug')
- steps:
- - name: Check "Description"
- if: |
- !contains(github.event.issue.body, env.MUST_CONTAIN)
- || contains(toJson(github.event.issue.body), env.MUST_NOT_CONTAIN)
- run: exit 1
- env:
- MUST_CONTAIN: '### Description'
- MUST_NOT_CONTAIN: '### Description\r\n\r\n[Summarize your problem.]\r\n\r\n### System Setup'
- - name: Check "Steps to Reproduce"
- if: |
- !contains(github.event.issue.body, env.MUST_CONTAIN)
- || contains(toJson(github.event.issue.body), env.MUST_NOT_CONTAIN)
- run: exit 1
- env:
- MUST_CONTAIN: '### Steps to Reproduce'
- MUST_NOT_CONTAIN: '### Steps to Reproduce\r\n\r\n1. [First step]\r\n2. [Second step]\r\n3. [and so on…]\r\n\r\n#### Expected Behavior'
- - name: Close issue if one of the checks failed
- if: ${{ failure() }}
- uses: peter-evans/close-issue@v1
- with:
- comment: |
- This bug report did ignore our issue template. 😞
- Auto-closing this issue, since it is most likely not useful.
-
- _This decision was made by a bot. If you think the bot is wrong, let us know and we'll reopen this issue._
-
diff --git a/.gitignore b/.gitignore
index 97f67a87..000f857e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,3 +49,6 @@ local.properties
# fdroid
**/fastlane/repo/**
**/fastlane/tmp/**
+**/fastlane/izzyscript/iod-scan-apk.php
+**/fastlane/izzyscript/current_iod-scan-apk.php
+**/fastlane/izzyscript/current_result_*.json
diff --git a/.gitmodules b/.gitmodules
index 393a652c..f3a2516e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,9 +1,9 @@
[submodule "msa-auth-for-android"]
- path = msa-auth-for-android
+ path = lib/msa-auth-for-android
url = https://github.com/SailReal/msa-auth-for-android.git
[submodule "subsampling-scale-image-view"]
- path = subsampling-scale-image-view
+ path = lib/subsampling-scale-image-view
url = https://github.com/SailReal/subsampling-scale-image-view.git
[submodule "pcloud-sdk-java"]
- path = pcloud-sdk-java
- url = https://github.com/SailReal/pcloud-sdk-java
+ path = lib/pcloud-sdk-java
+ url = https://github.com/SailReal/pcloud-sdk-java.git
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
index ad42ec10..1ed39b2b 100644
--- a/.idea/codeStyles/Project.xml
+++ b/.idea/codeStyles/Project.xml
@@ -31,6 +31,7 @@
+
@@ -178,10 +179,11 @@
+
-
\ No newline at end of file
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 50124b03..7dccb165 100755
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -45,7 +45,7 @@
-
+
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
index 7f68460d..e497da99 100755
--- a/.idea/runConfigurations.xml
+++ b/.idea/runConfigurations.xml
@@ -3,6 +3,7 @@