Skip to content

Commit 0af633c

Browse files
committed
Merge branch 'release/1.11.0'
2 parents 58e97cb + 56e7151 commit 0af633c

File tree

67 files changed

+233
-83
lines changed

Some content is hidden

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

67 files changed

+233
-83
lines changed

Gemfile

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ gem "fastlane"
44
gem "net-sftp"
55
gem "ed25519"
66
gem "bcrypt_pbkdf"
7+
gem 'fastlane-plugin-bundletool'
78

89
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
910
eval_gemfile(plugins_path) if File.exist?(plugins_path)

Gemfile.lock

+2
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ GEM
118118
apktools (~> 0.7)
119119
aws-sdk-s3 (~> 1)
120120
mime-types (~> 3.3)
121+
fastlane-plugin-bundletool (1.1.0)
121122
fastlane-plugin-get_version_name (0.2.2)
122123
fastlane-sirp (1.0.0)
123124
sysrandom (~> 1.0)
@@ -236,6 +237,7 @@ DEPENDENCIES
236237
ed25519
237238
fastlane
238239
fastlane-plugin-aws_s3
240+
fastlane-plugin-bundletool
239241
fastlane-plugin-get_version_name
240242
net-sftp
241243

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
![cryptomator-android](cryptomator-android.png)
22

3-
[![Twitter](https://img.shields.io/badge/[email protected]?style=flat)](http://twitter.com/Cryptomator)
3+
[![Mastodon](https://img.shields.io/mastodon/follow/176112?domain=mastodon.online&style=flat)](https://mastodon.online/@cryptomator)
44
[![Community](https://img.shields.io/badge/help-Community-orange.svg)](https://community.cryptomator.org)
55
[![Documentation](https://img.shields.io/badge/help-Docs-orange.svg)](https://docs.cryptomator.org)
66
[![Crowdin](https://badges.crowdin.net/cryptomator/localized.svg)](https://translate.cryptomator.org/)

build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ def getVersionCode = { ->
3636
allprojects {
3737
ext {
3838
androidApplicationId = 'org.cryptomator'
39-
androidVersionCode = 2971 // must be getVersionCode(). only at release tag set the actual value
40-
androidVersionName = '1.10.4'
39+
androidVersionCode = getVersionCode()
40+
androidVersionName = '1.11.0'
4141
}
4242
repositories {
4343
mavenCentral()

data/build.gradle

+14-1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ android {
5656
lite {
5757
dimension "version"
5858
}
59+
60+
accrescent {
61+
dimension "version"
62+
}
5963
}
6064

6165
sourceSets {
@@ -68,12 +72,16 @@ android {
6872
}
6973

7074
fdroid {
71-
java.srcDirs = ['src/main/java/', 'src/apiKey/java/', 'src/fdroid/java/']
75+
java.srcDirs = ['src/main/java/', 'src/apiKey/java/', 'src/fdroidAccrescent/java/']
7276
}
7377

7478
lite {
7579
java.srcDirs = ['src/main/java/', 'src/lite/java/']
7680
}
81+
82+
accrescent {
83+
java.srcDirs = ['src/main/java/', 'src/apiKey/java/', 'src/fdroidAccrescent/java/']
84+
}
7785
}
7886
packagingOptions {
7987
resources {
@@ -106,6 +114,7 @@ dependencies {
106114
playstoreImplementation dependencies.pcloud
107115
apkstoreImplementation dependencies.pcloud
108116
fdroidImplementation dependencies.pcloud
117+
accrescentImplementation dependencies.pcloud
109118

110119
coreLibraryDesugaring dependencies.coreDesugaring
111120

@@ -127,14 +136,18 @@ dependencies {
127136
apkstoreImplementation dependencies.dropboxAndroid
128137
fdroidImplementation dependencies.dropboxCore
129138
fdroidImplementation dependencies.dropboxAndroid
139+
accrescentImplementation dependencies.dropboxCore
140+
accrescentImplementation dependencies.dropboxAndroid
130141

131142

132143
playstoreImplementation dependencies.msgraphAuth
133144
apkstoreImplementation dependencies.msgraphAuth
134145
fdroidImplementation dependencies.msgraphAuth
146+
accrescentImplementation dependencies.msgraphAuth
135147
playstoreImplementation dependencies.msgraph
136148
apkstoreImplementation dependencies.msgraph
137149
fdroidImplementation dependencies.msgraph
150+
accrescentImplementation dependencies.msgraph
138151

139152
implementation dependencies.stax
140153
api dependencies.minIo

fastlane/Fastfile

+36
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ platform :android do |options|
3838
deployToServer(alpha:options[:alpha], beta:options[:beta])
3939
deployToFDroid(alpha:options[:alpha], beta:options[:beta])
4040
deployLite(alpha:options[:alpha], beta:options[:beta])
41+
deployToAccrescent(alpha:options[:alpha], beta:options[:beta])
4142
createGitHubDraftRelease(alpha:options[:alpha], beta:options[:beta])
4243

4344
slack(
@@ -292,6 +293,41 @@ platform :android do |options|
292293
FileUtils.cp(lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH], "release/Cryptomator-#{version}_fdroid_signed.apk")
293294
end
294295

296+
desc "Deploy new version to Accrescent"
297+
private_lane :deployToAccrescent do |options|
298+
gradle(task: "clean")
299+
300+
gradle(
301+
task: "bundle",
302+
build_type: "Release",
303+
flavor: "accrescent",
304+
print_command: false,
305+
properties: {
306+
"android.injected.signing.store.file" => ENV["SIGNING_KEYSTORE_PATH"],
307+
"android.injected.signing.store.password" => ENV["SIGNING_KEYSTORE_PASSWORD"],
308+
"android.injected.signing.key.alias" => ENV["SIGNING_KEY_ALIAS"],
309+
"android.injected.signing.key.password" => ENV["SIGNING_KEY_PASSWORD"],
310+
}
311+
)
312+
313+
FileUtils.cp(lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH], "release/Cryptomator-#{version}_signed.aab")
314+
315+
bundletool(
316+
ks_path: ENV["SIGNING_KEYSTORE_PATH"],
317+
ks_password: ENV["SIGNING_KEYSTORE_PASSWORD"],
318+
ks_key_alias: ENV["SIGNING_KEY_ALIAS"],
319+
ks_key_alias_password: ENV["SIGNING_KEY_PASSWORD"],
320+
bundletool_version: '1.10.0',
321+
aab_path: lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH],
322+
apk_output_path: "fastlane/release/Cryptomator-#{version}_signed.apks",
323+
verbose: true,
324+
cache_path: "~/.cache/bundletool",
325+
universal_apk: false
326+
)
327+
328+
puts "Upload fastlane/release/Cryptomator-#{version}_signed.apks to Accrescent"
329+
end
330+
295331
desc "Deploy new lite version"
296332
private_lane :deployLite do |options|
297333
sh("docker build -t cryptomator-android ../buildsystem")

presentation/build.gradle

+14-2
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,10 @@ android {
104104
applicationIdSuffix ".lite"
105105
resValue "string", "app_id", androidApplicationId + applicationIdSuffix
106106
}
107+
108+
accrescent {
109+
dimension "version"
110+
}
107111
}
108112

109113
sourceSets {
@@ -116,11 +120,15 @@ android {
116120
}
117121

118122
fdroid {
119-
java.srcDirs = ['src/main/java/', 'src/apiKey/java/', 'src/fdroid/java/', 'src/fdroidAndLite/java/']
123+
java.srcDirs = ['src/main/java/', 'src/apiKey/java/', 'src/fdroid/java/', 'src/fdroidLiteAccrescent/java/']
120124
}
121125

122126
lite {
123-
java.srcDirs = ['src/main/java/', 'src/lite/java/', 'src/fdroidAndLite/java/']
127+
java.srcDirs = ['src/main/java/', 'src/lite/java/', 'src/fdroidLiteAccrescent/java/']
128+
}
129+
130+
accrescent {
131+
java.srcDirs = ['src/main/java/', 'src/apiKey/java/', 'src/accrescent/java/', 'src/fdroidLiteAccrescent/java/']
124132
}
125133
}
126134

@@ -184,13 +192,17 @@ dependencies {
184192
apkstoreImplementation dependencies.dropboxAndroid
185193
fdroidImplementation dependencies.dropboxCore
186194
fdroidImplementation dependencies.dropboxAndroid
195+
accrescentImplementation dependencies.dropboxCore
196+
accrescentImplementation dependencies.dropboxAndroid
187197

188198
playstoreImplementation dependencies.msgraphAuth
189199
apkstoreImplementation dependencies.msgraphAuth
190200
fdroidImplementation dependencies.msgraphAuth
201+
accrescentImplementation dependencies.msgraphAuth
191202
playstoreImplementation dependencies.msgraph
192203
apkstoreImplementation dependencies.msgraph
193204
fdroidImplementation dependencies.msgraph
205+
accrescentImplementation dependencies.msgraph
194206

195207
playstoreImplementation(dependencies.googleApiServicesDrive) {
196208
exclude module: 'guava-jdk5'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
3+
4+
<!-- Keep in sync with apkstore, playstore and fdroid -->
5+
<application>
6+
<activity
7+
android:name="com.dropbox.core.android.AuthActivity"
8+
android:configChanges="orientation|keyboard"
9+
android:exported="true"
10+
android:launchMode="singleTask">
11+
<intent-filter>
12+
<data android:scheme="db-${DROPBOX_API_KEY}" />
13+
14+
<action android:name="android.intent.action.VIEW" />
15+
16+
<category android:name="android.intent.category.BROWSABLE" />
17+
<category android:name="android.intent.category.DEFAULT" />
18+
</intent-filter>
19+
</activity>
20+
21+
<activity
22+
android:name="com.microsoft.identity.client.BrowserTabActivity"
23+
android:exported="true">
24+
<intent-filter>
25+
<action android:name="android.intent.action.VIEW" />
26+
27+
<category android:name="android.intent.category.DEFAULT" />
28+
<category android:name="android.intent.category.BROWSABLE" />
29+
30+
<data
31+
android:host="org.cryptomator"
32+
android:path="/${ONEDRIVE_API_KEY_DECODED}"
33+
android:scheme="msauth" />
34+
</intent-filter>
35+
</activity>
36+
37+
</application>
38+
39+
</manifest>

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

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ class CryptomatorApp : MultiDexApplication(), HasComponent<ApplicationComponent>
5050
"apkstore" -> "APK Store Edition"
5151
"fdroid" -> "F-Droid Edition"
5252
"lite" -> "F-Droid Main Repo Edition"
53+
"accrescent" -> "Accrescent Edition"
5354
else -> "Google Play Edition"
5455
}
5556
Timber.tag("App").i(

presentation/src/main/java/org/cryptomator/presentation/presenter/ChooseCloudServicePresenter.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class ChooseCloudServicePresenter @Inject constructor( //
3737
val cloudTypeModels: MutableList<CloudTypeModel> = ArrayList(listOf(*CloudTypeModel.values()))
3838
cloudTypeModels.remove(CloudTypeModel.CRYPTO)
3939

40-
if (BuildConfig.FLAVOR == "fdroid") {
40+
if (BuildConfig.FLAVOR == "fdroid" || BuildConfig.FLAVOR == "accrescent") {
4141
cloudTypeModels.remove(CloudTypeModel.GOOGLE_DRIVE)
4242
} else if (BuildConfig.FLAVOR == "lite") {
4343
cloudTypeModels.remove(CloudTypeModel.GOOGLE_DRIVE)

presentation/src/main/java/org/cryptomator/presentation/presenter/CloudSettingsPresenter.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ class CloudSettingsPresenter @Inject constructor( //
132132
override fun onSuccess(clouds: List<Cloud>) {
133133
val cloudModel = cloudModelMapper.toModels(clouds) //
134134
.filter { isSingleLoginCloud(it) } //
135-
.filter { cloud -> !(BuildConfig.FLAVOR == "fdroid" && cloud.cloudType() == CloudTypeModel.GOOGLE_DRIVE) } //
135+
.filter { cloud -> !((BuildConfig.FLAVOR == "fdroid" || BuildConfig.FLAVOR == "accrescent") && cloud.cloudType() == CloudTypeModel.GOOGLE_DRIVE) } //
136136
.toMutableList() //
137137
.also {
138138
it.add(aOnedriveCloud())

presentation/src/main/java/org/cryptomator/presentation/presenter/SettingsPresenter.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,10 @@ class SettingsPresenter @Inject internal constructor(
8585
"F-Droid"
8686
}
8787
"lite" -> {
88-
"F-Droid Main Repo Edition"
88+
"F-Droid Main Repo"
89+
}
90+
"accrescent" -> {
91+
"Accrescent"
8992
}
9093
else -> "Google Play"
9194
}

presentation/src/main/java/org/cryptomator/presentation/presenter/VaultListPresenter.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ class VaultListPresenter @Inject constructor( //
129129
}
130130

131131
private fun checkLicense() {
132-
if (BuildConfig.FLAVOR == "apkstore" || BuildConfig.FLAVOR == "fdroid" || BuildConfig.FLAVOR == "lite") {
132+
if (BuildConfig.FLAVOR == "apkstore" || BuildConfig.FLAVOR == "fdroid" || BuildConfig.FLAVOR == "lite" || BuildConfig.FLAVOR == "accrescent") {
133133
licenseCheckUseCase //
134134
.withLicense("") //
135135
.run(object : NoOpResultHandler<LicenseCheck>() {

presentation/src/main/java/org/cryptomator/presentation/ui/fragment/SettingsFragment.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
174174
(findPreference(SharedPreferencesHandler.MAIL) as Preference?)?.title = format(getString(R.string.screen_settings_license_mail), sharedPreferencesHandler.mail())
175175
setupUpdateCheck()
176176
}
177-
"fdroid", "lite" -> {
177+
"fdroid", "lite", "accrescent" -> {
178178
(findPreference(SharedPreferencesHandler.MAIL) as Preference?)?.title = format(getString(R.string.screen_settings_license_mail), sharedPreferencesHandler.mail())
179179
removeUpdateCheck()
180180
}
@@ -215,7 +215,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
215215
}
216216

217217
private fun setupCryptomatorVariants() {
218-
if (BuildConfig.FLAVOR == "playstore") {
218+
if (BuildConfig.FLAVOR == "playstore" || BuildConfig.FLAVOR == "accrescent") {
219219
(findPreference(CRYPTOMATOR_VARIANTS) as Preference?)?.let { preference ->
220220
(findPreference(getString(R.string.screen_settings_section_general)) as PreferenceCategory?)?.removePreference(preference)
221221
}

0 commit comments

Comments
 (0)