Skip to content

Commit 825b0ee

Browse files
committed
Merge branch 'release/1.10.0'
2 parents 3dbfc5d + 75988f5 commit 825b0ee

File tree

57 files changed

+693
-152
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+693
-152
lines changed

.idea/deploymentTargetDropDown.xml

-17
This file was deleted.

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ Cryptomator for Android is currently available in the following distribution ch
1212
1. [Using Google Play](https://play.google.com/store/apps/details?id=org.cryptomator)
1313
2. [Using Cryptomator's Website](https://cryptomator.org/android/)
1414
3. [Using Cryptomator's F-Droid Repository](https://cryptomator.org/android/)
15-
4. Building from source using Gradle (instructions below)
15+
4. [Using F-Droid's Main Repository](https://f-droid.org/en/packages/org.cryptomator.lite)
16+
5. Building from source using Gradle (instructions below)
1617

1718
## Building
1819

build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ def getVersionCode = { ->
3838
allprojects {
3939
ext {
4040
androidApplicationId = 'org.cryptomator'
41-
androidVersionCode = 2807 // must be getVersionCode(). only at release tag set the actual value
42-
androidVersionName = '1.9.1'
41+
androidVersionCode = 2824 // must be getVersionCode(). only at release tag set the actual value
42+
androidVersionName = '1.10.0'
4343
}
4444
repositories {
4545
mavenCentral()

fastlane/izzyscript/result_lite.json

+1-1
Large diffs are not rendered by default.

fastlane/release-notes-de.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1-
- Weitere Anpassungen zur Integration in das F-Droid Haupt-Repository
1+
- Workaround für die Bearbeitung von Dateien in Microsoft Office-Anwendungen hinzugefügt
2+
- Unterstützung für thematisches Cryptomator-Symbol hinzugefügt
3+
- Aktualisieren eines veralteten Authentifizierungs-Tokens beim automatischen Hochladen
24
- Übersetzungen aktualisiert

fastlane/release-notes-en.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1-
- Further customizations for integration into the F-Droid main repository
1+
- Add workaround for editing files in Microsoft Office apps
2+
- Add support for themed Cryptomator icon
3+
- Refresh stale authentication token during auto upload
24
- Update translations

fastlane/release-notes.html

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
<ul>
2-
<li>Further customizations for integration into the F-Droid main repository</li>
2+
<li>Add workaround for editing files in Microsoft Office apps</li>
3+
<li>Add support for themed Cryptomator icon</li>
4+
<li>Refresh stale authentication token during auto upload</li>
35
<li>Update translations</li>
46
</ul>

presentation/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml

+1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
33
<background android:drawable="@color/ic_launcher_background"/>
44
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
5+
<monochrome android:drawable="@drawable/ic_launcher_foreground_monochrome" />
56
</adaptive-icon>

presentation/src/lite/res/mipmap-anydpi-v26/ic_launcher.xml

+1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
33
<background android:drawable="@color/ic_launcher_background"/>
44
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
5+
<monochrome android:drawable="@drawable/ic_launcher_foreground_monochrome" />
56
</adaptive-icon>

presentation/src/liteDebug/res/mipmap-anydpi-v26/ic_launcher.xml

+1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
33
<background android:drawable="@color/ic_launcher_background"/>
44
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
5+
<monochrome android:drawable="@drawable/ic_launcher_foreground_monochrome" />
56
</adaptive-icon>

presentation/src/main/AndroidManifest.xml

+4-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
1515
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
1616

17-
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
17+
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
1818

1919
<uses-permission
2020
android:name="android.permission.GET_ACCOUNTS"
@@ -92,6 +92,9 @@
9292
android:exported="false"
9393
android:theme="@style/TransparentPopUp" />
9494

95+
<activity
96+
android:name=".ui.activity.AutoUploadRefreshTokenActivity"
97+
android:exported="false" />
9598
<!-- Settings -->
9699
<activity
97100
android:name=".ui.activity.AutoUploadChooseVaultActivity"

presentation/src/main/java/org/cryptomator/presentation/CryptomatorApp.kt

+6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import android.content.Intent
77
import android.content.ServiceConnection
88
import android.os.Build
99
import android.os.IBinder
10+
import android.os.StrictMode
1011
import androidx.appcompat.app.AppCompatDelegate
1112
import androidx.multidex.MultiDexApplication
1213
import org.cryptomator.data.cloud.crypto.Cryptors
@@ -70,6 +71,11 @@ class CryptomatorApp : MultiDexApplication(), HasComponent<ApplicationComponent>
7071
AppCompatDelegate.setDefaultNightMode(SharedPreferencesHandler(applicationContext()).screenStyleMode)
7172
cleanupCache()
7273

74+
if (SharedPreferencesHandler(applicationContext()).microsoftWorkaround()) {
75+
val builder: StrictMode.VmPolicy.Builder = StrictMode.VmPolicy.Builder()
76+
StrictMode.setVmPolicy(builder.build())
77+
}
78+
7379
RxJavaPlugins.setErrorHandler { e: Throwable? -> Timber.tag("CryptomatorApp").e(e, "BaseErrorHandler detected a problem") }
7480
}
7581

presentation/src/main/java/org/cryptomator/presentation/di/component/ActivityComponent.java

+3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.cryptomator.presentation.ui.activity.AuthenticateCloudActivity;
88
import org.cryptomator.presentation.ui.activity.AuthenticatePCloudActivity;
99
import org.cryptomator.presentation.ui.activity.AutoUploadChooseVaultActivity;
10+
import org.cryptomator.presentation.ui.activity.AutoUploadRefreshTokenActivity;
1011
import org.cryptomator.presentation.ui.activity.BiometricAuthSettingsActivity;
1112
import org.cryptomator.presentation.ui.activity.BrowseFilesActivity;
1213
import org.cryptomator.presentation.ui.activity.ChooseCloudServiceActivity;
@@ -112,6 +113,8 @@ public interface ActivityComponent {
112113

113114
void inject(AutoUploadChooseVaultFragment autoUploadChooseVaultFragment);
114115

116+
void inject(AutoUploadRefreshTokenActivity autoUploadRefreshTokenActivity);
117+
115118
void inject(LicenseCheckActivity licenseCheckActivity);
116119

117120
void inject(UnlockVaultActivity unlockVaultActivity);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package org.cryptomator.presentation.presenter
2+
3+
import org.cryptomator.domain.Cloud
4+
import org.cryptomator.domain.di.PerView
5+
import org.cryptomator.domain.exception.authentication.AuthenticationException
6+
import org.cryptomator.generator.Callback
7+
import org.cryptomator.presentation.CryptomatorApp
8+
import org.cryptomator.presentation.exception.ExceptionHandlers
9+
import org.cryptomator.presentation.ui.activity.view.AutoUploadRefreshTokenView
10+
import org.cryptomator.presentation.workflow.ActivityResult
11+
import org.cryptomator.presentation.workflow.AuthenticationExceptionHandler
12+
import javax.inject.Inject
13+
14+
@PerView
15+
class AutoUploadRefreshTokenPresenter @Inject constructor(
16+
exceptionHandlers: ExceptionHandlers, //
17+
private val authenticationExceptionHandler: AuthenticationExceptionHandler, //
18+
) : Presenter<AutoUploadRefreshTokenView>(exceptionHandlers) {
19+
20+
fun refreshCloudToken(authenticationException: AuthenticationException) {
21+
authenticationExceptionHandler.handleAuthenticationException( //
22+
this@AutoUploadRefreshTokenPresenter, //
23+
authenticationException, //
24+
ActivityResultCallbacks.onAutoUploadCloudAuthenticated(authenticationException.cloud)
25+
)
26+
}
27+
28+
@Callback(dispatchResultOkOnly = false)
29+
fun onAutoUploadCloudAuthenticated(result: ActivityResult, cloud: Cloud) {
30+
if (result.isResultOk) {
31+
val cryptomatorApp = activity().application as CryptomatorApp
32+
cryptomatorApp.startAutoUpload(cloud)
33+
}
34+
finish()
35+
}
36+
}

0 commit comments

Comments
 (0)