diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-20 19:27:56 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-24 11:35:22 +0000 |
| commit | a7790d30ee9602fa729bb406d9abc0db10d93e53 (patch) | |
| tree | 6ee9d078405bb672f093cf7223e5c47736b9a7a5 /android/src/main/kotlin | |
| parent | c1e303baa001c9d531a1918312fb2225e1648882 (diff) | |
| download | mullvadvpn-a7790d30ee9602fa729bb406d9abc0db10d93e53.tar.xz mullvadvpn-a7790d30ee9602fa729bb406d9abc0db10d93e53.zip | |
Add "Try again" button to error screen
Diffstat (limited to 'android/src/main/kotlin')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ProblemReportFragment.kt | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ProblemReportFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ProblemReportFragment.kt index a8b47307d2..fa389517ea 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ProblemReportFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ProblemReportFragment.kt @@ -38,6 +38,8 @@ class ProblemReportFragment : Fragment() { private lateinit var responseMessageLabel: TextView private lateinit var responseEmailLabel: TextView + private lateinit var tryAgainButton: Button + private var sendReportJob: Job? = null override fun onAttach(context: Context) { @@ -74,11 +76,17 @@ class ProblemReportFragment : Fragment() { responseMessageLabel = view.findViewById<TextView>(R.id.response_message) responseEmailLabel = view.findViewById<TextView>(R.id.response_email) + tryAgainButton = view.findViewById<Button>(R.id.try_again_button) + sendButton.setOnClickListener { sendReportJob?.cancel() sendReportJob = sendReport() } + tryAgainButton.setOnClickListener { + sendReportJob = sendReport() + } + setSendButtonEnabled(false) userMessageInput.addTextChangedListener(InputWatcher()) @@ -96,7 +104,7 @@ class ProblemReportFragment : Fragment() { problemReport.userEmail = userEmail problemReport.userMessage = userMessageInput.text.toString() - bodyContainer.showNext() + showSendingScreen() if (problemReport.send().await()) { showSuccessScreen(userEmail) @@ -105,6 +113,23 @@ class ProblemReportFragment : Fragment() { } } + private fun showSendingScreen() { + bodyContainer.displayedChild = 1 + + sendingSpinner.visibility = View.VISIBLE + sentSuccessfullyIcon.visibility = View.GONE + failedToSendIcon.visibility = View.GONE + + sendStatusLabel.visibility = View.VISIBLE + sendDetailsLabel.visibility = View.GONE + responseMessageLabel.visibility = View.GONE + responseEmailLabel.visibility = View.GONE + + sendStatusLabel.setText(R.string.sending) + + tryAgainButton.visibility = View.GONE + } + private fun showSuccessScreen(userEmail: String) { sendingSpinner.visibility = View.GONE @@ -119,6 +144,7 @@ class ProblemReportFragment : Fragment() { } sendStatusLabel.setText(R.string.sent) + sendDetailsLabel.setText(R.string.sent_thanks) } private fun showErrorScreen() { @@ -130,6 +156,8 @@ class ProblemReportFragment : Fragment() { sendStatusLabel.setText(R.string.failed_to_send) sendDetailsLabel.setText(R.string.failed_to_send_details) + + tryAgainButton.visibility = View.VISIBLE } private fun setSendButtonEnabled(enabled: Boolean) { |
