From bde8f36a582c8df0c9ea377e2f34b9cb28c08b38 Mon Sep 17 00:00:00 2001 From: Julian Raufelder Date: Thu, 29 Apr 2021 12:00:29 +0200 Subject: [PATCH] Validate user input of add or change S3 cloud --- .../presenter/S3AddOrChangePresenter.kt | 18 ++++++++++++------ presentation/src/main/res/values/strings.xml | 6 ++++++ 2 files changed, 18 insertions(+), 6 deletions(-) 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.