Skip to content
This repository was archived by the owner on Jun 20, 2023. It is now read-only.

Update remaining dialogs (EXPOSUREAPP-14000) #5656

Merged
merged 15 commits into from
Oct 31, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import de.rki.coronawarnapp.databinding.FragmentTestDatadonationBinding
import de.rki.coronawarnapp.datadonation.safetynet.SafetyNetException
import de.rki.coronawarnapp.datadonation.survey.SurveyException
import de.rki.coronawarnapp.test.menu.ui.TestMenuItem
import de.rki.coronawarnapp.util.DialogHelper
import de.rki.coronawarnapp.ui.dialog.displayDialog
import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.tryHumanReadableError
import de.rki.coronawarnapp.util.ui.observe2
Expand Down Expand Up @@ -114,14 +114,12 @@ class DataDonationTestFragment : Fragment(R.layout.fragment_test_datadonation),

vm.showErrorDialog.observe2(this) {
val humanReadableError = it.tryHumanReadableError(requireContext())
val dialog = DialogHelper.DialogInstance(
context = requireContext(),
title = R.string.datadonation_details_survey_consent_error_dialog_title,
message = humanReadableError.description,
positiveButton = R.string.datadonation_details_survey_consent_error_dialog_pos_button,
cancelable = false
)
DialogHelper.showDialog(dialog)
displayDialog {
title(R.string.datadonation_details_survey_consent_error_dialog_title)
message(humanReadableError.description)
positiveButton(R.string.datadonation_details_survey_consent_error_dialog_pos_button)
setCancelable(false)
}
}

vm.currentSafetyNetExceptionType.observe2(this) { type ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ import androidx.core.view.isGone
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.Snackbar
import com.jakewharton.processphoenix.ProcessPhoenix
import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.databinding.FragmentTestDebugoptionsBinding
import de.rki.coronawarnapp.test.menu.ui.TestMenuItem
import de.rki.coronawarnapp.ui.dialog.displayDialog
import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat
import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.ui.observe2
Expand Down Expand Up @@ -49,11 +49,11 @@ class DebugOptionsFragment : Fragment(R.layout.fragment_test_debugoptions), Auto
if (!chip.isPressed) return@setOnCheckedChangeListener
val type = chip.text.toString()
vm.selectEnvironmentType(type)
MaterialAlertDialogBuilder(requireContext())
.setTitle("Restarting ↻")
.setMessage("Configuring $type environment. Get yourself a glass of water \uD83D\uDEB0")
.setCancelable(false)
.show()
displayDialog {
title("Restarting ↻")
message("Configuring $type environment. Get yourself a glass of water \uD83D\uDEB0")
setCancelable(false)
}
ProcessPhoenix.triggerRebirth(context)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.bugreporting.ui.toErrorDialogBuilder
import de.rki.coronawarnapp.databinding.FragmentTestPresenceTracingBinding
import de.rki.coronawarnapp.presencetracing.checkins.qrcode.TraceLocation
import de.rki.coronawarnapp.test.menu.ui.TestMenuItem
import de.rki.coronawarnapp.ui.dialog.displayDialog
import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat
import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.ui.observe2
Expand Down Expand Up @@ -94,9 +94,7 @@ class PresenceTracingTestFragment : Fragment(R.layout.fragment_test_presence_tra
}
}

viewModel.error.observe(viewLifecycleOwner) {
it.toErrorDialogBuilder(requireContext()).show()
}
viewModel.error.observe(viewLifecycleOwner) { displayDialog { setError(it) } }

viewModel.submissionResult.observe(viewLifecycleOwner) {
Toast.makeText(requireContext(), "Organizer submission passed", Toast.LENGTH_LONG).show()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ import android.view.View
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.bugreporting.ui.toErrorDialogBuilder
import de.rki.coronawarnapp.databinding.FragmentTestSubmissionBinding
import de.rki.coronawarnapp.test.menu.ui.TestMenuItem
import de.rki.coronawarnapp.tracing.ui.tracingConsentDialog
import de.rki.coronawarnapp.ui.dialog.displayDialog
import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.lists.diffutil.update
import de.rki.coronawarnapp.util.ui.observe2
Expand Down Expand Up @@ -51,9 +51,7 @@ class SubmissionTestFragment : Fragment(R.layout.fragment_test_submission), Auto
startActivity(share)
}

vm.errorEvents.observe2(this) {
it.toErrorDialogBuilder(requireContext()).show()
}
vm.errorEvents.observe2(this) { displayDialog { setError(it) } }

binding.apply {
tekRetrieval.setOnClickListener { vm.updateStorage() }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,11 @@ import androidx.core.view.isGone
import androidx.core.widget.NestedScrollView
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.bugreporting.debuglog.internal.LogSnapshotter
import de.rki.coronawarnapp.databinding.BugreportingDebuglogFragmentBinding
import de.rki.coronawarnapp.ui.dialog.displayDialog
import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
import de.rki.coronawarnapp.util.DialogHelper
import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.files.FileSharing
import de.rki.coronawarnapp.util.ui.observe2
Expand All @@ -24,9 +23,9 @@ import de.rki.coronawarnapp.util.ui.setGone
import de.rki.coronawarnapp.util.ui.viewBinding
import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider
import de.rki.coronawarnapp.util.viewmodel.cwaViewModels
import setTextWithUrl
import java.time.Duration
import java.time.Instant
import setTextWithUrl
import javax.inject.Inject

class DebugLogFragment : Fragment(R.layout.bugreporting_debuglog_fragment), AutoInject {
Expand Down Expand Up @@ -160,31 +159,25 @@ class DebugLogFragment : Fragment(R.layout.bugreporting_debuglog_fragment), Auto
binding.debugLogHistoryContainer.setOnClickListener { vm.onIdHistoryPress() }
}

private fun showLogDeletionRequest() = DialogHelper.showDialog(
DialogHelper.DialogInstance(
context = requireContext(),
title = R.string.debugging_debuglog_stop_confirmation_title,
message = R.string.debugging_debuglog_stop_confirmation_message,
positiveButton = R.string.debugging_debuglog_stop_confirmation_confirmation_button,
negativeButton = R.string.debugging_debuglog_stop_confirmation_discard_button,
positiveButtonFunction = { vm.stopAndDeleteDebugLog() },
isDeleteDialog = true
)
)

private fun showLowStorageError() {
MaterialAlertDialogBuilder(requireContext()).apply {
setTitle(R.string.errors_generic_headline_short)
setMessage(R.string.debugging_debuglog_start_low_storage_error)
setPositiveButton(android.R.string.ok) { _, _ -> /* dismiss */ }
setNeutralButton(R.string.menu_settings) { _, _ ->
try {
startActivity(Intent(Settings.ACTION_INTERNAL_STORAGE_SETTINGS))
} catch (e: Exception) {
Toast.makeText(requireContext(), e.toString(), Toast.LENGTH_LONG).show()
}
private fun showLogDeletionRequest() = displayDialog {
title(R.string.debugging_debuglog_stop_confirmation_title)
message(R.string.debugging_debuglog_stop_confirmation_message)
positiveButton(R.string.debugging_debuglog_stop_confirmation_confirmation_button) { vm.stopAndDeleteDebugLog() }
negativeButton(R.string.debugging_debuglog_stop_confirmation_discard_button)
setDeleteDialog(true)
}

private fun showLowStorageError() = displayDialog {
title(R.string.errors_generic_headline_short)
message(R.string.debugging_debuglog_start_low_storage_error)
positiveButton(android.R.string.ok)
neutralButton(R.string.menu_settings) {
try {
startActivity(Intent(Settings.ACTION_INTERNAL_STORAGE_SETTINGS))
} catch (e: Exception) {
Toast.makeText(requireContext(), e.toString(), Toast.LENGTH_LONG).show()
}
}.show()
}
}

private fun exportLog(snapshot: LogSnapshotter.Snapshot) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ import android.view.accessibility.AccessibilityEvent
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.databinding.BugreportingDebuglogUploadFragmentBinding
import de.rki.coronawarnapp.ui.dialog.displayDialog
import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.ui.observe2
import de.rki.coronawarnapp.util.ui.popBackStack
Expand Down Expand Up @@ -48,10 +48,10 @@ class DebugLogUploadFragment : Fragment(R.layout.bugreporting_debuglog_upload_fr
}

vm.errorEvent.observe2(this) {
MaterialAlertDialogBuilder(requireContext()).apply {
setTitle(getString(R.string.errors_generic_headline))
setMessage(R.string.debugging_debuglog_share_try_again_later)
}.show()
displayDialog {
title(getString(R.string.errors_generic_headline))
message(R.string.debugging_debuglog_share_try_again_later)
}
}

vm.uploadInProgress.observe2(this) { uploadDialog.setState(it) }
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import de.rki.coronawarnapp.contactdiary.ui.edit.ContactDiaryEditLocationsViewMo
import de.rki.coronawarnapp.contactdiary.ui.edit.ContactDiaryEditLocationsViewModel.NavigationEvent.ShowLocationDetailFragment
import de.rki.coronawarnapp.contactdiary.ui.edit.adapter.LocationEditAdapter
import de.rki.coronawarnapp.databinding.ContactDiaryEditLocationsFragmentBinding
import de.rki.coronawarnapp.util.DialogHelper
import de.rki.coronawarnapp.ui.dialog.displayDialog
import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.lists.diffutil.update
import de.rki.coronawarnapp.util.ui.observe2
Expand Down Expand Up @@ -58,7 +58,7 @@ class ContactDiaryEditLocationsFragment : Fragment(R.layout.contact_diary_edit_l
viewModel.navigationEvent.observe2(this) {

when (it) {
ShowDeletionConfirmationDialog -> DialogHelper.showDialog(deleteAllLocationsConfirmationDialog)
ShowDeletionConfirmationDialog -> deleteAllLocationsConfirmationDialog()
is ShowLocationDetailFragment -> {
findNavController().navigate(
ContactDiaryEditLocationsFragmentDirections
Expand All @@ -85,17 +85,11 @@ class ContactDiaryEditLocationsFragment : Fragment(R.layout.contact_diary_edit_l
binding.locationsRecyclerView.adapter = listAdapter
}

private val deleteAllLocationsConfirmationDialog by lazy {
DialogHelper.DialogInstance(
requireActivity(),
R.string.contact_diary_delete_locations_title,
R.string.contact_diary_delete_locations_message,
R.string.contact_diary_delete_button_positive,
R.string.contact_diary_delete_button_negative,
positiveButtonFunction = {
viewModel.onDeleteAllConfirmedClick()
},
isDeleteDialog = true
)
private fun deleteAllLocationsConfirmationDialog() = displayDialog {
title(R.string.contact_diary_delete_locations_title)
message(R.string.contact_diary_delete_locations_message)
positiveButton(R.string.contact_diary_delete_button_positive) { viewModel.onDeleteAllLocationsClick() }
negativeButton(R.string.contact_diary_delete_button_negative)
setDeleteDialog(true)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import de.rki.coronawarnapp.contactdiary.ui.edit.ContactDiaryEditPersonsViewMode
import de.rki.coronawarnapp.contactdiary.ui.edit.ContactDiaryEditPersonsViewModel.NavigationEvent.ShowPersonDetailFragment
import de.rki.coronawarnapp.contactdiary.ui.edit.adapter.PersonEditAdapter
import de.rki.coronawarnapp.databinding.ContactDiaryEditPersonsFragmentBinding
import de.rki.coronawarnapp.util.DialogHelper
import de.rki.coronawarnapp.ui.dialog.displayDialog
import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.lists.diffutil.update
import de.rki.coronawarnapp.util.ui.addNavigationIconButtonId
Expand Down Expand Up @@ -57,7 +57,7 @@ class ContactDiaryEditPersonsFragment : Fragment(R.layout.contact_diary_edit_per

viewModel.navigationEvent.observe2(this) {
when (it) {
ShowDeletionConfirmationDialog -> DialogHelper.showDialog(deleteAllPersonsConfirmationDialog)
ShowDeletionConfirmationDialog -> deleteAllPersonsConfirmationDialog()
is ShowPersonDetailFragment -> {
findNavController().navigate(
ContactDiaryEditPersonsFragmentDirections
Expand Down Expand Up @@ -88,17 +88,11 @@ class ContactDiaryEditPersonsFragment : Fragment(R.layout.contact_diary_edit_per
binding.personsRecyclerView.adapter = listAdapter
}

private val deleteAllPersonsConfirmationDialog by lazy {
DialogHelper.DialogInstance(
requireActivity(),
R.string.contact_diary_delete_persons_title,
R.string.contact_diary_delete_persons_message,
R.string.contact_diary_delete_button_positive,
R.string.contact_diary_delete_button_negative,
positiveButtonFunction = {
viewModel.onDeleteAllConfirmedClick()
},
isDeleteDialog = true
)
private fun deleteAllPersonsConfirmationDialog() = displayDialog {
title(R.string.contact_diary_delete_persons_title)
message(R.string.contact_diary_delete_persons_message)
positiveButton(R.string.contact_diary_delete_button_positive) { viewModel.onDeleteAllConfirmedClick() }
negativeButton(R.string.contact_diary_delete_button_negative)
setDeleteDialog(true)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.contactdiary.util.focusAndShowKeyboard
import de.rki.coronawarnapp.contactdiary.util.hideKeyboard
import de.rki.coronawarnapp.databinding.ContactDiaryAddLocationFragmentBinding
import de.rki.coronawarnapp.util.DialogHelper
import de.rki.coronawarnapp.ui.dialog.displayDialog
import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.setTextOnTextInput
import de.rki.coronawarnapp.util.ui.observe2
Expand Down Expand Up @@ -54,9 +54,7 @@ class ContactDiaryAddLocationFragment : Fragment(R.layout.contact_diary_add_loca
locationPhoneInput.setTextOnTextInput(location.phoneNumber, endIconVisible = false)
locationEmailInput.setTextOnTextInput(location.emailAddress, endIconVisible = false)
locationDeleteButton.visibility = View.VISIBLE
locationDeleteButton.setOnClickListener {
DialogHelper.showDialog(deleteLocationConfirmationDialog)
}
locationDeleteButton.setOnClickListener { deleteLocationConfirmationDialog() }
locationSaveButton.setOnClickListener {
viewModel.updateLocation(
location,
Expand Down Expand Up @@ -111,19 +109,15 @@ class ContactDiaryAddLocationFragment : Fragment(R.layout.contact_diary_add_loca
}
}

private val deleteLocationConfirmationDialog by lazy {
DialogHelper.DialogInstance(
requireActivity(),
R.string.contact_diary_delete_location_title,
R.string.contact_diary_delete_location_message,
R.string.contact_diary_delete_button_positive,
R.string.contact_diary_delete_button_negative,
positiveButtonFunction = {
navArgs.selectedLocation?.let {
viewModel.deleteLocation(it)
}
},
isDeleteDialog = true
)
private fun deleteLocationConfirmationDialog() = displayDialog {
title(R.string.contact_diary_delete_location_title)
message(R.string.contact_diary_delete_location_message)
positiveButton(R.string.contact_diary_delete_location_message) {
navArgs.selectedLocation?.let {
viewModel.deleteLocation(it)
}
}
negativeButton(R.string.contact_diary_delete_button_negative)
setDeleteDialog(true)
}
}
Loading