diff --git a/presentation/src/main/java/org/cryptomator/presentation/presenter/S3AddOrChangePresenter.kt b/presentation/src/main/java/org/cryptomator/presentation/presenter/S3AddOrChangePresenter.kt
index 6f2b17d6..20fe2282 100644
--- a/presentation/src/main/java/org/cryptomator/presentation/presenter/S3AddOrChangePresenter.kt
+++ b/presentation/src/main/java/org/cryptomator/presentation/presenter/S3AddOrChangePresenter.kt
@@ -6,6 +6,7 @@ import org.cryptomator.domain.S3Cloud
import org.cryptomator.domain.di.PerView
import org.cryptomator.domain.usecases.cloud.AddOrChangeCloudConnectionUseCase
import org.cryptomator.domain.usecases.cloud.ConnectToS3UseCase
+import org.cryptomator.presentation.R
import org.cryptomator.presentation.exception.ExceptionHandlers
import org.cryptomator.presentation.model.ProgressModel
import org.cryptomator.presentation.model.ProgressStateModel
@@ -22,18 +23,23 @@ class S3AddOrChangePresenter @Inject internal constructor( //
fun checkUserInput(accessKey: String, secretKey: String, bucket: String, endpoint: String?, region: String?, cloudId: Long?, displayName: String) {
var statusMessage: String? = null
- /*if (accessKey.isEmpty()) {
- statusMessage = getString(R.string.screen_webdav_settings_msg_password_must_not_be_empty)
+ if (accessKey.isEmpty()) {
+ statusMessage = getString(R.string.screen_s3_settings_msg_access_key_not_empty)
}
if (secretKey.isEmpty()) {
- statusMessage = getString(R.string.screen_webdav_settings_msg_username_must_not_be_empty)
+ statusMessage = getString(R.string.screen_s3_settings_msg_secret_key_not_empty)
}
if (bucket.isEmpty()) {
- statusMessage = getString(R.string.screen_webdav_settings_msg_url_must_not_be_empty)
- }*/ // FIXME define what is required
+ statusMessage = getString(R.string.screen_s3_settings_msg_bucket_not_empty)
+ }
+ if (displayName.isEmpty()) {
+ statusMessage = getString(R.string.screen_s3_settings_msg_display_name_not_empty)
+ }
+ if (endpoint.isNullOrEmpty() && region.isNullOrEmpty()) {
+ statusMessage = getString(R.string.screen_s3_settings_msg_endpoint_and_region_not_empty)
+ }
if (statusMessage != null) {
- // FIXME showError instead of displaying a toast
Toast.makeText(context(), statusMessage, Toast.LENGTH_SHORT).show()
} else {
view?.onCheckUserInputSucceeded(encrypt(accessKey), encrypt(secretKey), bucket, endpoint, region, cloudId, displayName)
diff --git a/presentation/src/main/res/values/strings.xml b/presentation/src/main/res/values/strings.xml
index a825372f..049f2575 100644
--- a/presentation/src/main/res/values/strings.xml
+++ b/presentation/src/main/res/values/strings.xml
@@ -183,6 +183,12 @@
Region
Amazon S3
+ Display Name can\'t be empty
+ Access Key can\'t be empty
+ Secret Key can\'t be empty
+ Bucket can\'t be empty
+ Endpoint and Region can\'t be empty
+
@string/screen_vault_list_action_create_new_vault
Vault name can\'t be empty.