From a32c7249f39e9ea83c9710b4ba5f74b48cb7b36f Mon Sep 17 00:00:00 2001 From: Mohamed Date: Mon, 13 Feb 2023 16:53:36 +0100 Subject: [PATCH] Remove `observe2` (DEV) --- .../miscinfo/MiscInfoFragment.kt | 5 ++-- .../appconfig/ui/AppConfigTestFragment.kt | 7 ++--- .../coronawarnapp/test/ccl/CclTestFragment.kt | 3 +- .../ui/ContactDiaryTestFragment.kt | 5 ++-- .../SettingsCrashReportDetailsFragment.kt | 5 ++-- .../crash.ui/SettingsCrashReportFragment.kt | 3 +- .../ui/DataDonationTestFragment.kt | 29 +++++++++---------- .../debugoptions/ui/DebugOptionsFragment.kt | 5 ++-- .../dsc/ui/DccStateValidationTestFragment.kt | 5 ++-- .../hometestcards/ui/HomeTestCardsFragment.kt | 3 +- .../keydownload/ui/KeyDownloadTestFragment.kt | 11 ++++--- .../test/menu/ui/TestMenuFragment.kt | 7 ++--- .../ui/PresenceTracingTestFragment.kt | 9 +++--- .../ui/TestRiskLevelCalculationFragment.kt | 13 ++++----- .../submission/ui/SubmissionTestFragment.kt | 11 ++++--- .../tasks/ui/TestTaskControllerFragment.kt | 11 ++++--- .../debuglog/ui/DebugLogFragment.kt | 7 ++--- .../ui/upload/DebugLogUploadFragment.kt | 9 +++--- .../history/LogUploadHistoryFragment.kt | 3 +- .../ui/day/ContactDiaryDayFragment.kt | 5 ++-- .../ContactDiaryLocationListFragment.kt | 7 ++--- .../person/ContactDiaryPersonListFragment.kt | 5 ++-- .../edit/ContactDiaryEditLocationsFragment.kt | 9 +++--- .../edit/ContactDiaryEditPersonsFragment.kt | 9 +++--- .../ContactDiaryAddLocationFragment.kt | 5 ++-- .../ContactDiaryOnboardingFragment.kt | 3 +- .../overview/ContactDiaryOverviewFragment.kt | 11 ++++--- .../person/ContactDiaryAddPersonFragment.kt | 5 ++-- .../BoosterInfoDetailsFragment.kt | 5 ++-- .../ui/poster/CertificatePosterFragment.kt | 7 ++--- .../failed/DccValidationFailedFragment.kt | 3 +- .../open/DccValidationOpenFragment.kt | 3 +- .../passed/DccValidationPassedFragment.kt | 3 +- .../ui/input/AnalyticsUserInputFragment.kt | 5 ++-- .../survey/consent/SurveyConsentFragment.kt | 7 ++--- .../consent/DccReissuanceConsentFragment.kt | 5 ++-- ...ccTicketingCertificateSelectionFragment.kt | 5 ++-- .../one/DccTicketingConsentOneFragment.kt | 11 ++----- .../two/DccTicketingConsentTwoFragment.kt | 11 ++----- .../DccTicketingValidationResultFragment.kt | 5 ++-- .../ui/consent/FamilyTestConsentFragment.kt | 7 ++--- .../TestRegistrationSelectionFragment.kt | 3 +- .../ui/testlist/FamilyTestListFragment.kt | 9 +++--- .../profile/ui/list/ProfileListFragment.kt | 5 ++-- .../release/NewReleaseInfoFragment.kt | 3 +- .../ui/RecyclerBinOverviewFragment.kt | 5 ++-- .../consent/SrsSubmissionConsentFragment.kt | 11 ++++--- .../calendar/SrsSymptomsCalendarFragment.kt | 3 +- .../intro/SrsSymptomsIntroductionFragment.kt | 3 +- .../typeselection/SrsTypeSelectionFragment.kt | 3 +- .../FederalStateSelectionFragment.kt | 5 ++-- .../ui/details/TracingDetailsFragment.kt | 7 ++--- .../ui/settings/TracingSettingsFragment.kt | 11 ++++--- .../ui/information/InformationFragment.kt | 7 ++--- .../InteroperabilityConfigurationFragment.kt | 5 ++-- .../ui/main/home/HomeFragment.kt | 15 +++++----- .../ui/main/overview/MainOverviewFragment.kt | 5 +--- .../onboarding/OnboardingAnalyticsFragment.kt | 9 +++--- .../OnboardingDeltaAnalyticsFragment.kt | 9 +++--- ...OnboardingDeltaInteroperabilityFragment.kt | 5 ++-- .../OnboardingDeltaNotificationsFragment.kt | 3 +- .../ui/onboarding/OnboardingFragment.kt | 5 +--- .../onboarding/OnboardingLoadingFragment.kt | 3 +- .../OnboardingNotificationsFragment.kt | 3 +- .../onboarding/OnboardingPrivacyFragment.kt | 3 +- .../ui/onboarding/OnboardingTestFragment.kt | 3 +- .../onboarding/OnboardingTracingFragment.kt | 9 +++--- .../attendee/checkins/CheckInsFragment.kt | 7 ++--- .../confirm/ConfirmCheckInFragment.kt | 7 ++--- .../attendee/edit/EditCheckInFragment.kt | 9 +++--- .../onboarding/CheckInOnboardingFragment.kt | 3 +- .../category/TraceLocationCategoryFragment.kt | 3 +- .../organizer/details/QrCodeDetailFragment.kt | 5 ++-- .../organizer/list/TraceLocationsFragment.kt | 5 ++-- .../qrinfo/TraceLocationQRInfoFragment.kt | 3 +- .../TraceLocationWarnDurationFragment.kt | 3 +- .../list/TraceLocationSelectionFragment.kt | 5 ++-- .../OrganizerWarnQrCodeScannerFragment.kt | 3 +- .../warn/tan/TraceLocationWarnTanFragment.kt | 7 ++--- .../ui/settings/SettingsResetFragment.kt | 3 +- ...tingsPrivacyPreservingAnalyticsFragment.kt | 3 +- .../SettingsBackgroundPriorityFragment.kt | 3 +- .../NotificationSettingsFragment.kt | 3 +- .../ui/settings/start/SettingsFragment.kt | 9 +++--- .../SubmissionDeletionWarningFragment.kt | 5 ++-- .../fragment/SubmissionContactFragment.kt | 3 +- .../fragment/SubmissionDispatcherFragment.kt | 5 ++-- .../consent/SubmissionConsentFragment.kt | 9 +++--- .../SubmissionTestResultAvailableFragment.kt | 13 ++++----- .../SubmissionResultReadyFragment.kt | 5 ++-- .../submissiondone/SubmissionDoneFragment.kt | 3 +- .../SubmissionSymptomCalendarFragment.kt | 11 +++---- .../SubmissionSymptomIntroductionFragment.kt | 11 +++---- .../submission/tan/SubmissionTanFragment.kt | 9 +++--- .../SubmissionTestResultInvalidFragment.kt | 5 ++-- .../SubmissionTestResultNegativeFragment.kt | 3 +- .../SubmissionTestResultPendingFragment.kt | 15 +++++----- ...ubmissionTestResultConsentGivenFragment.kt | 9 +++--- .../SubmissionTestResultKeysSharedFragment.kt | 7 ++--- .../SubmissionTestResultNoConsentFragment.kt | 3 +- ...ltPositiveOtherWarningNoConsentFragment.kt | 15 +++++----- .../SubmissionYourConsentFragment.kt | 9 +++--- .../util/ui/LiveDataExtensions.kt | 7 ----- 103 files changed, 275 insertions(+), 392 deletions(-) diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/miscinfo/MiscInfoFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/miscinfo/MiscInfoFragment.kt index eea90254e92..33854858122 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/miscinfo/MiscInfoFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/miscinfo/MiscInfoFragment.kt @@ -9,7 +9,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentTestDeviceinfoBinding import de.rki.coronawarnapp.test.menu.ui.TestMenuItem import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -26,11 +25,11 @@ class MiscInfoFragment : Fragment(R.layout.fragment_test_deviceinfo), AutoInject override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.errorEvent.observe2(this) { + vm.errorEvent.observe(viewLifecycleOwner) { Snackbar.make(requireView(), it, Snackbar.LENGTH_INDEFINITE).show() } - vm.versionState.observe2(this) { + vm.versionState.observe(viewLifecycleOwner) { binding.googlePlayServicesVersionInfo.text = "Google Play Services: ${it.gmsVersion}" binding.exposureNotificationServiceVersionInfo.text = "Exposure Notification Services: ${it.enfVersion}" } diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/appconfig/ui/AppConfigTestFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/appconfig/ui/AppConfigTestFragment.kt index 0383ebab463..de6c3392f7c 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/appconfig/ui/AppConfigTestFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/appconfig/ui/AppConfigTestFragment.kt @@ -9,7 +9,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentTestAppconfigBinding import de.rki.coronawarnapp.test.menu.ui.TestMenuItem import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -33,7 +32,7 @@ class AppConfigTestFragment : Fragment(R.layout.fragment_test_appconfig), AutoIn override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.currentConfig.observe2(this) { data -> + vm.currentConfig.observe(viewLifecycleOwner) { data -> binding.currentConfiguration.text = data.toString() binding.lastUpdate.text = timeFormatter.format(data.updatedAt) binding.timeOffset.text = @@ -44,14 +43,14 @@ class AppConfigTestFragment : Fragment(R.layout.fragment_test_appconfig), AutoIn """.trimIndent() } - vm.errorEvent.observe2(this) { + vm.errorEvent.observe(viewLifecycleOwner) { Toast.makeText(requireContext(), it.toString(), Toast.LENGTH_LONG).show() } binding.downloadAction.setOnClickListener { vm.download() } binding.deleteAction.setOnClickListener { vm.clearConfig() } - vm.isDeviceTimeFaked.observe2(this) { + vm.isDeviceTimeFaked.observe(viewLifecycleOwner) { binding.fakeCorrectDevicetimeToggle.isChecked = it } binding.fakeCorrectDevicetimeToggle.setOnClickListener { diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/ccl/CclTestFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/ccl/CclTestFragment.kt index e18d9ef91cd..78163106f17 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/ccl/CclTestFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/ccl/CclTestFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.databinding.FragmentTestCclBinding import de.rki.coronawarnapp.test.ccl.CclTestViewModel.ForceUpdateUiState.Loading import de.rki.coronawarnapp.test.menu.ui.TestMenuItem import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -35,7 +34,7 @@ class CclTestFragment : Fragment(R.layout.fragment_test_ccl), AutoInject { calcDccWalletInfo.setOnClickListener { viewModel.triggerCalculation() } binding.forceUpdateCclConfiguration.setOnClickListener { viewModel.forceUpdateCclConfiguration() } clearDccWalletInfo.setOnClickListener { viewModel.clearDccWallet() } - viewModel.dccWalletInfoList.observe2(this@CclTestFragment) { infoList -> + viewModel.dccWalletInfoList.observe(viewLifecycleOwner) { infoList -> dccWalletInfoList.text = buildSpannedString { infoList.forEachIndexed { index, info -> append("$index: ") diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/contactdiary/ui/ContactDiaryTestFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/contactdiary/ui/ContactDiaryTestFragment.kt index 06bff01ad94..1572e3333b1 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/contactdiary/ui/ContactDiaryTestFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/contactdiary/ui/ContactDiaryTestFragment.kt @@ -11,7 +11,6 @@ import de.rki.coronawarnapp.test.menu.ui.TestMenuItem import de.rki.coronawarnapp.ui.durationpicker.DurationPicker import de.rki.coronawarnapp.ui.durationpicker.format import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -32,12 +31,12 @@ class ContactDiaryTestFragment : override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.locationVisits.observe2(this) { + vm.locationVisits.observe(viewLifecycleOwner) { binding.locationVisitsFancy.text = vm.getFancyLocationVisitString(it) binding.locationVisitsStatus.text = vm.getLocationVisitStatusString(it) } - vm.personEncounters.observe2(this) { + vm.personEncounters.observe(viewLifecycleOwner) { binding.personEncountersFancy.text = vm.getFancyPersonEncounterString(it) binding.personEncountersStatus.text = vm.getPersonEncounterStatusString(it) } diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportDetailsFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportDetailsFragment.kt index 7f84c19b692..7bcfc50b024 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportDetailsFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportDetailsFragment.kt @@ -7,7 +7,6 @@ import androidx.fragment.app.Fragment import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentSettingsCrashReportDetailsBinding import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -25,12 +24,12 @@ class SettingsCrashReportDetailsFragment : override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.selectedCrashReport.observe2(this) { + vm.selectedCrashReport.observe(viewLifecycleOwner) { fragmentSettingsCrashReportDetailsBinding.buttonCrashReportShare.visibility = View.VISIBLE fragmentSettingsCrashReportDetailsBinding.buttonCrashReportShare.setOnClickListener { shareCrashReport() } } - vm.selectedCrashReportFormattedText.observe2(this) { + vm.selectedCrashReportFormattedText.observe(viewLifecycleOwner) { fragmentSettingsCrashReportDetailsBinding.textViewCrashReportDetails.text = it } } diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportFragment.kt index 798b6c6921d..d2c21259877 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportFragment.kt @@ -9,7 +9,6 @@ import de.rki.coronawarnapp.bugreporting.event.BugEvent import de.rki.coronawarnapp.databinding.FragmentCrashreporterOverviewBinding import de.rki.coronawarnapp.test.menu.ui.TestMenuItem import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -37,7 +36,7 @@ class SettingsCrashReportFragment : Fragment(R.layout.fragment_crashreporter_ove super.onViewCreated(view, savedInstanceState) fragmentCrashreporterOverviewBinding.list.adapter = adapter - vm.crashReports.observe2(this) { + vm.crashReports.observe(viewLifecycleOwner) { adapter.updateCrashReports(it) } diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/datadonation/ui/DataDonationTestFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/datadonation/ui/DataDonationTestFragment.kt index abca7a9eba9..99546b553f5 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/datadonation/ui/DataDonationTestFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/datadonation/ui/DataDonationTestFragment.kt @@ -18,7 +18,6 @@ import de.rki.coronawarnapp.test.menu.ui.TestMenuItem 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 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -36,13 +35,13 @@ class DataDonationTestFragment : Fragment(R.layout.fragment_test_datadonation), override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.currentReport.observe2(this) { + vm.currentReport.observe(viewLifecycleOwner) { binding.safetynetBody.text = it?.body?.toString()?.let { json -> JSONObject(json).toString(4) } } - vm.currentAnalyticsData.observe2(this) { + vm.currentAnalyticsData.observe(viewLifecycleOwner) { binding.analyticsBody.text = it.toString() } @@ -54,7 +53,7 @@ class DataDonationTestFragment : Fragment(R.layout.fragment_test_datadonation), analyticsSubmit.setOnClickListener { vm.submitAnalytics() } } - vm.copyJWSEvent.observe2(this) { jws -> + vm.copyJWSEvent.observe(viewLifecycleOwner) { jws -> val intent = ShareCompat.IntentBuilder(requireActivity()) .setType("text/plain") .setSubject("JWS") @@ -63,7 +62,7 @@ class DataDonationTestFragment : Fragment(R.layout.fragment_test_datadonation), startActivity(intent) } - vm.copyAnalyticsEvent.observe2(this) { analytics -> + vm.copyAnalyticsEvent.observe(viewLifecycleOwner) { analytics -> val intent = ShareCompat.IntentBuilder(requireActivity()) .setType("text/plain") .setSubject("Analytics") @@ -72,14 +71,14 @@ class DataDonationTestFragment : Fragment(R.layout.fragment_test_datadonation), startActivity(intent) } - vm.infoEvents.observe2(this) { + vm.infoEvents.observe(viewLifecycleOwner) { Toast.makeText(requireContext(), it, Toast.LENGTH_LONG).show() } - vm.currentValidation.observe2(this) { items -> + vm.currentValidation.observe(viewLifecycleOwner) { items -> if (items?.first == null) { binding.safetynetRequirementsBody.text = "No validation yet." - return@observe2 + return@observe } binding.safetynetRequirementsBody.apply { text = items.first.toString() @@ -97,22 +96,22 @@ class DataDonationTestFragment : Fragment(R.layout.fragment_test_datadonation), safetynetRequirementsStrict.setOnClickListener { vm.validateSafetyNetStrict() } } - vm.lastAnalyticsData.observe2(this) { + vm.lastAnalyticsData.observe(viewLifecycleOwner) { binding.analyticsLastSubmitBody.text = it?.toString() ?: "No analytics were successfully submitted until now" } vm.checkLastAnalytics() - vm.otp.observe2(this) { + vm.otp.observe(viewLifecycleOwner) { binding.oneTimePasswordBody.text = it.toString() } - vm.surveyConfig.observe2(this) { + vm.surveyConfig.observe(viewLifecycleOwner) { binding.surveyConfigBody.text = it } - vm.showErrorDialog.observe2(this) { + vm.showErrorDialog.observe(viewLifecycleOwner) { val humanReadableError = it.tryHumanReadableError(requireContext()) displayDialog { title(R.string.datadonation_details_survey_consent_error_dialog_title) @@ -122,7 +121,7 @@ class DataDonationTestFragment : Fragment(R.layout.fragment_test_datadonation), } } - vm.currentSafetyNetExceptionType.observe2(this) { type -> + vm.currentSafetyNetExceptionType.observe(viewLifecycleOwner) { type -> binding.apply { if (safetynetExceptionSimulationRadioGroup.childCount != SafetyNetException.Type.values().size) { SafetyNetException.Type.values() @@ -142,7 +141,7 @@ class DataDonationTestFragment : Fragment(R.layout.fragment_test_datadonation), safetynetExceptionSimulationButton.setOnClickListener { vm.showSafetyNetErrorDialog() } } - vm.currentSurveyExceptionType.observe2(this) { type -> + vm.currentSurveyExceptionType.observe(viewLifecycleOwner) { type -> binding.apply { if (surveyExceptionSimulationRadioGroup.childCount != SurveyException.Type.values().size) { SurveyException.Type.values() @@ -162,7 +161,7 @@ class DataDonationTestFragment : Fragment(R.layout.fragment_test_datadonation), surveyExceptionSimulationButton.setOnClickListener { vm.showSurveyErrorDialog() } } - vm.isSafetyNetTimeCheckSkipped.observe2(this) { + vm.isSafetyNetTimeCheckSkipped.observe(viewLifecycleOwner) { binding.disableSafetynetToggle.isChecked = it } diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragment.kt index bd0dfacb9fb..4c7bb2997db 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragment.kt @@ -21,7 +21,6 @@ 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 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -62,7 +61,7 @@ class DebugOptionsFragment : Fragment(R.layout.fragment_test_debugoptions), Auto vm.clearLaunchEnvironment() } - vm.environmentState.observe2(this) { state -> + vm.environmentState.observe(viewLifecycleOwner) { state -> binding.apply { buttonClear.isVisible = state.isOverwritten @@ -100,7 +99,7 @@ class DebugOptionsFragment : Fragment(R.layout.fragment_test_debugoptions), Auto environmentDccReissuanceServerUrl.text = "DccReissuanceServerUrl" styleTo state.dccReissuanceServerUrl } } - vm.environmentStateChange.observe2(this) { + vm.environmentStateChange.observe(viewLifecycleOwner) { showSnackBar("Environment changed to: $it\nForce stop & restart the app!") } } diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/dsc/ui/DccStateValidationTestFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/dsc/ui/DccStateValidationTestFragment.kt index 59c4ae32d59..057f4ea72c5 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/dsc/ui/DccStateValidationTestFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/dsc/ui/DccStateValidationTestFragment.kt @@ -11,7 +11,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentTestStateValidationDccBinding import de.rki.coronawarnapp.test.menu.ui.TestMenuItem import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -46,7 +45,7 @@ class DccStateValidationTestFragment : Fragment(R.layout.fragment_test_state_val refreshRevocationList.setOnClickListener { viewModel.refreshRevocationList() } clearRevocationList.setOnClickListener { viewModel.clearRevocationList() } - viewModel.dscData.observe2(this@DccStateValidationTestFragment) { + viewModel.dscData.observe(viewLifecycleOwner) { infoText.text = buildSpannedString { bold { append("Last update: ") } appendLine(it.lastUpdate) @@ -60,7 +59,7 @@ class DccStateValidationTestFragment : Fragment(R.layout.fragment_test_state_val } } - viewModel.errorEvent.observe2(this@DccStateValidationTestFragment) { + viewModel.errorEvent.observe(viewLifecycleOwner) { Toast.makeText(requireContext(), "Can't refresh List of DSCs", Toast.LENGTH_SHORT).show() } } diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/hometestcards/ui/HomeTestCardsFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/hometestcards/ui/HomeTestCardsFragment.kt index 3612a63b311..4b4a6443243 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/hometestcards/ui/HomeTestCardsFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/hometestcards/ui/HomeTestCardsFragment.kt @@ -13,7 +13,6 @@ import de.rki.coronawarnapp.ui.main.home.HomeAdapter import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.decorations.TopBottomPaddingDecorator import de.rki.coronawarnapp.util.lists.diffutil.update -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.setCWAContentDescription import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -40,7 +39,7 @@ class HomeTestCardsFragment : Fragment(R.layout.fragment_test_home_test_cards_la adapter = homeAdapter } - viewModel.homeItems.observe2(this) { + viewModel.homeItems.observe(viewLifecycleOwner) { homeAdapter.update(it) } } diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/keydownload/ui/KeyDownloadTestFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/keydownload/ui/KeyDownloadTestFragment.kt index 14dd2b7c3e8..23ea0b8264e 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/keydownload/ui/KeyDownloadTestFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/keydownload/ui/KeyDownloadTestFragment.kt @@ -12,7 +12,6 @@ import de.rki.coronawarnapp.diagnosiskeys.storage.CachedKeyInfo import de.rki.coronawarnapp.test.menu.ui.TestMenuItem import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.diffutil.update -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -29,12 +28,12 @@ class KeyDownloadTestFragment : Fragment(R.layout.fragment_test_keydownload), Au override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.fakeMeteredConnection.observe2(this) { + vm.fakeMeteredConnection.observe(viewLifecycleOwner) { binding.fakeMeteredConnectionToggle.isChecked = it } binding.fakeMeteredConnectionToggle.setOnClickListener { vm.toggleAllowMeteredConnections() } - vm.isMeteredConnection.observe2(this) { + vm.isMeteredConnection.observe(viewLifecycleOwner) { binding.infoMeteredNetwork.text = "Is metered network? $it" } @@ -43,7 +42,7 @@ class KeyDownloadTestFragment : Fragment(R.layout.fragment_test_keydownload), Au clearAction.setOnClickListener { vm.clearDownloads() } } - vm.isSyncRunning.observe2(this) { isRunning -> + vm.isSyncRunning.observe(viewLifecycleOwner) { isRunning -> binding.apply { downloadAction.isEnabled = !isRunning clearAction.isEnabled = !isRunning @@ -56,7 +55,7 @@ class KeyDownloadTestFragment : Fragment(R.layout.fragment_test_keydownload), Au layoutManager = LinearLayoutManager(requireContext()) } - vm.currentCache.observe2(this) { items -> + vm.currentCache.observe(viewLifecycleOwner) { items -> val dayCount = items.count { it.info.type == CachedKeyInfo.Type.LOCATION_DAY } val hourCount = items.count { it.info.type == CachedKeyInfo.Type.LOCATION_HOUR } binding.cacheListInfos.text = "${items.size} files, $dayCount days, $hourCount hours." @@ -64,7 +63,7 @@ class KeyDownloadTestFragment : Fragment(R.layout.fragment_test_keydownload), Au keyFileAdapter.update(items) } - vm.errorEvent.observe2(this) { + vm.errorEvent.observe(viewLifecycleOwner) { Snackbar.make(requireView(), it.toString(), Snackbar.LENGTH_LONG).show() } } diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/menu/ui/TestMenuFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/menu/ui/TestMenuFragment.kt index 67aa690faec..100d95ff043 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/menu/ui/TestMenuFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/menu/ui/TestMenuFragment.kt @@ -9,7 +9,6 @@ import androidx.recyclerview.widget.LinearLayoutManager import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentTestMenuBinding import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -33,14 +32,14 @@ class TestMenuFragment : Fragment(R.layout.fragment_test_menu), AutoInject { adapter = menuAdapter } - vm.testMenuData.observe2(this) { menuAdapter.data = it } + vm.testMenuData.observe(viewLifecycleOwner) { menuAdapter.data = it } menuAdapter.onItemClickListener = { vm.showTestScreen(it) } - vm.showTestScreenEvent.observe2(this) { + vm.showTestScreenEvent.observe(viewLifecycleOwner) { findNavController().navigate(it.targetId) } - vm.personsCount.observe2(this) { + vm.personsCount.observe(viewLifecycleOwner) { binding.personsCount.text = "Persons count: ${it.first}\nCertificates: ${it.second}" } } diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/presencetracing/ui/PresenceTracingTestFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/presencetracing/ui/PresenceTracingTestFragment.kt index 744e732e4da..dcd6f549d16 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/presencetracing/ui/PresenceTracingTestFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/presencetracing/ui/PresenceTracingTestFragment.kt @@ -19,7 +19,6 @@ 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 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -44,19 +43,19 @@ class PresenceTracingTestFragment : Fragment(R.layout.fragment_test_presence_tra viewModel.runRiskCalculationPerCheckInDay() } - viewModel.presenceTracingWarningTaskResult.observe2(this) { + viewModel.presenceTracingWarningTaskResult.observe(viewLifecycleOwner) { binding.tracingWarningTaskResult.text = it } - viewModel.checkInRiskPerDayText.observe2(this) { + viewModel.checkInRiskPerDayText.observe(viewLifecycleOwner) { binding.riskCalculationResultText.text = it } - viewModel.taskRunTime.observe2(this) { + viewModel.taskRunTime.observe(viewLifecycleOwner) { binding.taskRunTime.text = "Task finished in ${it}ms" } - viewModel.riskCalculationRuntime.observe2(this) { + viewModel.riskCalculationRuntime.observe(viewLifecycleOwner) { binding.riskCalculationRuntimeText.text = "Risk calculation runtime in millis: $it" } diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/risklevel/ui/TestRiskLevelCalculationFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/risklevel/ui/TestRiskLevelCalculationFragment.kt index 8b9cdbf2ef3..8db2493eb2e 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/risklevel/ui/TestRiskLevelCalculationFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/risklevel/ui/TestRiskLevelCalculationFragment.kt @@ -17,7 +17,6 @@ import de.rki.coronawarnapp.databinding.FragmentTestRiskLevelCalculationBinding import de.rki.coronawarnapp.storage.TestSettings import de.rki.coronawarnapp.test.menu.ui.TestMenuItem import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModelsAssisted @@ -50,26 +49,26 @@ class TestRiskLevelCalculationFragment : binding.buttonResetRiskLevel.setOnClickListener { vm.resetRiskLevel() } binding.buttonExposureWindowsShare.setOnClickListener { vm.shareExposureWindows() } - vm.dataResetEvent.observe2(this) { Snackbar.make(requireView(), it, Snackbar.LENGTH_SHORT).show() } + vm.dataResetEvent.observe(viewLifecycleOwner) { Snackbar.make(requireView(), it, Snackbar.LENGTH_SHORT).show() } - vm.additionalRiskCalcInfo.observe2(this) { + vm.additionalRiskCalcInfo.observe(viewLifecycleOwner) { binding.labelRiskAdditionalInfo.text = it } - vm.aggregatedRiskResult.observe2(this) { + vm.aggregatedRiskResult.observe(viewLifecycleOwner) { binding.labelAggregatedRiskResult.text = it } - vm.exposureWindowCount.observe2(this) { exposureWindowCount -> + vm.exposureWindowCount.observe(viewLifecycleOwner) { exposureWindowCount -> binding.labelExposureWindowCount.text = "Retrieved $exposureWindowCount Exposure Windows" binding.buttonExposureWindowsShare.visibility = when (exposureWindowCount > 0) { true -> View.VISIBLE false -> View.GONE } } - vm.shareFileEvent.observe2(this) { + vm.shareFileEvent.observe(viewLifecycleOwner) { shareExposureWindowsFile(it) } - vm.fakeWindowsState.observe2(this) { currentType -> + vm.fakeWindowsState.observe(viewLifecycleOwner) { currentType -> binding.apply { if (fakeWindowsToggleGroup.childCount != TestSettings.FakeExposureWindowTypes.values().size) { fakeWindowsToggleGroup.removeAllViews() diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/submission/ui/SubmissionTestFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/submission/ui/SubmissionTestFragment.kt index 19d7ce93a98..fc79bbc430e 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/submission/ui/SubmissionTestFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/submission/ui/SubmissionTestFragment.kt @@ -19,7 +19,6 @@ import de.rki.coronawarnapp.ui.dialog.displayDialog import de.rki.coronawarnapp.util.HashExtensions.toHexString import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.diffutil.update -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -41,12 +40,12 @@ class SubmissionTestFragment : Fragment(R.layout.fragment_test_submission), Auto adapter = tekHistoryAdapter layoutManager = LinearLayoutManager(requireContext()) } - vm.tekHistory.observe2(this) { teks -> + vm.tekHistory.observe(viewLifecycleOwner) { teks -> tekHistoryAdapter.update(teks) binding.tekStorageCount.text = "${teks.size} TEKs" } - vm.shareTEKsEvent.observe2(this) { tekExport -> + vm.shareTEKsEvent.observe(viewLifecycleOwner) { tekExport -> val share = Intent.createChooser( Intent().apply { action = Intent.ACTION_SEND @@ -58,17 +57,17 @@ class SubmissionTestFragment : Fragment(R.layout.fragment_test_submission), Auto startActivity(share) } - vm.errorEvents.observe2(this) { displayDialog { setError(it) } } + vm.errorEvents.observe(viewLifecycleOwner) { displayDialog { setError(it) } } binding.apply { tekRetrieval.setOnClickListener { vm.updateStorage() } tekEmail.setOnClickListener { vm.emailTEKs() } tekClearCache.setOnClickListener { vm.clearTekCache() } } - vm.permissionRequestEvent.observe2(this) { permissionRequest -> + vm.permissionRequestEvent.observe(viewLifecycleOwner) { permissionRequest -> permissionRequest.invoke(requireActivity()) } - vm.showTracingConsentDialog.observe2(this) { consentResult -> + vm.showTracingConsentDialog.observe(viewLifecycleOwner) { consentResult -> tracingConsentDialog(positiveButton = { consentResult(true) }, negativeButton = { consentResult(false) }) } vm.otpData.observe(viewLifecycleOwner) { diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/tasks/ui/TestTaskControllerFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/tasks/ui/TestTaskControllerFragment.kt index 07cb7c98616..29689fe326f 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/tasks/ui/TestTaskControllerFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/tasks/ui/TestTaskControllerFragment.kt @@ -9,7 +9,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentTestTaskControllerBinding import de.rki.coronawarnapp.test.menu.ui.TestMenuItem import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -26,21 +25,21 @@ class TestTaskControllerFragment : Fragment(R.layout.fragment_test_task_controll override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.factoryState.observe2(this) { state -> + vm.factoryState.observe(viewLifecycleOwner) { state -> binding.taskfactoriesValues.text = state.infos.joinToString("\n") } - vm.controllerState.observe2(this) { + vm.controllerState.observe(viewLifecycleOwner) { binding.runningTasksValues.text = it.stateDescriptions.joinToString("\n") } - vm.lastActivityState.observe2(this) { state -> + vm.lastActivityState.observe(viewLifecycleOwner) { state -> val lastResults = state.lastActivity.joinToString("\n") binding.tasksLastResults.text = lastResults } - vm.latestTestTaskProgress.observe2(this) { - if (it == null) return@observe2 + vm.latestTestTaskProgress.observe(viewLifecycleOwner) { + if (it == null) return@observe Snackbar.make( requireView(), "Latest TestTask progress: ${it.primaryMessage.get(requireContext())}", diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/DebugLogFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/DebugLogFragment.kt index 99ae3e48d8f..742c9119377 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/DebugLogFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/DebugLogFragment.kt @@ -17,7 +17,6 @@ import de.rki.coronawarnapp.ui.dialog.displayDialog import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.files.FileSharing -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -55,7 +54,7 @@ class DebugLogFragment : Fragment(R.layout.bugreporting_debuglog_fragment), Auto debugLogPrivacyInformation.setOnClickListener { vm.onPrivacyButtonPress() } } - vm.state.observe2(this) { + vm.state.observe(viewLifecycleOwner) { binding.apply { debuglogActivityIndicator.setImageDrawable( requireContext().getDrawableCompat( @@ -102,7 +101,7 @@ class DebugLogFragment : Fragment(R.layout.bugreporting_debuglog_fragment), Auto } } - vm.events.observe2(this) { + vm.events.observe(viewLifecycleOwner) { when (it) { DebugLogViewModel.Event.ShowLogDeletionRequest -> { showLogDeletionRequest() @@ -140,7 +139,7 @@ class DebugLogFragment : Fragment(R.layout.bugreporting_debuglog_fragment), Auto } } - vm.logUploads.observe2(this@DebugLogFragment) { + vm.logUploads.observe(viewLifecycleOwner) { val lastLog = it.logs.lastOrNull()?.uploadedAt binding.debugLogHistoryContainer.isGone = lastLog == null diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/DebugLogUploadFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/DebugLogUploadFragment.kt index 727af4bfc32..6d58c2998b6 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/DebugLogUploadFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/DebugLogUploadFragment.kt @@ -10,7 +10,6 @@ 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 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -40,22 +39,22 @@ class DebugLogUploadFragment : Fragment(R.layout.bugreporting_debuglog_upload_fr toolbar.setNavigationOnClickListener { popBackStack() } } - vm.routeToScreen.observe2(this) { + vm.routeToScreen.observe(viewLifecycleOwner) { when (it) { null -> popBackStack() else -> findNavController().navigate(it) } } - vm.errorEvent.observe2(this) { + vm.errorEvent.observe(viewLifecycleOwner) { displayDialog { title(getString(R.string.errors_generic_headline)) message(R.string.debugging_debuglog_share_try_again_later) } } - vm.uploadInProgress.observe2(this) { uploadDialog.setState(it) } - vm.uploadSuccess.observe2(this) { + vm.uploadInProgress.observe(viewLifecycleOwner) { uploadDialog.setState(it) } + vm.uploadSuccess.observe(viewLifecycleOwner) { Toast.makeText(requireContext(), it, Toast.LENGTH_LONG).show() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/history/LogUploadHistoryFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/history/LogUploadHistoryFragment.kt index 487d25dd3bc..cf258489417 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/history/LogUploadHistoryFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/history/LogUploadHistoryFragment.kt @@ -8,7 +8,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.contactdiary.util.clearAndAddAll import de.rki.coronawarnapp.databinding.BugreportingUploadHistoryFragmentBinding import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -31,7 +30,7 @@ class LogUploadHistoryFragment : Fragment(R.layout.bugreporting_upload_history_f adapter = historyAdapter } - vm.logUploads.observe2(this) { + vm.logUploads.observe(viewLifecycleOwner) { historyAdapter.apply { data.clearAndAddAll(it) notifyDataSetChanged() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayFragment.kt index eff34b12094..346e6b4d7d1 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayFragment.kt @@ -18,7 +18,6 @@ import de.rki.coronawarnapp.contactdiary.util.hideKeyboard import de.rki.coronawarnapp.contactdiary.util.registerOnPageChangeCallback import de.rki.coronawarnapp.databinding.ContactDiaryDayFragmentBinding import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -76,14 +75,14 @@ class ContactDiaryDayFragment : Fragment(R.layout.contact_diary_day_fragment), A } } - viewModel.uiState.observe2(this) { uiState -> + viewModel.uiState.observe(viewLifecycleOwner) { uiState -> binding.contactDiaryDayHeader.apply { title = uiState.dayText(context) contentDescription = uiState.dayTextContentDescription(context) } } - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { when (it) { ContactDiaryDayNavigationEvents.NavigateToOverviewFragment -> popBackStack() ContactDiaryDayNavigationEvents.NavigateToAddPersonFragment -> diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/location/ContactDiaryLocationListFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/location/ContactDiaryLocationListFragment.kt index ee1b428bf56..5269db977cc 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/location/ContactDiaryLocationListFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/location/ContactDiaryLocationListFragment.kt @@ -15,7 +15,6 @@ import de.rki.coronawarnapp.ui.durationpicker.DurationPicker import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.diffutil.update import de.rki.coronawarnapp.util.onScroll -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModelsAssisted @@ -55,12 +54,12 @@ class ContactDiaryLocationListFragment : } } - viewModel.uiList.observe2(this) { + viewModel.uiList.observe(viewLifecycleOwner) { locationListAdapter.update(it) binding.contactDiaryLocationListNoItemsGroup.isGone = it.isNotEmpty() } - viewModel.openDialog.observe2(this) { + viewModel.openDialog.observe(viewLifecycleOwner) { val durationPicker = DurationPicker.Builder() .minutes(step = 10) .duration(it) @@ -72,7 +71,7 @@ class ContactDiaryLocationListFragment : } } - viewModel.openCommentInfo.observe2(this) { + viewModel.openCommentInfo.observe(viewLifecycleOwner) { findNavController().navigate( ContactDiaryDayFragmentDirections .actionContactDiaryDayFragmentToContactDiaryCommentInfoFragment() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/person/ContactDiaryPersonListFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/person/ContactDiaryPersonListFragment.kt index 4be1dd95944..f9abaa80026 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/person/ContactDiaryPersonListFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/person/ContactDiaryPersonListFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.databinding.ContactDiaryPersonListFragmentBinding import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.diffutil.update import de.rki.coronawarnapp.util.onScroll -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModelsAssisted @@ -51,12 +50,12 @@ class ContactDiaryPersonListFragment : Fragment(R.layout.contact_diary_person_li } } - viewModel.uiList.observe2(this) { + viewModel.uiList.observe(viewLifecycleOwner) { personListAdapter.update(it) binding.contactDiaryPersonListNoItemsGroup.isGone = it.isNotEmpty() } - viewModel.openCommentInfo.observe2(this) { + viewModel.openCommentInfo.observe(viewLifecycleOwner) { findNavController().navigate( ContactDiaryDayFragmentDirections .actionContactDiaryDayFragmentToContactDiaryCommentInfoFragment() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsFragment.kt index 13ac10ccb55..cc42938ed9c 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.databinding.ContactDiaryEditLocationsFragmentBinding 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 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -40,22 +39,22 @@ class ContactDiaryEditLocationsFragment : Fragment(R.layout.contact_diary_edit_l binding.deleteButton.setOnClickListener { viewModel.onDeleteAllLocationsClick() } - viewModel.isListVisible.observe2(this) { + viewModel.isListVisible.observe(viewLifecycleOwner) { binding.contactDiaryLocationListNoItemsGroup.isGone = it } - viewModel.isButtonEnabled.observe2(this) { + viewModel.isButtonEnabled.observe(viewLifecycleOwner) { binding.deleteButton.isEnabled = it } - viewModel.locationsLiveData.observe2(this) { + viewModel.locationsLiveData.observe(viewLifecycleOwner) { listAdapter.update(it, true) if (it.isEmpty()) { popBackStack() } } - viewModel.navigationEvent.observe2(this) { + viewModel.navigationEvent.observe(viewLifecycleOwner) { when (it) { ShowDeletionConfirmationDialog -> deleteAllLocationsConfirmationDialog() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsFragment.kt index 9dee57b12c3..fe30625f617 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsFragment.kt @@ -15,7 +15,6 @@ 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 -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -40,22 +39,22 @@ class ContactDiaryEditPersonsFragment : Fragment(R.layout.contact_diary_edit_per } binding.toolbar.addNavigationIconButtonId(R.id.contact_diary_edit_persons_fragment_navigation_icon_buttonId) - viewModel.isListVisible.observe2(this) { + viewModel.isListVisible.observe(viewLifecycleOwner) { binding.contactDiaryPersonListNoItemsGroup.isGone = it } - viewModel.isButtonEnabled.observe2(this) { + viewModel.isButtonEnabled.observe(viewLifecycleOwner) { binding.deleteButton.isEnabled = it } - viewModel.personsLiveData.observe2(this) { + viewModel.personsLiveData.observe(viewLifecycleOwner) { listAdapter.update(it, true) if (it.isEmpty()) { popBackStack() } } - viewModel.navigationEvent.observe2(this) { + viewModel.navigationEvent.observe(viewLifecycleOwner) { when (it) { ShowDeletionConfirmationDialog -> deleteAllPersonsConfirmationDialog() is ShowPersonDetailFragment -> { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/location/ContactDiaryAddLocationFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/location/ContactDiaryAddLocationFragment.kt index c927d9f6ede..967bf3056c5 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/location/ContactDiaryAddLocationFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/location/ContactDiaryAddLocationFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.databinding.ContactDiaryAddLocationFragmentBinding 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 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -99,12 +98,12 @@ class ContactDiaryAddLocationFragment : Fragment(R.layout.contact_diary_add_loca } } - viewModel.shouldClose.observe2(this) { + viewModel.shouldClose.observe(viewLifecycleOwner) { binding.root.hideKeyboard() popBackStack() } - viewModel.isValid.observe2(this) { + viewModel.isValid.observe(viewLifecycleOwner) { binding.locationSaveButton.isEnabled = it } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragment.kt index 23464920612..9e769abc8f8 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.databinding.ContactDiaryOnboardingFragmentBinding import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.ui.addMenuId -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -55,7 +54,7 @@ class ContactDiaryOnboardingFragment : Fragment(R.layout.contact_diary_onboardin } } - vm.routeToScreen.observe2(this) { + vm.routeToScreen.observe(viewLifecycleOwner) { when (it) { ContactDiaryOnboardingNavigationEvents.NavigateToMainActivity -> { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewFragment.kt index c88ff167902..71ea248be89 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewFragment.kt @@ -16,7 +16,6 @@ import de.rki.coronawarnapp.databinding.ContactDiaryOverviewFragmentBinding import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.diffutil.update import de.rki.coronawarnapp.util.ui.addMenuId -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -57,19 +56,19 @@ class ContactDiaryOverviewFragment : Fragment(R.layout.contact_diary_overview_fr } } - vm.listItems.observe2(this) { + vm.listItems.observe(viewLifecycleOwner) { adapter.update(it) } - vm.locations.observe2(this) { + vm.locations.observe(viewLifecycleOwner) { binding.toolbar.menu.findItem(R.id.menu_contact_diary_edit_locations)?.isEnabled = it.isNotEmpty() } - vm.people.observe2(this) { + vm.people.observe(viewLifecycleOwner) { binding.toolbar.menu.findItem(R.id.menu_contact_diary_edit_persons)?.isEnabled = it.isNotEmpty() } - vm.routeToScreen.observe2(this) { + vm.routeToScreen.observe(viewLifecycleOwner) { when (it) { ContactDiaryOverviewNavigationEvents.NavigateToMainActivity -> { requireActivity().finish() @@ -83,7 +82,7 @@ class ContactDiaryOverviewFragment : Fragment(R.layout.contact_diary_overview_fr } } } - vm.exportLocationsAndPersons.observe2(this) { + vm.exportLocationsAndPersons.observe(viewLifecycleOwner) { exportLocationsAndPersons(it) } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/person/ContactDiaryAddPersonFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/person/ContactDiaryAddPersonFragment.kt index 2d5e2b5e2a4..ca18b5484c0 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/person/ContactDiaryAddPersonFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/person/ContactDiaryAddPersonFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.databinding.ContactDiaryAddPersonFragmentBinding 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 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -99,12 +98,12 @@ class ContactDiaryAddPersonFragment : } } - viewModel.shouldClose.observe2(this) { + viewModel.shouldClose.observe(viewLifecycleOwner) { binding.root.hideKeyboard() popBackStack() } - viewModel.isNameValid.observe2(this) { isValid -> + viewModel.isNameValid.observe(viewLifecycleOwner) { isValid -> binding.personSaveButton.isEnabled = isValid } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/boosterinfodetails/BoosterInfoDetailsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/boosterinfodetails/BoosterInfoDetailsFragment.kt index e60e77ecdfc..0a8f5df1641 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/boosterinfodetails/BoosterInfoDetailsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/boosterinfodetails/BoosterInfoDetailsFragment.kt @@ -11,7 +11,6 @@ import de.rki.coronawarnapp.databinding.FragmentBoosterInformationDetailsBinding import de.rki.coronawarnapp.ui.view.onOffsetChange import de.rki.coronawarnapp.util.convertToHyperlink import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -52,7 +51,7 @@ class BoosterInfoDetailsFragment : Fragment(R.layout.fragment_booster_informatio } } - viewModel.uiState.observe2(this) { + viewModel.uiState.observe(viewLifecycleOwner) { with(binding) { toolbar.title = it.titleText subtitle.text = it.subtitleText @@ -62,7 +61,7 @@ class BoosterInfoDetailsFragment : Fragment(R.layout.fragment_booster_informatio } } - viewModel.shouldClose.observe2(this) { + viewModel.shouldClose.observe(viewLifecycleOwner) { popBackStack() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/pdf/ui/poster/CertificatePosterFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/pdf/ui/poster/CertificatePosterFragment.kt index 253d1d6113e..61d8f4864cf 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/pdf/ui/poster/CertificatePosterFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/pdf/ui/poster/CertificatePosterFragment.kt @@ -15,7 +15,6 @@ import de.rki.coronawarnapp.covidcertificate.pdf.ui.setupWebView import de.rki.coronawarnapp.databinding.CertificatePosterFragmentBinding 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 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -66,16 +65,16 @@ class CertificatePosterFragment : Fragment(R.layout.certificate_poster_fragment) } } - viewModel.sharingIntent.observe2(this) { provider -> + viewModel.sharingIntent.observe(viewLifecycleOwner) { provider -> provider.intent(requireActivity()).also { startActivity(it) } } - viewModel.error.observe2(this) { + viewModel.error.observe(viewLifecycleOwner) { binding.progressLayout.isVisible = false displayDialog { setError(it) } } - viewModel.uiState.observe2(this) { state -> + viewModel.uiState.observe(viewLifecycleOwner) { state -> when (state) { is Done -> { binding.progressLayout.isVisible = false diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/validation/ui/validationresult/failed/DccValidationFailedFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/validation/ui/validationresult/failed/DccValidationFailedFragment.kt index 90bdc2f8b87..f127c9bda22 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/validation/ui/validationresult/failed/DccValidationFailedFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/validation/ui/validationresult/failed/DccValidationFailedFragment.kt @@ -13,7 +13,6 @@ import de.rki.coronawarnapp.ui.view.onOffsetChange import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.decorations.RecylerViewPaddingDecorator import de.rki.coronawarnapp.util.lists.diffutil.update -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -63,7 +62,7 @@ class DccValidationFailedFragment : Fragment(R.layout.covid_certificate_validati popBackStackTwice() } - viewModel.listItems.observe2(this) { + viewModel.listItems.observe(viewLifecycleOwner) { validationResultAdapter.update(it) } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/validation/ui/validationresult/open/DccValidationOpenFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/validation/ui/validationresult/open/DccValidationOpenFragment.kt index 8fc75c0f448..561e7d9781b 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/validation/ui/validationresult/open/DccValidationOpenFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/validation/ui/validationresult/open/DccValidationOpenFragment.kt @@ -13,7 +13,6 @@ import de.rki.coronawarnapp.ui.view.onOffsetChange import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.decorations.RecylerViewPaddingDecorator import de.rki.coronawarnapp.util.lists.diffutil.update -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -65,7 +64,7 @@ class DccValidationOpenFragment : Fragment(R.layout.covid_certificate_validation popBackStackTwice() } - viewModel.listItems.observe2(this) { + viewModel.listItems.observe(viewLifecycleOwner) { validationResultAdapter.update(it) } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/validation/ui/validationresult/passed/DccValidationPassedFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/validation/ui/validationresult/passed/DccValidationPassedFragment.kt index 11c963726b9..c79bab19445 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/validation/ui/validationresult/passed/DccValidationPassedFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/validation/ui/validationresult/passed/DccValidationPassedFragment.kt @@ -10,7 +10,6 @@ import de.rki.coronawarnapp.covidcertificate.validation.ui.validationresult.comm import de.rki.coronawarnapp.databinding.CovidCertificateValidationPassedFragmentBinding import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.diffutil.update -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -52,7 +51,7 @@ class DccValidationPassedFragment : Fragment(R.layout.covid_certificate_validati popBackStackTwice() } - viewModel.items.observe2(this) { + viewModel.items.observe(viewLifecycleOwner) { validationResultAdapter.update(it) } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/datadonation/analytics/ui/input/AnalyticsUserInputFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/datadonation/analytics/ui/input/AnalyticsUserInputFragment.kt index 33e525ecf73..f10e45ba171 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/datadonation/analytics/ui/input/AnalyticsUserInputFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/datadonation/analytics/ui/input/AnalyticsUserInputFragment.kt @@ -8,7 +8,6 @@ import androidx.recyclerview.widget.LinearLayoutManager import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.AnalyticsPpaUserinfoInputFragmentBinding import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -49,13 +48,13 @@ class AnalyticsUserInputFragment : Fragment(R.layout.analytics_ppa_userinfo_inpu layoutManager = LinearLayoutManager(requireContext()) adapter = itemAdapter } - vm.userInfoItems.observe2(this) { + vm.userInfoItems.observe(viewLifecycleOwner) { itemAdapter.data = it } itemAdapter.onItemClickListener = { vm.selectUserInfoItem(it) } - vm.finishEvent.observe2(this) { popBackStack() } + vm.finishEvent.observe(viewLifecycleOwner) { popBackStack() } } enum class InputType { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/datadonation/survey/consent/SurveyConsentFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/datadonation/survey/consent/SurveyConsentFragment.kt index a0dd0968328..bc0149a5130 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/datadonation/survey/consent/SurveyConsentFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/datadonation/survey/consent/SurveyConsentFragment.kt @@ -11,7 +11,6 @@ import de.rki.coronawarnapp.ui.dialog.CwaDialogFragment import de.rki.coronawarnapp.ui.dialog.displayDialog import de.rki.coronawarnapp.util.ExternalActionHelper.openUrl import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -42,7 +41,7 @@ class SurveyConsentFragment : Fragment(R.layout.survey_consent_fragment), AutoIn surveyConsentMoreInfo.setOnClickListener { vm.onMoreInformationButtonPressed() } } - vm.routeToScreen.observe2(this) { event -> + vm.routeToScreen.observe(viewLifecycleOwner) { event -> when (event) { is SurveyConsentNavigationEvents.NavigateBack -> activity?.onBackPressed() @@ -59,7 +58,7 @@ class SurveyConsentFragment : Fragment(R.layout.survey_consent_fragment), AutoIn } } - vm.showLoadingIndicator.observe2(this) { loading -> + vm.showLoadingIndicator.observe(viewLifecycleOwner) { loading -> if (loading) showSurveyProgressDialog() else { val tag = SurveyConsentFragment::class.java.simpleName + CwaDialogFragment.TAG @@ -68,7 +67,7 @@ class SurveyConsentFragment : Fragment(R.layout.survey_consent_fragment), AutoIn } } - vm.showErrorDialog.observe2(this) { + vm.showErrorDialog.observe(viewLifecycleOwner) { showErrorDialog(it.errorMessage.get(requireContext())) } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccreissuance/ui/consent/DccReissuanceConsentFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccreissuance/ui/consent/DccReissuanceConsentFragment.kt index 7bd086299f0..9cb9cd428ba 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccreissuance/ui/consent/DccReissuanceConsentFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccreissuance/ui/consent/DccReissuanceConsentFragment.kt @@ -12,7 +12,6 @@ import de.rki.coronawarnapp.databinding.FragmentDccReissuanceConsentBinding 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 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -63,7 +62,7 @@ class DccReissuanceConsentFragment : Fragment(R.layout.fragment_dcc_reissuance_c } viewModel.apply { - stateLiveData.observe2(this@DccReissuanceConsentFragment) { + stateLiveData.observe(viewLifecycleOwner) { reissuanceGroup.isVisible = it.divisionVisible accompanyingCertificatesGroup.isVisible = it.accompanyingCertificatesVisible listTitleText.text = it.listItemsTitle @@ -82,7 +81,7 @@ class DccReissuanceConsentFragment : Fragment(R.layout.fragment_dcc_reissuance_c dccReissuanceAdapter.update(it.certificateList) } - event.observe2(this@DccReissuanceConsentFragment) { event -> + event.observe(viewLifecycleOwner) { event -> when (event) { is DccReissuanceConsentViewModel.ReissuanceError -> { agreeButton.isLoading = false diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/certificateselection/DccTicketingCertificateSelectionFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/certificateselection/DccTicketingCertificateSelectionFragment.kt index 1adce4c981d..39217c8bdc9 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/certificateselection/DccTicketingCertificateSelectionFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/certificateselection/DccTicketingCertificateSelectionFragment.kt @@ -13,7 +13,6 @@ import de.rki.coronawarnapp.dccticketing.ui.shared.DccTicketingSharedViewModel import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.decorations.TopBottomPaddingDecorator import de.rki.coronawarnapp.util.lists.diffutil.update -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -49,8 +48,8 @@ class DccTicketingCertificateSelectionFragment : } } viewModel.apply { - events.observe2(this@DccTicketingCertificateSelectionFragment) { event -> navigate(event) } - items.observe2(this@DccTicketingCertificateSelectionFragment) { certificatesAdapter.update(it) } + events.observe(viewLifecycleOwner) { event -> navigate(event) } + items.observe(viewLifecycleOwner) { certificatesAdapter.update(it) } } activity?.onBackPressedDispatcher?.addCallback(viewLifecycleOwner) { viewModel.onUserCancel() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/consent/one/DccTicketingConsentOneFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/consent/one/DccTicketingConsentOneFragment.kt index 6bb39f2e360..bb05233cbda 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/consent/one/DccTicketingConsentOneFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/consent/one/DccTicketingConsentOneFragment.kt @@ -18,7 +18,6 @@ import de.rki.coronawarnapp.dccticketing.ui.shared.DccTicketingSharedViewModel import de.rki.coronawarnapp.qrcode.ui.QrcodeSharedViewModel import de.rki.coronawarnapp.ui.view.onOffsetChange import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -71,11 +70,9 @@ class DccTicketingConsentOneFragment : Fragment(R.layout.fragment_dcc_ticketing_ viewModel.showPrivacyInformation() } - viewModel.events.observe2(this@DccTicketingConsentOneFragment) { - handleEvents(it) - } + viewModel.events.observe(viewLifecycleOwner) { handleEvents(it) } - viewModel.uiState.observe2(this@DccTicketingConsentOneFragment) { + viewModel.uiState.observe(viewLifecycleOwner) { val providerText = "\"${it.provider}\"" val subjectText = "\"${it.subject}\"" @@ -83,9 +80,7 @@ class DccTicketingConsentOneFragment : Fragment(R.layout.fragment_dcc_ticketing_ subject.text = subjectText } - viewModel.isLoading.observe2(this@DccTicketingConsentOneFragment) { - agreeButton.isLoading = it - } + viewModel.isLoading.observe(viewLifecycleOwner) { agreeButton.isLoading = it } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) { onUserCancelAction() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/consent/two/DccTicketingConsentTwoFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/consent/two/DccTicketingConsentTwoFragment.kt index 194fc590dee..4b98f696cf3 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/consent/two/DccTicketingConsentTwoFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/consent/two/DccTicketingConsentTwoFragment.kt @@ -16,7 +16,6 @@ import de.rki.coronawarnapp.dccticketing.ui.shared.DccTicketingSharedViewModel import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.decorations.TopBottomPaddingDecorator import de.rki.coronawarnapp.util.lists.diffutil.update -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -69,11 +68,9 @@ class DccTicketingConsentTwoFragment : Fragment(R.layout.fragment_dcc_ticketing_ addItemDecoration(TopBottomPaddingDecorator(topPadding = R.dimen.standard_8)) } - viewModel.events.observe2(this@DccTicketingConsentTwoFragment) { - handleEvents(it) - } + viewModel.events.observe(viewLifecycleOwner) { handleEvents(it) } - viewModel.uiState.observe2(this@DccTicketingConsentTwoFragment) { + viewModel.uiState.observe(viewLifecycleOwner) { val testPartnerText = "\"${it.testPartner}\"" val providerText = "\"${it.provider}\"" @@ -83,9 +80,7 @@ class DccTicketingConsentTwoFragment : Fragment(R.layout.fragment_dcc_ticketing_ certificateAdapter.update(listOf(it.certificateItem)) } - viewModel.isLoading.observe2(this@DccTicketingConsentTwoFragment) { - agreeButton.isLoading = it - } + viewModel.isLoading.observe(viewLifecycleOwner) { agreeButton.isLoading = it } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) { onBackAction() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/validationresult/DccTicketingValidationResultFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/validationresult/DccTicketingValidationResultFragment.kt index c0439bcd6f4..656c3be2aa7 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/validationresult/DccTicketingValidationResultFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/dccticketing/ui/validationresult/DccTicketingValidationResultFragment.kt @@ -10,7 +10,6 @@ import de.rki.coronawarnapp.databinding.FragmentDccTicketingValidationResultBind import de.rki.coronawarnapp.dccticketing.ui.shared.DccTicketingSharedViewModel import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.diffutil.update -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModelsAssisted @@ -46,12 +45,12 @@ class DccTicketingValidationResultFragment : Fragment(R.layout.fragment_dcc_tick buttonDone.setOnClickListener { resultViewModel.onDoneClicked() } } - resultViewModel.uiStateFlow.observe2(this) { + resultViewModel.uiStateFlow.observe(viewLifecycleOwner) { binding.validationResultFragments.setHeaderForState(it.result) validationResultAdapter.update(it.listItems) } - resultViewModel.navigation.observe2(this) { + resultViewModel.navigation.observe(viewLifecycleOwner) { handleNavigation(it) } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/familytest/ui/consent/FamilyTestConsentFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/familytest/ui/consent/FamilyTestConsentFragment.kt index eab70e55038..a52b176119a 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/familytest/ui/consent/FamilyTestConsentFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/familytest/ui/consent/FamilyTestConsentFragment.kt @@ -17,7 +17,6 @@ import de.rki.coronawarnapp.databinding.FragmentFamilyTestConsentBinding import de.rki.coronawarnapp.qrcode.ui.QrcodeSharedViewModel import de.rki.coronawarnapp.submission.TestRegistrationStateProcessor import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -51,7 +50,7 @@ class FamilyTestConsentFragment : Fragment(R.layout.fragment_family_test_consent } ) - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { when (it) { is FamilyTestConsentNavigationEvents.NavigateBack -> { binding.root.hideKeyboard() @@ -87,7 +86,7 @@ class FamilyTestConsentFragment : Fragment(R.layout.fragment_family_test_consent } } - viewModel.registrationState.observe2(this) { state -> + viewModel.registrationState.observe(viewLifecycleOwner) { state -> val isWorking = state is TestRegistrationStateProcessor.State.Working binding.apply { consentButton.isLoading = isWorking @@ -138,7 +137,7 @@ class FamilyTestConsentFragment : Fragment(R.layout.fragment_family_test_consent } } - viewModel.isSubmittable.observe2(this) { + viewModel.isSubmittable.observe(viewLifecycleOwner) { binding.consentButton.isActive = it } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/familytest/ui/selection/TestRegistrationSelectionFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/familytest/ui/selection/TestRegistrationSelectionFragment.kt index c1cb581058d..fc796ce861a 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/familytest/ui/selection/TestRegistrationSelectionFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/familytest/ui/selection/TestRegistrationSelectionFragment.kt @@ -10,7 +10,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentTestRegistrationSelectionBinding import de.rki.coronawarnapp.ui.submission.qrcode.consent.SubmissionConsentBackNavArg.BackToTestRegistrationSelection import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -34,7 +33,7 @@ class TestRegistrationSelectionFragment : Fragment(R.layout.fragment_test_regist override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { when (it) { is TestRegistrationSelectionNavigationEvents.NavigateBack -> { popBackStack() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/familytest/ui/testlist/FamilyTestListFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/familytest/ui/testlist/FamilyTestListFragment.kt index 036f8503888..2f8761c51f5 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/familytest/ui/testlist/FamilyTestListFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/familytest/ui/testlist/FamilyTestListFragment.kt @@ -17,7 +17,6 @@ import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.list.setupSwipe import de.rki.coronawarnapp.util.lists.decorations.TopBottomPaddingDecorator import de.rki.coronawarnapp.util.lists.diffutil.update -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -37,10 +36,10 @@ class FamilyTestListFragment : Fragment(R.layout.fragment_family_test_list), Aut bindRecycler() binding.refreshLayout.setOnRefreshListener { viewModel.onRefreshTests() } binding.toolbar.setNavigationOnClickListener { viewModel.onBackPressed() } - viewModel.familyTests.observe2(this) { tests -> updateViews(tests) } - viewModel.events.observe2(this) { it?.let { onNavigationEvent(it) } } - viewModel.error.observe2(this) { displayDialog { setError(it) } } - viewModel.refreshComplete.observe2(this) { binding.refreshLayout.isRefreshing = false } + viewModel.familyTests.observe(viewLifecycleOwner) { tests -> updateViews(tests) } + viewModel.events.observe(viewLifecycleOwner) { it?.let { onNavigationEvent(it) } } + viewModel.error.observe(viewLifecycleOwner) { displayDialog { setError(it) } } + viewModel.refreshComplete.observe(viewLifecycleOwner) { binding.refreshLayout.isRefreshing = false } } override fun onStop() { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/profile/ui/list/ProfileListFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/profile/ui/list/ProfileListFragment.kt index 4379c7535f7..3f268acf769 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/profile/ui/list/ProfileListFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/profile/ui/list/ProfileListFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.util.lists.decorations.TopBottomPaddingDecorator import de.rki.coronawarnapp.util.lists.diffutil.update import de.rki.coronawarnapp.util.onScroll import de.rki.coronawarnapp.util.ui.addTitleId -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -54,7 +53,7 @@ class ProfileListFragment : Fragment(R.layout.profile_list_fragment), AutoInject viewModel.onCreateProfileClicked() } - viewModel.profiles.observe2(this) { + viewModel.profiles.observe(viewLifecycleOwner) { profilesListAdapter.update(it) binding.apply { recyclerView.isGone = it.isEmpty() @@ -62,7 +61,7 @@ class ProfileListFragment : Fragment(R.layout.profile_list_fragment), AutoInject } } - viewModel.events.observe2(this) { + viewModel.events.observe(viewLifecycleOwner) { when (it) { ProfileListEvent.NavigateToAddProfile -> { findNavController().navigate( diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/release/NewReleaseInfoFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/release/NewReleaseInfoFragment.kt index 6aa89507d14..7b58015c248 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/release/NewReleaseInfoFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/release/NewReleaseInfoFragment.kt @@ -15,7 +15,6 @@ import de.rki.coronawarnapp.databinding.NewReleaseInfoScreenFragmentBinding import de.rki.coronawarnapp.ui.lists.BaseAdapter import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.BindableVH -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -67,7 +66,7 @@ class NewReleaseInfoFragment : Fragment(R.layout.new_release_info_screen_fragmen } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, backCallback) - vm.routeToScreen.observe2(this) { + vm.routeToScreen.observe(viewLifecycleOwner) { when (it) { is NewReleaseInfoNavigationEvents.CloseScreen -> popBackStack() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/reyclebin/ui/RecyclerBinOverviewFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/reyclebin/ui/RecyclerBinOverviewFragment.kt index 0898315fa44..794d30a531c 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/reyclebin/ui/RecyclerBinOverviewFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/reyclebin/ui/RecyclerBinOverviewFragment.kt @@ -15,7 +15,6 @@ import de.rki.coronawarnapp.reyclebin.ui.dialog.restoreTestDialog import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.list.setupSwipe import de.rki.coronawarnapp.util.lists.diffutil.update -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -45,13 +44,13 @@ class RecyclerBinOverviewFragment : Fragment(R.layout.recycler_bin_overview_frag } } - viewModel.listItems.observe2(this) { + viewModel.listItems.observe(viewLifecycleOwner) { binding.emptyListInfoContainer.isVisible = it.isEmpty() recyclerBinAdapter.update(it) binding.toolbar.menu.findItem(R.id.menu_remove_all)?.isEnabled = it.isNotEmpty() } - viewModel.events.observe2(this) { handleRecyclerEvent(it) } + viewModel.events.observe(viewLifecycleOwner) { handleRecyclerEvent(it) } } private fun handleRecyclerEvent(event: RecyclerBinEvent): Unit = when (event) { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/consent/SrsSubmissionConsentFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/consent/SrsSubmissionConsentFragment.kt index 751318c75b8..de5fbcbc841 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/consent/SrsSubmissionConsentFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/consent/SrsSubmissionConsentFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.srs.ui.vm.TeksSharedViewModel import de.rki.coronawarnapp.tracing.ui.tracingConsentDialog import de.rki.coronawarnapp.ui.submission.SubmissionBlockingDialog import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModelsAssisted @@ -61,29 +60,29 @@ class SrsSubmissionConsentFragment : Fragment(R.layout.fragment_srs_submission_c } with(binding) { - viewModel.timeBetweenSubmissionsInDays.observe2(this@SrsSubmissionConsentFragment) { + viewModel.timeBetweenSubmissionsInDays.observe(viewLifecycleOwner) { srsSectionWarnInterval.text = getString(R.string.srs_section_warn_interval_text, it.toDays()) } } - viewModel.showKeysRetrievalProgress.observe2(this) { + viewModel.showKeysRetrievalProgress.observe(viewLifecycleOwner) { Timber.i("SubmissionTestResult:showKeyRetrievalProgress:$it") keyRetrievalProgress.setState(it) binding.srsSubmissionConsentAcceptButton.isEnabled = !it } - viewModel.showTracingConsentDialog.observe2(this) { onConsentResult -> + viewModel.showTracingConsentDialog.observe(viewLifecycleOwner) { onConsentResult -> tracingConsentDialog( positiveButton = { onConsentResult(true) }, negativeButton = { onConsentResult(false) } ) } - viewModel.showPermissionRequest.observe2(this) { permissionRequest -> + viewModel.showPermissionRequest.observe(viewLifecycleOwner) { permissionRequest -> permissionRequest.invoke(requireActivity()) } - viewModel.event.observe2(this) { + viewModel.event.observe(viewLifecycleOwner) { when (it) { SrsSubmissionConsentNavigationEvents.NavigateToDataPrivacy -> findNavController().navigate( diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/symptoms/calendar/SrsSymptomsCalendarFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/symptoms/calendar/SrsSymptomsCalendarFragment.kt index bf1a18265b9..9b324b3a308 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/symptoms/calendar/SrsSymptomsCalendarFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/symptoms/calendar/SrsSymptomsCalendarFragment.kt @@ -21,7 +21,6 @@ import de.rki.coronawarnapp.util.ExternalActionHelper.openUrl import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.formatter.formatSymptomBackgroundButtonStyleByState import de.rki.coronawarnapp.util.formatter.formatSymptomButtonTextStyleByState -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModelsAssisted @@ -60,7 +59,7 @@ class SrsSymptomsCalendarFragment : Fragment(R.layout.fragment_submission_sympto viewModel.onDateSelected(it) } - viewModel.symptomStart.observe2(this) { + viewModel.symptomStart.observe(viewLifecycleOwner) { when (it) { is Symptoms.StartOf.Date -> binding.symptomCalendarContainer.setSelectedDate(it.date) else -> binding.symptomCalendarContainer.setSelectedDate(null) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/symptoms/intro/SrsSymptomsIntroductionFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/symptoms/intro/SrsSymptomsIntroductionFragment.kt index dc6b3beeb28..078da2596df 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/symptoms/intro/SrsSymptomsIntroductionFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/symptoms/intro/SrsSymptomsIntroductionFragment.kt @@ -21,7 +21,6 @@ import de.rki.coronawarnapp.util.ExternalActionHelper.openUrl import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.formatter.formatSymptomBackgroundButtonStyleByState import de.rki.coronawarnapp.util.formatter.formatSymptomButtonTextStyleByState -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModelsAssisted @@ -58,7 +57,7 @@ class SrsSymptomsIntroductionFragment : Fragment(R.layout.fragment_submission_sy binding.toolbar.setNavigationOnClickListener { viewModel.onCancelConfirmed() } - viewModel.symptomIndication.observe2(this) { + viewModel.symptomIndication.observe(viewLifecycleOwner) { updateButtons(it) } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/typeselection/SrsTypeSelectionFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/typeselection/SrsTypeSelectionFragment.kt index 8d75b069ade..7b23bf2d8b6 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/typeselection/SrsTypeSelectionFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/srs/ui/typeselection/SrsTypeSelectionFragment.kt @@ -9,7 +9,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentSrsTypeSelectionBinding import de.rki.coronawarnapp.srs.ui.dialogs.showCloseDialog import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -27,7 +26,7 @@ class SrsTypeSelectionFragment : Fragment(R.layout.fragment_srs_type_selection), override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel.navigation.observe2(this) { + viewModel.navigation.observe(viewLifecycleOwner) { when (it) { SrsTypeSelectionNavigationEvents.NavigateToCloseDialog -> showCloseDialog { viewModel.onCancelConfirmed() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/statistics/ui/stateselection/FederalStateSelectionFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/statistics/ui/stateselection/FederalStateSelectionFragment.kt index 13c11c02b31..3eda91d8483 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/statistics/ui/stateselection/FederalStateSelectionFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/statistics/ui/stateselection/FederalStateSelectionFragment.kt @@ -9,7 +9,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FederalStateSelectionFragmentBinding import de.rki.coronawarnapp.server.protocols.internal.ppdd.PpaData import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -52,10 +51,10 @@ class FederalStateSelectionFragment : Fragment(R.layout.federal_state_selection_ } viewModel.apply { - listItems.observe2(this@FederalStateSelectionFragment) { + listItems.observe(viewLifecycleOwner) { itemAdapter.data = it } - event.observe2(this@FederalStateSelectionFragment) { + event.observe(viewLifecycleOwner) { when (it) { FederalStateSelectionViewModel.Events.FinishEvent -> findNavController().popBackStack( R.id.mainFragment, diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsFragment.kt index 0a30c2af230..6d192e3e82d 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.util.ExternalActionHelper.openUrl import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.diffutil.update import de.rki.coronawarnapp.util.mutateDrawable -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -47,11 +46,11 @@ class TracingDetailsFragment : Fragment(R.layout.tracing_details_fragment_layout adapter = detailsAdapter } - vm.detailsItems.observe2(this) { + vm.detailsItems.observe(viewLifecycleOwner) { detailsAdapter.update(it) } - vm.buttonStates.observe2(this) { + vm.buttonStates.observe(viewLifecycleOwner) { with(binding) { toolbar.setBackgroundColor(it.getRiskColor(requireContext())) toolbar.setTitleTextColor(it.getStableTextColor(requireContext())) @@ -64,7 +63,7 @@ class TracingDetailsFragment : Fragment(R.layout.tracing_details_fragment_layout } } - vm.routeToScreen.observe2(this) { + vm.routeToScreen.observe(viewLifecycleOwner) { when (it) { is TracingDetailsNavigationEvents.NavigateToSurveyConsentFragment -> findNavController().navigate( TracingDetailsFragmentDirections.actionRiskDetailsFragmentToSurveyConsentFragment(it.type) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/TracingSettingsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/TracingSettingsFragment.kt index 2fd093e1dd0..c6d5d7f60ba 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/TracingSettingsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/TracingSettingsFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.tracing.ui.tracingConsentDialog import de.rki.coronawarnapp.ui.dialog.displayDialog import de.rki.coronawarnapp.util.ExternalActionHelper.openDeviceSettings import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -37,13 +36,13 @@ class TracingSettingsFragment : Fragment(R.layout.fragment_tracing_settings), Au override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel.loggingPeriod.observe2(this) { + viewModel.loggingPeriod.observe(viewLifecycleOwner) { with(binding) { riskDetailsPeriodLoggedBodyNotice.text = it.getExposureLoggingPeriod(requireContext()) riskDetailsPeriodLoggedDays.text = it.getInstallTimePeriodLogged(requireContext()) } } - viewModel.tracingSettingsState.observe2(this) { state -> + viewModel.tracingSettingsState.observe(viewLifecycleOwner) { state -> with(binding) { illustration.apply { contentDescription = state.getTracingIllustrationText(requireContext()) @@ -76,7 +75,7 @@ class TracingSettingsFragment : Fragment(R.layout.fragment_tracing_settings), Au } } - viewModel.events.observe2(this) { + viewModel.events.observe(viewLifecycleOwner) { when (it) { is Event.RequestPermissions -> it.permissionRequest.invoke(requireActivity()) is Event.ManualCheckingDialog -> showManualCheckingRequiredDialog() @@ -87,11 +86,11 @@ class TracingSettingsFragment : Fragment(R.layout.fragment_tracing_settings), Au } } - viewModel.isTracingSwitchChecked.observe2(this) { checked -> + viewModel.isTracingSwitchChecked.observe(viewLifecycleOwner) { checked -> binding.switchRow.setChecked(checked) } - viewModel.ensErrorEvents.observe2(this) { error -> displayDialog { setError(error) } } + viewModel.ensErrorEvents.observe(viewLifecycleOwner) { error -> displayDialog { setError(error) } } setButtonOnClickListener() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt index af3aec4ddf2..6e5e7684fdd 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt @@ -12,7 +12,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentInformationBinding import de.rki.coronawarnapp.util.ExternalActionHelper.openUrl import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -33,17 +32,17 @@ class InformationFragment : Fragment(R.layout.fragment_information), AutoInject override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.currentENFVersion.observe2(this) { + vm.currentENFVersion.observe(viewLifecycleOwner) { binding.informationEnfVersion.apply { isGone = it == null text = it } } - vm.appVersion.observe2(this) { + vm.appVersion.observe(viewLifecycleOwner) { binding.informationVersion.text = it } - vm.cclConfigVersion.observe2(this) { + vm.cclConfigVersion.observe(viewLifecycleOwner) { binding.cclVersion.text = it } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragment.kt index b7690a682b1..9fedd5053d5 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/interoperability/InteroperabilityConfigurationFragment.kt @@ -10,7 +10,6 @@ import androidx.fragment.app.Fragment import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentInteroperabilityConfigurationBinding import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -28,7 +27,7 @@ class InteroperabilityConfigurationFragment : override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.countryList.observe2(this) { + vm.countryList.observe(viewLifecycleOwner) { binding.interoperabilityConfigurationCountryList.setCountryList(it) if (it.isEmpty()) { binding.noCountriesRiskdetailsInfoview.isVisible = false @@ -38,7 +37,7 @@ class InteroperabilityConfigurationFragment : } vm.saveInteroperabilityUsed() - vm.navigateBack.observe2(this) { + vm.navigateBack.observe(viewLifecycleOwner) { if (it) { popBackStack() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragment.kt index 2ae5ccbc351..94559c62f89 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragment.kt @@ -28,7 +28,6 @@ import de.rki.coronawarnapp.util.lists.decorations.TopBottomPaddingDecorator import de.rki.coronawarnapp.util.lists.diffutil.update import de.rki.coronawarnapp.util.ui.addMenuId import de.rki.coronawarnapp.util.ui.findNestedGraph -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.setCWAContentDescription import de.rki.coronawarnapp.util.ui.setItemContentDescription import de.rki.coronawarnapp.util.ui.setLottieAnimation @@ -93,10 +92,10 @@ class HomeFragment : Fragment(R.layout.home_fragment_layout), AutoInject { } viewModel.showPopUps() - viewModel.events.observe2(this) { event -> navigate(event) } - viewModel.homeItems.observe2(this) { homeAdapter.update(it) } - viewModel.errorEvent.observe2(this) { displayDialog { setError(it) } } - viewModel.tracingHeaderState.observe2(this) { + viewModel.events.observe(viewLifecycleOwner) { event -> navigate(event) } + viewModel.homeItems.observe(viewLifecycleOwner) { homeAdapter.update(it) } + viewModel.errorEvent.observe(viewLifecycleOwner) { displayDialog { setError(it) } } + viewModel.tracingHeaderState.observe(viewLifecycleOwner) { with(binding) { mainTracingHeadline.contentDescription = it.getTracingContentDescription(requireContext()) mainTracingHeadline.text = it.getTracingDescription(requireContext()) @@ -104,7 +103,7 @@ class HomeFragment : Fragment(R.layout.home_fragment_layout), AutoInject { mainTracingIcon.setLottieAnimationColor(it.getTracingTint(requireContext())) } } - viewModel.showIncorrectDeviceTimeDialog.observe2(this) { showDialog -> + viewModel.showIncorrectDeviceTimeDialog.observe(viewLifecycleOwner) { showDialog -> if (showDialog) displayDialog { title(R.string.device_time_incorrect_dialog_headline) message(R.string.device_time_incorrect_dialog_body) @@ -113,7 +112,7 @@ class HomeFragment : Fragment(R.layout.home_fragment_layout), AutoInject { } } } - viewModel.coronaTestErrors.observe2(this) { tests -> + viewModel.coronaTestErrors.observe(viewLifecycleOwner) { tests -> tests.forEach { test -> displayDialog { val testName = when (test.type) { @@ -126,7 +125,7 @@ class HomeFragment : Fragment(R.layout.home_fragment_layout), AutoInject { } } - viewModel.markTestBadgesAsSeen.observe2(this) { + viewModel.markTestBadgesAsSeen.observe(viewLifecycleOwner) { Timber.tag(TAG).d("markTestBadgesAsSeen=${it.size}") } viewModel.markRiskBadgeAsSeen() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/overview/MainOverviewFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/overview/MainOverviewFragment.kt index 4911efdc13b..7c41858c62c 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/overview/MainOverviewFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/overview/MainOverviewFragment.kt @@ -7,7 +7,6 @@ import androidx.fragment.app.Fragment import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentMainOverviewBinding import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -32,9 +31,7 @@ class MainOverviewFragment : Fragment(R.layout.fragment_main_overview), AutoInje super.onViewCreated(view, savedInstanceState) with(binding) { toolbar.setNavigationOnClickListener { popBackStack() } - viewModel.maxEncounterAgeInDays.observe2(this@MainOverviewFragment) { - setExposureLoggingPeriod(it) - } + viewModel.maxEncounterAgeInDays.observe(viewLifecycleOwner) { setExposureLoggingPeriod(it) } } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingAnalyticsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingAnalyticsFragment.kt index ad3cae35077..15b4be869f8 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingAnalyticsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingAnalyticsFragment.kt @@ -11,7 +11,6 @@ import de.rki.coronawarnapp.datadonation.analytics.common.labelStringRes import de.rki.coronawarnapp.datadonation.analytics.ui.input.AnalyticsUserInputFragment import de.rki.coronawarnapp.server.protocols.internal.ppdd.PpaData import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -58,15 +57,15 @@ class OnboardingAnalyticsFragment : Fragment(R.layout.fragment_onboarding_ppa), ) } } - viewModel.completedOnboardingEvent.observe2(this) { + viewModel.completedOnboardingEvent.observe(viewLifecycleOwner) { (requireActivity() as OnboardingActivity).completeOnboarding() } - viewModel.ageGroup.observe2(this) { + viewModel.ageGroup.observe(viewLifecycleOwner) { binding.ageGroupRowBody.text = getString(it.labelStringRes) binding.ageGroupRow.contentDescription = getString(R.string.onboarding_ppa_age_title) + getString(it.labelStringRes) } - viewModel.federalState.observe2(this) { + viewModel.federalState.observe(viewLifecycleOwner) { binding.districtRow.visibility = if (it != PpaData.PPAFederalState.FEDERAL_STATE_UNSPECIFIED) { View.VISIBLE } else { @@ -76,7 +75,7 @@ class OnboardingAnalyticsFragment : Fragment(R.layout.fragment_onboarding_ppa), binding.federalStateRow.contentDescription = getString(R.string.onboarding_ppa_state_title) + getString(it.labelStringRes) } - viewModel.district.observe2(this) { + viewModel.district.observe(viewLifecycleOwner) { binding.districtRowBody.text = it?.districtName ?: getString(R.string.analytics_userinput_district_unspecified) binding.districtRow.contentDescription = diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaAnalyticsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaAnalyticsFragment.kt index 03c88ff9bfc..a5b4b374400 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaAnalyticsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaAnalyticsFragment.kt @@ -12,7 +12,6 @@ import de.rki.coronawarnapp.datadonation.analytics.common.labelStringRes import de.rki.coronawarnapp.datadonation.analytics.ui.input.AnalyticsUserInputFragment import de.rki.coronawarnapp.server.protocols.internal.ppdd.PpaData import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -69,13 +68,13 @@ class OnboardingDeltaAnalyticsFragment : Fragment(R.layout.fragment_onboarding_d ) } } - viewModel.completedOnboardingEvent.observe2(this) { + viewModel.completedOnboardingEvent.observe(viewLifecycleOwner) { (requireActivity() as OnboardingActivity).completeOnboarding() } - viewModel.ageGroup.observe2(this) { + viewModel.ageGroup.observe(viewLifecycleOwner) { binding.ageGroupRowBody.text = getString(it.labelStringRes) } - viewModel.federalState.observe2(this) { + viewModel.federalState.observe(viewLifecycleOwner) { binding.districtRow.visibility = if (it != PpaData.PPAFederalState.FEDERAL_STATE_UNSPECIFIED) { View.VISIBLE } else { @@ -83,7 +82,7 @@ class OnboardingDeltaAnalyticsFragment : Fragment(R.layout.fragment_onboarding_d } binding.federalStateRowBody.text = getString(it.labelStringRes) } - viewModel.district.observe2(this) { + viewModel.district.observe(viewLifecycleOwner) { binding.districtRowBody.text = it?.districtName ?: getString(R.string.analytics_userinput_district_unspecified) } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragment.kt index 2bf3b73a2c9..53c83567e2e 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaInteroperabilityFragment.kt @@ -10,7 +10,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentOnboardingDeltaInteroperabilityBinding import de.rki.coronawarnapp.util.convertToHyperlink import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -27,7 +26,7 @@ class OnboardingDeltaInteroperabilityFragment : override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.countryList.observe2(this) { + vm.countryList.observe(viewLifecycleOwner) { binding.deltaInteroperabilityCountryList.setCountryList(it) if (it.isEmpty()) { binding.countryListGroup.isVisible = false @@ -51,7 +50,7 @@ class OnboardingDeltaInteroperabilityFragment : binding.onboardingDeltaToolbar.setNavigationOnClickListener { vm.onBackPressed() } binding.onboardingButtonNext.setOnClickListener { vm.onBackPressed() } - vm.navigateBack.observe2(this) { + vm.navigateBack.observe(viewLifecycleOwner) { if (it) { popBackStack() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaNotificationsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaNotificationsFragment.kt index 630ec716f8b..392d1e86a05 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaNotificationsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingDeltaNotificationsFragment.kt @@ -6,7 +6,6 @@ import android.view.View import androidx.activity.OnBackPressedCallback import androidx.fragment.app.Fragment import de.rki.coronawarnapp.R -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -50,7 +49,7 @@ class OnboardingDeltaNotificationsFragment : ) } - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { when (it) { is OnboardingDeltaNotificationsNavigationEvents.CloseScreen -> (requireActivity() as OnboardingActivity).completeOnboarding() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingFragment.kt index 8cd7b6d878a..b59e972a89e 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingFragment.kt @@ -9,7 +9,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentOnboardingBinding import de.rki.coronawarnapp.util.ExternalActionHelper.openUrl import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -31,9 +30,7 @@ class OnboardingFragment : Fragment(R.layout.fragment_onboarding), AutoInject { onboardingButtonNext.setOnClickListener { goToOnboardingPrivacyFragment() } // only show link for German onboardingEasyLanguage.setOnClickListener { openEasyLanguageLink() } - viewModel.maxEncounterAgeInDays.observe2(this@OnboardingFragment) { - setExposureLoggingPeriod(it) - } + viewModel.maxEncounterAgeInDays.observe(viewLifecycleOwner) { setExposureLoggingPeriod(it) } } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingLoadingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingLoadingFragment.kt index 6708bcf43ff..9185c76c046 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingLoadingFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingLoadingFragment.kt @@ -7,7 +7,6 @@ import androidx.navigation.fragment.findNavController import de.rki.coronawarnapp.R import de.rki.coronawarnapp.ui.main.MainActivity import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels import javax.inject.Inject @@ -23,7 +22,7 @@ class OnboardingLoadingFragment : Fragment(R.layout.onboaring_loading_layout), A override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel.navigationEvents.observe2(this) { event -> + viewModel.navigationEvents.observe(viewLifecycleOwner) { event -> when (event) { OnboardingFragmentEvents.ShowInteropDeltaOnboarding -> findNavController().navigate( diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsFragment.kt index ee9794e9508..d5149a8d318 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsFragment.kt @@ -10,7 +10,6 @@ import androidx.navigation.fragment.findNavController import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentOnboardingNotificationsBinding import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -36,7 +35,7 @@ class OnboardingNotificationsFragment : onboardingButtonNext.setOnClickListener { vm.onNextButtonClick() } onboardingNotificationsToolbar.setNavigationOnClickListener { requireActivity().onBackPressed() } } - vm.routeToScreen.observe2(this) { + vm.routeToScreen.observe(viewLifecycleOwner) { when (it) { is OnboardingNavigationEvents.NavigateToOnboardingAnalytics -> findNavController().navigate( diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingPrivacyFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingPrivacyFragment.kt index 6d400dcf825..0ea4ee82151 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingPrivacyFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingPrivacyFragment.kt @@ -9,7 +9,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentOnboardingPrivacyBinding import de.rki.coronawarnapp.databinding.OnboardingScreensLayoutBinding import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -33,7 +32,7 @@ class OnboardingPrivacyFragment : Fragment(R.layout.fragment_onboarding_privacy) onboardingPrivacyToolbar.setNavigationOnClickListener { vm.onBackButtonClick() } privacyView.getOnboardingHtmlText() } - vm.routeToScreen.observe2(this) { + vm.routeToScreen.observe(viewLifecycleOwner) { when (it) { is OnboardingNavigationEvents.NavigateToOnboardingTracing -> findNavController().navigate( diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTestFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTestFragment.kt index fb486536ddc..aef6afdcb82 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTestFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTestFragment.kt @@ -8,7 +8,6 @@ import androidx.navigation.fragment.findNavController import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentOnboardingTestBinding import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -30,7 +29,7 @@ class OnboardingTestFragment : Fragment(R.layout.fragment_onboarding_test), Auto onboardingButtonNext.setOnClickListener { vm.onNextButtonClick() } onboardingTestToolbar.setNavigationOnClickListener { vm.onBackButtonClick() } } - vm.routeToScreen.observe2(this) { + vm.routeToScreen.observe(viewLifecycleOwner) { when (it) { is OnboardingNavigationEvents.NavigateToOnboardingNotifications -> findNavController().navigate( diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragment.kt index 86ec4223dda..d6566a2082e 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragment.kt @@ -10,7 +10,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentOnboardingTracingBinding 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 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -29,7 +28,7 @@ class OnboardingTracingFragment : Fragment(R.layout.fragment_onboarding_tracing) override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.countryList.observe2(this) { + vm.countryList.observe(viewLifecycleOwner) { binding.countryList.setCountryList(it) } vm.saveInteroperabilityUsed() @@ -38,7 +37,7 @@ class OnboardingTracingFragment : Fragment(R.layout.fragment_onboarding_tracing) onboardingButtonDisable.setOnClickListener { vm.showCancelDialog() } onboardingTracingToolbar.setNavigationOnClickListener { vm.onBackButtonPress() } } - vm.routeToScreen.observe2(this) { + vm.routeToScreen.observe(viewLifecycleOwner) { when (it) { is OnboardingNavigationEvents.NavigateToOnboardingTest -> navigateToOnboardingTestFragment() is OnboardingNavigationEvents.ShowCancelDialog -> @@ -57,10 +56,10 @@ class OnboardingTracingFragment : Fragment(R.layout.fragment_onboarding_tracing) else -> Unit } } - vm.permissionRequestEvent.observe2(this) { permissionRequest -> + vm.permissionRequestEvent.observe(viewLifecycleOwner) { permissionRequest -> permissionRequest.invoke(requireActivity()) } - vm.ensErrorEvents.observe2(this) { error -> displayDialog { setError(error) } } + vm.ensErrorEvents.observe(viewLifecycleOwner) { error -> displayDialog { setError(error) } } } override fun onResume() { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/CheckInsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/CheckInsFragment.kt index f4f098162fa..30dc089d9f3 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/CheckInsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/CheckInsFragment.kt @@ -29,7 +29,6 @@ import de.rki.coronawarnapp.util.lists.diffutil.update import de.rki.coronawarnapp.util.tryHumanReadableError import de.rki.coronawarnapp.util.ui.LazyString import de.rki.coronawarnapp.util.ui.addMenuId -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModelsAssisted @@ -61,12 +60,12 @@ class CheckInsFragment : Fragment(R.layout.trace_location_attendee_checkins_frag super.onViewCreated(view, savedInstanceState) setupMenu(binding.toolbar) bindRecycler() - viewModel.checkins.observe2(this) { items -> + viewModel.checkins.observe(viewLifecycleOwner) { items -> updateViews(items) binding.toolbar.menu.findItem(R.id.menu_remove_all)?.isEnabled = items.isNotEmpty() } - viewModel.events.observe2(this) { it?.let { onNavigationEvent(it) } } - viewModel.errorEvent.observe2(this) { + viewModel.events.observe(viewLifecycleOwner) { it?.let { onNavigationEvent(it) } } + viewModel.errorEvent.observe(viewLifecycleOwner) { val errorForHumans = it.tryHumanReadableError(requireContext()) Toast.makeText(requireContext(), errorForHumans.description, Toast.LENGTH_LONG).show() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/confirm/ConfirmCheckInFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/confirm/ConfirmCheckInFragment.kt index f315782e512..7a8893ea599 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/confirm/ConfirmCheckInFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/confirm/ConfirmCheckInFragment.kt @@ -13,7 +13,6 @@ import de.rki.coronawarnapp.databinding.FragmentConfirmCheckInBinding import de.rki.coronawarnapp.qrcode.ui.QrcodeSharedViewModel import de.rki.coronawarnapp.ui.durationpicker.DurationPicker import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -71,14 +70,14 @@ class ConfirmCheckInFragment : Fragment(R.layout.fragment_confirm_check_in), Aut } } - viewModel.events.observe2(this) { navEvent -> + viewModel.events.observe(viewLifecycleOwner) { navEvent -> when (navEvent) { ConfirmCheckInNavigation.BackNavigation -> popBackStack() ConfirmCheckInNavigation.ConfirmNavigation -> popBackStack() } } - viewModel.uiState.observe2(this) { uiState -> + viewModel.uiState.observe(viewLifecycleOwner) { uiState -> with(binding) { confirmCheckinInfoCardHeader.text = getString(uiState.typeRes) confirmCheckinInfoCardTitle.text = uiState.description @@ -98,7 +97,7 @@ class ConfirmCheckInFragment : Fragment(R.layout.fragment_confirm_check_in), Aut } } - viewModel.openDatePickerEvent.observe2(this) { time -> + viewModel.openDatePickerEvent.observe(viewLifecycleOwner) { time -> showDurationPicker(time) { viewModel.durationUpdated(it) } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/edit/EditCheckInFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/edit/EditCheckInFragment.kt index c8a886a0195..c3c4c1522f0 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/edit/EditCheckInFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/edit/EditCheckInFragment.kt @@ -13,7 +13,6 @@ import com.google.android.material.transition.MaterialContainerTransform import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentEditCheckInBinding import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -81,14 +80,14 @@ class EditCheckInFragment : Fragment(R.layout.fragment_edit_check_in), AutoInjec root.transitionName = navArgs.editCheckInId.toString() } - viewModel.events.observe2(this) { navEvent -> + viewModel.events.observe(viewLifecycleOwner) { navEvent -> when (navEvent) { EditCheckInNavigation.BackNavigation -> popBackStack() EditCheckInNavigation.ConfirmNavigation -> popBackStack() } } - viewModel.uiState.observe2(this) { uiState -> + viewModel.uiState.observe(viewLifecycleOwner) { uiState -> with(binding) { editCheckinInfoCardHeader.text = getString(uiState.typeRes) editCheckinInfoCardTitle.text = uiState.description @@ -108,7 +107,7 @@ class EditCheckInFragment : Fragment(R.layout.fragment_edit_check_in), AutoInjec } } - viewModel.openStartPickerEvent.observe2(this) { event -> + viewModel.openStartPickerEvent.observe(viewLifecycleOwner) { event -> when (event) { is EditCheckInViewModel.DateTimePickerEvent.DatePickerEvent -> showDatePicker(event.localDate) { @@ -126,7 +125,7 @@ class EditCheckInFragment : Fragment(R.layout.fragment_edit_check_in), AutoInjec } } - viewModel.openEndPickerEvent.observe2(this) { event -> + viewModel.openEndPickerEvent.observe(viewLifecycleOwner) { event -> when (event) { is EditCheckInViewModel.DateTimePickerEvent.DatePickerEvent -> showDatePicker(event.localDate) { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/onboarding/CheckInOnboardingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/onboarding/CheckInOnboardingFragment.kt index 4271278dffd..86dd8d3fc88 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/onboarding/CheckInOnboardingFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/onboarding/CheckInOnboardingFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.databinding.FragmentTraceLocationOnboardingBinding import de.rki.coronawarnapp.ui.presencetracing.attendee.confirm.ConfirmCheckInFragment import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -55,7 +54,7 @@ class CheckInOnboardingFragment : Fragment(R.layout.fragment_trace_location_onbo } } - viewModel.events.observe2(this) { navEvent -> + viewModel.events.observe(viewLifecycleOwner) { navEvent -> when (navEvent) { CheckInOnboardingNavigation.AcknowledgedNavigation -> { val locationId = args.locationId diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/category/TraceLocationCategoryFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/category/TraceLocationCategoryFragment.kt index a48696aa27a..ef77692ddaa 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/category/TraceLocationCategoryFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/category/TraceLocationCategoryFragment.kt @@ -11,7 +11,6 @@ import de.rki.coronawarnapp.databinding.TraceLocationOrganizerCategoryFragmentBi import de.rki.coronawarnapp.ui.presencetracing.organizer.category.adapter.TraceLocationCategoryAdapter import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.ui.addTitleId -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -40,7 +39,7 @@ class TraceLocationCategoryFragment : Fragment(R.layout.trace_location_organizer addTitleId(R.id.trace_location_organizer_category_fragment_title_id) } - vm.categoryItems.observe2(this) { categoryItems -> + vm.categoryItems.observe(viewLifecycleOwner) { categoryItems -> val adapter = TraceLocationCategoryAdapter(categoryItems) { findNavController().navigate( TraceLocationCategoryFragmentDirections diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/details/QrCodeDetailFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/details/QrCodeDetailFragment.kt index b89264cbdff..079fc4139f5 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/details/QrCodeDetailFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/details/QrCodeDetailFragment.kt @@ -23,7 +23,6 @@ import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat import de.rki.coronawarnapp.util.coil.loadingView import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.toLocalDateTimeUserTz -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -91,7 +90,7 @@ class QrCodeDetailFragment : Fragment(R.layout.trace_location_organizer_qr_code_ } } - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { when (it) { QrCodeDetailNavigationEvents.NavigateBack -> popBackStack() @@ -114,7 +113,7 @@ class QrCodeDetailFragment : Fragment(R.layout.trace_location_organizer_qr_code_ } } - viewModel.uiState.observe2(this) { uiState -> + viewModel.uiState.observe(viewLifecycleOwner) { uiState -> with(binding) { traceLocationOrganizerTitle.text = uiState.description traceLocationOrganizerSubtitle.text = uiState.address diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/list/TraceLocationsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/list/TraceLocationsFragment.kt index 9a5d706cc6e..88c1055daff 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/list/TraceLocationsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/list/TraceLocationsFragment.kt @@ -25,7 +25,6 @@ import de.rki.coronawarnapp.util.lists.diffutil.update import de.rki.coronawarnapp.util.onScroll import de.rki.coronawarnapp.util.ui.addMenuId import de.rki.coronawarnapp.util.ui.addTitleId -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -68,7 +67,7 @@ class TraceLocationsFragment : Fragment(R.layout.trace_location_organizer_trace_ addTitleId(R.id.trace_location_organizer_trace_locations_list_fragment_title_id) } - viewModel.traceLocations.observe2(this) { + viewModel.traceLocations.observe(viewLifecycleOwner) { traceLocationsAdapter.update(it) binding.apply { recyclerView.isGone = it.isEmpty() @@ -77,7 +76,7 @@ class TraceLocationsFragment : Fragment(R.layout.trace_location_organizer_trace_ } } - viewModel.events.observe2(this) { + viewModel.events.observe(viewLifecycleOwner) { when (it) { is TraceLocationEvent.ConfirmDeleteItem -> { showDeleteSingleDialog(it.traceLocation, null) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/qrinfo/TraceLocationQRInfoFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/qrinfo/TraceLocationQRInfoFragment.kt index 3c45812184c..9666004d57d 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/qrinfo/TraceLocationQRInfoFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/qrinfo/TraceLocationQRInfoFragment.kt @@ -10,7 +10,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.TraceLocationOrganizerQrCodeInfoFragmentBinding import de.rki.coronawarnapp.ui.presencetracing.TraceLocationPreferences import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -41,7 +40,7 @@ class TraceLocationQRInfoFragment : Fragment(R.layout.trace_location_organizer_q traceLocationQrInfoUnderstandButton.setOnClickListener { vm.navigateToMyQRCodes() } } - vm.routeToScreen.observe2(this) { + vm.routeToScreen.observe(viewLifecycleOwner) { when (it) { is TraceLocationQRInfoNavigationEvents.NavigateToDataPrivacy -> findNavController().navigate("coronawarnapp://contactdiary/dataPrivacy".toUri()) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/duration/TraceLocationWarnDurationFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/duration/TraceLocationWarnDurationFragment.kt index 3ac8d1887a7..6de912baabf 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/duration/TraceLocationWarnDurationFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/duration/TraceLocationWarnDurationFragment.kt @@ -21,7 +21,6 @@ import de.rki.coronawarnapp.ui.durationpicker.format import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.toLocalDateTimeUserTz import de.rki.coronawarnapp.util.ui.addTitleId -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -59,7 +58,7 @@ class TraceLocationWarnDurationFragment : override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel.state.observe2(this) { uiState -> + viewModel.state.observe(viewLifecycleOwner) { uiState -> with(binding) { eventDescription.text = uiState.description eventAddress.text = uiState.address diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/list/TraceLocationSelectionFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/list/TraceLocationSelectionFragment.kt index 1c30e4e3bc6..b6aabb5f7f0 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/list/TraceLocationSelectionFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/list/TraceLocationSelectionFragment.kt @@ -11,7 +11,6 @@ import de.rki.coronawarnapp.databinding.TraceLocationOrganizerTraceLocationsWarn import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.lists.diffutil.update import de.rki.coronawarnapp.util.ui.addTitleId -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -56,7 +55,7 @@ class TraceLocationSelectionFragment : } } - viewModel.state.observe2(this) { + viewModel.state.observe(viewLifecycleOwner) { traceLocationsAdapter.update(it.traceLocations) binding.apply { recyclerView.isGone = it.traceLocations.isEmpty() @@ -65,7 +64,7 @@ class TraceLocationSelectionFragment : binding.nextButton.isEnabled = it.actionEnabled } - viewModel.events.observe2(this) { + viewModel.events.observe(viewLifecycleOwner) { when (it) { is TraceLocationSelectionEvent.ContinueWithTraceLocation -> { findNavController().navigate( diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/qrcode/OrganizerWarnQrCodeScannerFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/qrcode/OrganizerWarnQrCodeScannerFragment.kt index ec4fff0d8d4..a747d82c75c 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/qrcode/OrganizerWarnQrCodeScannerFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/qrcode/OrganizerWarnQrCodeScannerFragment.kt @@ -17,7 +17,6 @@ import de.rki.coronawarnapp.util.ExternalActionHelper.openAppDetailsSettings import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.permission.CameraPermissionHelper import de.rki.coronawarnapp.util.ui.LazyString -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -66,7 +65,7 @@ class OrganizerWarnQrCodeScannerFragment : Fragment(R.layout.fragment_qrcode_sca filePickerLauncher.launch(arrayOf("image/*", "application/pdf")) } - viewModel.events.observe2(this@OrganizerWarnQrCodeScannerFragment) { navEvent -> + viewModel.events.observe(viewLifecycleOwner) { navEvent -> qrCodeProcessingView.isVisible = navEvent == OrganizerWarnQrCodeNavigation.InProgress when (navEvent) { is OrganizerWarnQrCodeNavigation.BackNavigation -> popBackStack() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/tan/TraceLocationWarnTanFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/tan/TraceLocationWarnTanFragment.kt index 9018e27675e..03e45b61ef0 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/tan/TraceLocationWarnTanFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/organizer/warn/tan/TraceLocationWarnTanFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.ui.dialog.displayDialog import de.rki.coronawarnapp.ui.submission.ApiRequestState import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.ui.addTitleId -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -38,7 +37,7 @@ class TraceLocationWarnTanFragment : Fragment(R.layout.trace_location_organizer_ override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel.state.observe2(this) { + viewModel.state.observe(viewLifecycleOwner) { binding.apply { tanButtonEnter.isActive = it.isTanValid tanContent.submissionTanCharacterError.isGone = it.areCharactersCorrect @@ -66,7 +65,7 @@ class TraceLocationWarnTanFragment : Fragment(R.layout.trace_location_organizer_ toolbar.addTitleId(R.id.trace_location_organizer_warn_tan_fragment_title_id) } - viewModel.registrationState.observe2(this) { + viewModel.registrationState.observe(viewLifecycleOwner) { binding.tanButtonEnter.isLoading = it == ApiRequestState.STARTED if (ApiRequestState.SUCCESS == it) { findNavController().navigate( @@ -76,7 +75,7 @@ class TraceLocationWarnTanFragment : Fragment(R.layout.trace_location_organizer_ } } - viewModel.registrationError.observe2(this) { displayDialog { setError(it) } } + viewModel.registrationError.observe(viewLifecycleOwner) { displayDialog { setError(it) } } } override fun onResume() { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetFragment.kt index e717b9a0d8a..1c952d8235d 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetFragment.kt @@ -9,7 +9,6 @@ import de.rki.coronawarnapp.databinding.FragmentSettingsResetBinding import de.rki.coronawarnapp.ui.dialog.displayDialog import de.rki.coronawarnapp.ui.onboarding.OnboardingActivity import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -33,7 +32,7 @@ class SettingsResetFragment : Fragment(R.layout.fragment_settings_reset), AutoIn settingsResetButtonCancel.setOnClickListener { vm.goBack() } binding.toolbar.setNavigationOnClickListener { popBackStack() } } - vm.clickEvent.observe2(this) { + vm.clickEvent.observe(viewLifecycleOwner) { when (it) { is SettingsEvents.ResetApp -> showConfirmResetDialog() is SettingsEvents.GoBack -> popBackStack() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/analytics/SettingsPrivacyPreservingAnalyticsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/analytics/SettingsPrivacyPreservingAnalyticsFragment.kt index 8ac005ab10c..6fc28a1e821 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/analytics/SettingsPrivacyPreservingAnalyticsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/analytics/SettingsPrivacyPreservingAnalyticsFragment.kt @@ -10,7 +10,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentSettingsPrivacyPreservingAnalyticsBinding import de.rki.coronawarnapp.datadonation.analytics.ui.input.AnalyticsUserInputFragment import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -71,7 +70,7 @@ class SettingsPrivacyPreservingAnalyticsFragment : } } - viewModel.settingsPrivacyPreservingAnalyticsState.observe2(this) { + viewModel.settingsPrivacyPreservingAnalyticsState.observe(viewLifecycleOwner) { binding.ageGroupRow.apply { isGone = !it.isAgeGroupVisible setSubtitle(it.getAgeGroupRowBodyText(requireContext())) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/backgroundpriority/SettingsBackgroundPriorityFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/backgroundpriority/SettingsBackgroundPriorityFragment.kt index 76e241fe269..fcfd67d9e3f 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/backgroundpriority/SettingsBackgroundPriorityFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/backgroundpriority/SettingsBackgroundPriorityFragment.kt @@ -9,7 +9,6 @@ import de.rki.coronawarnapp.databinding.FragmentSettingsBackgroundPriorityBindin import de.rki.coronawarnapp.ui.base.startActivitySafely import de.rki.coronawarnapp.ui.main.MainActivity import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -30,7 +29,7 @@ class SettingsBackgroundPriorityFragment : Fragment(R.layout.fragment_settings_b override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.backgroundPriorityState.observe2(this) { + vm.backgroundPriorityState.observe(viewLifecycleOwner) { binding.settingsBackgroundPriorityDetails.getInformationImageAndDescription( it.getHeaderIllustration(requireContext()), it.getHeaderIllustrationDescription(requireContext()) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/notifications/NotificationSettingsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/notifications/NotificationSettingsFragment.kt index 990b1f5392d..abf292f564f 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/notifications/NotificationSettingsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/notifications/NotificationSettingsFragment.kt @@ -10,7 +10,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentSettingsNotificationsBinding import de.rki.coronawarnapp.util.ExternalActionHelper.openAppNotificationSettings import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.toResolvingString import de.rki.coronawarnapp.util.ui.viewBinding @@ -35,7 +34,7 @@ class NotificationSettingsFragment : override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) with(binding) { - viewModel.notificationSettingsState.observe2(this@NotificationSettingsFragment) { + viewModel.notificationSettingsState.observe(viewLifecycleOwner) { informationDetailsHeaderIllustration.apply { setImageResource(it.getNotificationsImage()) contentDescription = it.getNotificationsIllustrationText(requireContext()) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsFragment.kt index e6889926c2a..91678a1546a 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsFragment.kt @@ -9,7 +9,6 @@ import androidx.navigation.fragment.findNavController import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentSettingsBinding import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -29,21 +28,21 @@ class SettingsFragment : Fragment(R.layout.fragment_settings), AutoInject { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - vm.tracingState.observe2(this) { + vm.tracingState.observe(viewLifecycleOwner) { binding.settingsTracing.configureSettingsRowIcon( it.getTracingIcon(requireContext()), it.getTracingIconColor(requireContext()) ) binding.settingsTracing.configureSettingsRowSubtitle(it.getTracingStatusText(requireContext())) } - vm.notificationSettingsState.observe2(this) { + vm.notificationSettingsState.observe(viewLifecycleOwner) { binding.settingsNotifications.configureSettingsRowIcon( it.getNotificationIcon(requireContext()), it.getNotificationIconColor(requireContext()) ) binding.settingsNotifications.configureSettingsRowSubtitle(it.getNotificationStatusText(requireContext())) } - vm.backgroundPriorityState.observe2(this) { + vm.backgroundPriorityState.observe(viewLifecycleOwner) { binding.settingsBackgroundPriority.isVisible = it.showBackgroundPrioritySettings() binding.settingsBackgroundPriority.configureSettingsRowIcon( it.getBackgroundPriorityIcon(requireContext()), @@ -54,7 +53,7 @@ class SettingsFragment : Fragment(R.layout.fragment_settings), AutoInject { ) } - vm.analyticsState.observe2(this) { + vm.analyticsState.observe(viewLifecycleOwner) { binding.settingsPrivacyPreservingAnalytics.configureSettingsRowIcon( it.getPrivacyPreservingAnalyticsIcon(requireContext()), it.getPrivacyPreservingAnalyticsIconColor(requireContext()) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/deletionwarning/SubmissionDeletionWarningFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/deletionwarning/SubmissionDeletionWarningFragment.kt index b94173ee46a..b2ea1715dbd 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/deletionwarning/SubmissionDeletionWarningFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/deletionwarning/SubmissionDeletionWarningFragment.kt @@ -15,7 +15,6 @@ import de.rki.coronawarnapp.coronatest.type.TestIdentifier import de.rki.coronawarnapp.databinding.FragmentSubmissionDeletionWarningBinding import de.rki.coronawarnapp.submission.TestRegistrationStateProcessor.State import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -68,7 +67,7 @@ class SubmissionDeletionWarningFragment : Fragment(R.layout.fragment_submission_ toolbar.setNavigationOnClickListener { popBackStack() } } - viewModel.registrationState.observe2(this) { state -> + viewModel.registrationState.observe(viewLifecycleOwner) { state -> val isWorking = state is State.Working binding.apply { continueButton.isLoading = isWorking @@ -94,7 +93,7 @@ class SubmissionDeletionWarningFragment : Fragment(R.layout.fragment_submission_ } } - viewModel.routeToScreen.observe2(this) { event -> + viewModel.routeToScreen.observe(viewLifecycleOwner) { event -> Timber.d("Navigating to %s", event) when (event) { DuplicateWarningEvent.Back -> { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionContactFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionContactFragment.kt index e34d91bf570..636eb1bc02f 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionContactFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionContactFragment.kt @@ -12,7 +12,6 @@ import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionNavigationEvents import de.rki.coronawarnapp.util.ExternalActionHelper.callPhone import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.linkifyPhoneNumbers -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -34,7 +33,7 @@ class SubmissionContactFragment : Fragment(R.layout.fragment_submission_contact) binding.submissionContactBodyOther.linkifyPhoneNumbers() - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { when (it) { is SubmissionNavigationEvents.NavigateToDispatcher -> findNavController().popBackStack() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionDispatcherFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionDispatcherFragment.kt index dfab2509eab..cf903c648fa 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionDispatcherFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionDispatcherFragment.kt @@ -17,7 +17,6 @@ import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionNavigationEvents import de.rki.coronawarnapp.util.ExternalActionHelper.openUrl import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.ui.addTitleId -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModels @@ -33,7 +32,7 @@ class SubmissionDispatcherFragment : Fragment(R.layout.fragment_submission_dispa super.onViewCreated(view, savedInstanceState) setButtonOnClickListener() - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { when (it) { is SubmissionNavigationEvents.NavigateToMainActivity -> findNavController().popBackStack() @@ -80,7 +79,7 @@ class SubmissionDispatcherFragment : Fragment(R.layout.fragment_submission_dispa } } - viewModel.srsError.observe2(this) { + viewModel.srsError.observe(viewLifecycleOwner) { displayDialog { setError(it) positiveButton(android.R.string.ok) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt index 05ce2e76790..0d34b93f4fb 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt @@ -18,7 +18,6 @@ import de.rki.coronawarnapp.ui.dialog.displayDialog import de.rki.coronawarnapp.ui.submission.qrcode.consent.SubmissionConsentBackNavArg.BackToTestRegistrationSelection import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionNavigationEvents import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -57,7 +56,7 @@ class SubmissionConsentFragment : Fragment(R.layout.fragment_submission_consent) } ) - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { when (it) { is SubmissionNavigationEvents.NavigateToDataPrivacy -> findNavController().navigate( SubmissionConsentFragmentDirections.actionSubmissionConsentFragmentToInformationPrivacyFragment() @@ -97,15 +96,15 @@ class SubmissionConsentFragment : Fragment(R.layout.fragment_submission_consent) else -> Unit } } - viewModel.countries.observe2(this) { + viewModel.countries.observe(viewLifecycleOwner) { binding.countryList.setCountryList(it) } - viewModel.qrCodeError.observe2(this) { + viewModel.qrCodeError.observe(viewLifecycleOwner) { showInvalidQrCodeDialog() } - viewModel.registrationState.observe2(this) { state -> + viewModel.registrationState.observe(viewLifecycleOwner) { state -> val isWorking = state is State.Working binding.apply { submissionConsentButton.isLoading = isWorking diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultavailable/SubmissionTestResultAvailableFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultavailable/SubmissionTestResultAvailableFragment.kt index b140eafdfef..fe13d6caeb4 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultavailable/SubmissionTestResultAvailableFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultavailable/SubmissionTestResultAvailableFragment.kt @@ -15,7 +15,6 @@ import de.rki.coronawarnapp.ui.dialog.displayDialog import de.rki.coronawarnapp.ui.submission.SubmissionBlockingDialog import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.shortcuts.AppShortcutsHelper -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -54,7 +53,7 @@ class SubmissionTestResultAvailableFragment : Fragment(R.layout.fragment_submiss } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, backCallback) - viewModel.consent.observe2(this) { + viewModel.consent.observe(viewLifecycleOwner) { if (it) { binding.submissionTestResultAvailableText.setText( R.string.submission_test_result_available_text_consent_given @@ -67,7 +66,7 @@ class SubmissionTestResultAvailableFragment : Fragment(R.layout.fragment_submiss binding.submissionTestResultAvailableConsentStatus.consent = it } - viewModel.showKeysRetrievalProgress.observe2(this) { show -> + viewModel.showKeysRetrievalProgress.observe(viewLifecycleOwner) { show -> Timber.i("SubmissionTestResult:showKeyRetrievalProgress:$show") keyRetrievalProgress.setState(show) binding.submissionTestResultAvailableProceedButton.isEnabled = !show @@ -79,18 +78,18 @@ class SubmissionTestResultAvailableFragment : Fragment(R.layout.fragment_submiss toolbar.setNavigationOnClickListener { viewModel.goBack() } } - viewModel.showCloseDialog.observe2(this) { + viewModel.showCloseDialog.observe(viewLifecycleOwner) { showCloseDialog() } - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { findNavController().navigate(it) } - viewModel.showPermissionRequest.observe2(this) { permissionRequest -> + viewModel.showPermissionRequest.observe(viewLifecycleOwner) { permissionRequest -> permissionRequest.invoke(requireActivity()) } - viewModel.showTracingConsentDialog.observe2(this) { onConsentResult -> + viewModel.showTracingConsentDialog.observe(viewLifecycleOwner) { onConsentResult -> tracingConsentDialog( positiveButton = { onConsentResult(true) }, negativeButton = { onConsentResult(false) } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultready/SubmissionResultReadyFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultready/SubmissionResultReadyFragment.kt index d90d31c98dc..7099b5db24f 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultready/SubmissionResultReadyFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultready/SubmissionResultReadyFragment.kt @@ -13,7 +13,6 @@ import de.rki.coronawarnapp.ui.submission.SubmissionBlockingDialog import de.rki.coronawarnapp.ui.submission.submissionCancelDialog import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionNavigationEvents import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -50,7 +49,7 @@ class SubmissionResultReadyFragment : Fragment(R.layout.fragment_submission_resu setButtonOnClickListener() - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { when (it) { is SubmissionNavigationEvents.NavigateToMainActivity -> { if (navArgs.comesFromDispatcherFragment) { @@ -71,7 +70,7 @@ class SubmissionResultReadyFragment : Fragment(R.layout.fragment_submission_resu else -> Unit } } - viewModel.showUploadDialog.observe2(this) { + viewModel.showUploadDialog.observe(viewLifecycleOwner) { uploadDialog.setState(show = it) } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/submissiondone/SubmissionDoneFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/submissiondone/SubmissionDoneFragment.kt index 8e3f05dcf5c..0e168c8e59c 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/submissiondone/SubmissionDoneFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/submissiondone/SubmissionDoneFragment.kt @@ -13,7 +13,6 @@ import de.rki.coronawarnapp.databinding.FragmentSubmissionDoneBinding import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionNavigationEvents import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -56,7 +55,7 @@ class SubmissionDoneFragment : Fragment(R.layout.fragment_submission_done), Auto (viewModel.testType == BaseCoronaTest.Type.PCR) } - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { when (it) { SubmissionNavigationEvents.NavigateToMainActivity -> { if (args.comesFromDispatcherFragment) { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarFragment.kt index 3a3632ea757..bbaf7de78e3 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarFragment.kt @@ -15,7 +15,6 @@ import de.rki.coronawarnapp.ui.submission.submissionCancelDialog import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.formatter.formatSymptomBackgroundButtonStyleByState import de.rki.coronawarnapp.util.formatter.formatSymptomButtonTextStyleByState -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -46,9 +45,11 @@ class SubmissionSymptomCalendarFragment : viewModel.onDateSelected(it) } - viewModel.showCancelDialog.observe2(this) { submissionCancelDialog { viewModel.onCancelConfirmed() } } + viewModel.showCancelDialog.observe(viewLifecycleOwner) { + submissionCancelDialog { viewModel.onCancelConfirmed() } + } - viewModel.navigateBack.observe2(this) { + viewModel.navigateBack.observe(viewLifecycleOwner) { popBackStack() } @@ -57,11 +58,11 @@ class SubmissionSymptomCalendarFragment : } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, backCallback) - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { findNavController().navigate(it) } - viewModel.symptomStart.observe2(this) { + viewModel.symptomStart.observe(viewLifecycleOwner) { when (it) { is Symptoms.StartOf.Date -> binding.symptomCalendarContainer.setSelectedDate(it.date) else -> binding.symptomCalendarContainer.setSelectedDate(null) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionFragment.kt index 6d37a6c487e..3a121849ca2 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionFragment.kt @@ -15,7 +15,6 @@ import de.rki.coronawarnapp.ui.submission.submissionCancelDialog import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.formatter.formatSymptomBackgroundButtonStyleByState import de.rki.coronawarnapp.util.formatter.formatSymptomButtonTextStyleByState -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -48,11 +47,11 @@ class SubmissionSymptomIntroductionFragment : override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel.navigation.observe2(this) { + viewModel.navigation.observe(viewLifecycleOwner) { findNavController().navigate(it) } - viewModel.navigateBack.observe2(this) { + viewModel.navigateBack.observe(viewLifecycleOwner) { popBackStack() } @@ -61,9 +60,11 @@ class SubmissionSymptomIntroductionFragment : } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, backCallback) - viewModel.showCancelDialog.observe2(this) { submissionCancelDialog { viewModel.onCancelConfirmed() } } + viewModel.showCancelDialog.observe(viewLifecycleOwner) { + submissionCancelDialog { viewModel.onCancelConfirmed() } + } - viewModel.symptomIndication.observe2(this) { + viewModel.symptomIndication.observe(viewLifecycleOwner) { updateButtons(it) } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/tan/SubmissionTanFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/tan/SubmissionTanFragment.kt index 4d9be0adebf..ea7cacc4241 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/tan/SubmissionTanFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/tan/SubmissionTanFragment.kt @@ -18,7 +18,6 @@ import de.rki.coronawarnapp.ui.dialog.displayDialog import de.rki.coronawarnapp.ui.submission.tan.SubmissionTanViewModel.TanApiRequestState import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionNavigationEvents import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -40,7 +39,7 @@ class SubmissionTanFragment : Fragment(R.layout.fragment_submission_tan), AutoIn override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel.state.observe2(this) { + viewModel.state.observe(viewLifecycleOwner) { binding.apply { submissionTanButtonEnter.isEnabled = it.isTanValid @@ -53,7 +52,7 @@ class SubmissionTanFragment : Fragment(R.layout.fragment_submission_tan), AutoIn } } - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { when (it) { is SubmissionNavigationEvents.NavigateToDeletionWarningFragmentFromTan -> findNavController().navigate( @@ -82,7 +81,7 @@ class SubmissionTanFragment : Fragment(R.layout.fragment_submission_tan), AutoIn toolbar.setNavigationOnClickListener { goBack() } } - viewModel.registrationState.observe2(this) { + viewModel.registrationState.observe(viewLifecycleOwner) { binding.submissionTanSpinner.visibility = when (it) { TanApiRequestState.InProgress -> View.VISIBLE else -> View.GONE @@ -111,7 +110,7 @@ class SubmissionTanFragment : Fragment(R.layout.fragment_submission_tan), AutoIn } } - viewModel.registrationError.observe2(this) { buildErrorDialog(it) } + viewModel.registrationError.observe(viewLifecycleOwner) { buildErrorDialog(it) } } override fun onResume() { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/invalid/SubmissionTestResultInvalidFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/invalid/SubmissionTestResultInvalidFragment.kt index 01829105258..c7454dc4ec3 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/invalid/SubmissionTestResultInvalidFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/invalid/SubmissionTestResultInvalidFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.databinding.FragmentSubmissionTestResultInvalidBindi import de.rki.coronawarnapp.familytest.core.model.FamilyCoronaTest import de.rki.coronawarnapp.reyclebin.ui.dialog.recycleTestDialog import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -50,7 +49,7 @@ class SubmissionTestResultInvalidFragment : Fragment(R.layout.fragment_submissio } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, backCallback) - viewModel.testResult.observe2(this) { uiState -> + viewModel.testResult.observe(viewLifecycleOwner) { uiState -> when (uiState.coronaTest.type) { BaseCoronaTest.Type.PCR -> { binding.apply { @@ -90,7 +89,7 @@ class SubmissionTestResultInvalidFragment : Fragment(R.layout.fragment_submissio binding.submissionTestResultSection.setTestResultSection(uiState.coronaTest) } - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { goBack() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/negative/SubmissionTestResultNegativeFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/negative/SubmissionTestResultNegativeFragment.kt index d09e5266e15..7e51e4232d3 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/negative/SubmissionTestResultNegativeFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/negative/SubmissionTestResultNegativeFragment.kt @@ -24,7 +24,6 @@ import de.rki.coronawarnapp.ui.submission.testresult.negative.SubmissionTestResu import de.rki.coronawarnapp.ui.submission.testresult.negative.SubmissionTestResultNegativeViewModel.CertificateState import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.toLocalDateTimeUserTz -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -55,7 +54,7 @@ class SubmissionTestResultNegativeFragment : Fragment(R.layout.fragment_submissi } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, backCallback) bindViewsClicks() - viewModel.testResult.observe2(this) { uiState -> bindTestResultViews(uiState) } + viewModel.testResult.observe(viewLifecycleOwner) { uiState -> bindTestResultViews(uiState) } viewModel.events.observe(viewLifecycleOwner) { onNavEvent(it) } viewModel.certificate.observe(viewLifecycleOwner) { certificate -> bindCertificateViews(certificate) } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/pending/SubmissionTestResultPendingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/pending/SubmissionTestResultPendingFragment.kt index 57bab24b293..d7f2c03fc30 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/pending/SubmissionTestResultPendingFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/pending/SubmissionTestResultPendingFragment.kt @@ -19,7 +19,6 @@ import de.rki.coronawarnapp.familytest.core.model.FamilyCoronaTest import de.rki.coronawarnapp.reyclebin.ui.dialog.recycleTestDialog 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.observeOnce import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding @@ -49,7 +48,7 @@ class SubmissionTestResultPendingFragment : Fragment(R.layout.fragment_submissio override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel.consentGiven.observe2(this) { + viewModel.consentGiven.observe(viewLifecycleOwner) { binding.consentStatus.consent = it } @@ -58,7 +57,7 @@ class SubmissionTestResultPendingFragment : Fragment(R.layout.fragment_submissio } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, backCallback) - viewModel.testState.observe2(this) { result -> + viewModel.testState.observe(viewLifecycleOwner) { result -> val isPcr = result.coronaTest.type == BaseCoronaTest.Type.PCR binding.apply { when (result.coronaTest) { @@ -122,7 +121,7 @@ class SubmissionTestResultPendingFragment : Fragment(R.layout.fragment_submissio } } - viewModel.testCertResultInfo.observe2(this) { result -> + viewModel.testCertResultInfo.observe(viewLifecycleOwner) { result -> binding.testResultPendingStepsCertificateInfo.setEntryText(result.get(requireContext())) } @@ -139,7 +138,7 @@ class SubmissionTestResultPendingFragment : Fragment(R.layout.fragment_submissio consentStatus.setOnClickListener { viewModel.onConsentClicked() } } - viewModel.showRedeemedTokenWarning.observe2(this) { + viewModel.showRedeemedTokenWarning.observe(viewLifecycleOwner) { displayDialog { title(R.string.submission_error_dialog_web_tan_redeemed_title) message(R.string.submission_error_dialog_web_tan_redeemed_body) @@ -147,18 +146,18 @@ class SubmissionTestResultPendingFragment : Fragment(R.layout.fragment_submissio } } - viewModel.testCertResultInfo.observe2(this) { + viewModel.testCertResultInfo.observe(viewLifecycleOwner) { binding.testResultPendingStepsCertificateInfo.apply { setEntryText(it.get(context)) } } - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { it?.let { findNavController().navigate(it) } ?: navigateBackToFlowStart() } - viewModel.errorEvent.observe2(this) { displayDialog { setError(it) } } + viewModel.errorEvent.observe(viewLifecycleOwner) { displayDialog { setError(it) } } } override fun onResume() { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultConsentGivenFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultConsentGivenFragment.kt index 273535c2a92..28d799a7155 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultConsentGivenFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultConsentGivenFragment.kt @@ -15,7 +15,6 @@ import de.rki.coronawarnapp.ui.dialog.displayDialog import de.rki.coronawarnapp.ui.submission.SubmissionBlockingDialog import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionNavigationEvents import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -56,7 +55,7 @@ class SubmissionTestResultConsentGivenFragment : } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, backCallback) - viewModel.uiState.observe2(this) { + viewModel.uiState.observe(viewLifecycleOwner) { binding.apply { submissionTestResultSection.setTestResultSection(it.coronaTest) if (it.coronaTest is FamilyCoronaTest) { @@ -69,9 +68,9 @@ class SubmissionTestResultConsentGivenFragment : setButtonOnClickListener() - viewModel.showCancelDialog.observe2(this) { showCancelDialog() } + viewModel.showCancelDialog.observe(viewLifecycleOwner) { showCancelDialog() } - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { when (it) { is SubmissionNavigationEvents.NavigateToSymptomIntroduction -> findNavController().navigate( @@ -95,7 +94,7 @@ class SubmissionTestResultConsentGivenFragment : } } - viewModel.showUploadDialog.observe2(this) { + viewModel.showUploadDialog.observe(viewLifecycleOwner) { uploadDialog.setState(it) } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultKeysSharedFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultKeysSharedFragment.kt index 25e696d63de..2f921957787 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultKeysSharedFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultKeysSharedFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.databinding.FragmentSubmissionTestResultPositiveKeys import de.rki.coronawarnapp.familytest.core.model.FamilyCoronaTest import de.rki.coronawarnapp.reyclebin.ui.dialog.recycleTestDialog import de.rki.coronawarnapp.util.di.AutoInject -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -59,7 +58,7 @@ class SubmissionTestResultKeysSharedFragment : viewModel.onShowDeleteTestDialog() } - viewModel.uiState.observe2(this) { + viewModel.uiState.observe(viewLifecycleOwner) { binding.apply { submissionTestResultSection.setTestResultSection(it.coronaTest) submissionDonePcrValidation.isVisible = it.coronaTest.type == BaseCoronaTest.Type.RAPID_ANTIGEN @@ -75,11 +74,11 @@ class SubmissionTestResultKeysSharedFragment : } } - viewModel.showDeleteTestDialog.observe2(this) { + viewModel.showDeleteTestDialog.observe(viewLifecycleOwner) { showMoveToRecycleBinDialog() } - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { navigateBackToFlowStart() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultNoConsentFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultNoConsentFragment.kt index 95c4ed9db9d..f4ba47c2ed1 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultNoConsentFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultNoConsentFragment.kt @@ -14,7 +14,6 @@ import de.rki.coronawarnapp.familytest.core.model.FamilyCoronaTest import de.rki.coronawarnapp.ui.dialog.displayDialog import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.shortcuts.AppShortcutsHelper -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -54,7 +53,7 @@ class SubmissionTestResultNoConsentFragment : } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, backCallback) - viewModel.uiState.observe2(this) { + viewModel.uiState.observe(viewLifecycleOwner) { binding.submissionTestResultSection.setTestResultSection(it.coronaTest) if (it.coronaTest is FamilyCoronaTest) { binding.toolbar.title = getText(R.string.submission_test_result_headline) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentFragment.kt index c4398f32659..f44dda6d8a4 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentFragment.kt @@ -15,7 +15,6 @@ import de.rki.coronawarnapp.ui.dialog.displayDialog import de.rki.coronawarnapp.ui.submission.SubmissionBlockingDialog import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.shortcuts.AppShortcutsHelper -import de.rki.coronawarnapp.util.ui.observe2 import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -55,7 +54,7 @@ class SubmissionResultPositiveOtherWarningNoConsentFragment : viewModel.onBackPressed() } - viewModel.navigateBack.observe2(this) { + viewModel.navigateBack.observe(viewLifecycleOwner) { goBack() } @@ -64,20 +63,20 @@ class SubmissionResultPositiveOtherWarningNoConsentFragment : } requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, backCallback) - viewModel.routeToScreen.observe2(this) { + viewModel.routeToScreen.observe(viewLifecycleOwner) { findNavController().navigate(it) } - viewModel.showKeysRetrievalProgress.observe2(this) { show -> + viewModel.showKeysRetrievalProgress.observe(viewLifecycleOwner) { show -> keysRetrievalProgress.setState(show) binding.submissionPositiveOtherWarningNoConsentButtonNext.isEnabled = !show } - viewModel.showPermissionRequest.observe2(this) { permissionRequest -> + viewModel.showPermissionRequest.observe(viewLifecycleOwner) { permissionRequest -> permissionRequest.invoke(requireActivity()) } - viewModel.showEnableTracingEvent.observe2(this) { + viewModel.showEnableTracingEvent.observe(viewLifecycleOwner) { displayDialog { title(R.string.submission_test_result_dialog_tracing_required_title) message(R.string.submission_test_result_dialog_tracing_required_message) @@ -89,11 +88,11 @@ class SubmissionResultPositiveOtherWarningNoConsentFragment : viewModel.onDataPrivacyClick() } - viewModel.countryList.observe2(this) { + viewModel.countryList.observe(viewLifecycleOwner) { binding.countryList.countries = it } - viewModel.showTracingConsentDialog.observe2(this) { onConsentResult -> + viewModel.showTracingConsentDialog.observe(viewLifecycleOwner) { onConsentResult -> tracingConsentDialog( positiveButton = { onConsentResult(true) }, negativeButton = { onConsentResult(false) } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentFragment.kt index 4e64b5a3928..e33dc4c3bea 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentFragment.kt @@ -10,7 +10,6 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentSubmissionYourConsentBinding 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 import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider @@ -38,7 +37,7 @@ class SubmissionYourConsentFragment : Fragment(R.layout.fragment_submission_your super.onViewCreated(view, savedInstanceState) binding.submissionYourConsentSwitch.setSwitchEnabled(true) - vm.consent.observe2(this) { + vm.consent.observe(viewLifecycleOwner) { binding.submissionYourConsentSwitch.setChecked(it) binding.submissionYourConsentSwitch.setSubtitle( getString( @@ -51,11 +50,11 @@ class SubmissionYourConsentFragment : Fragment(R.layout.fragment_submission_your ) } - vm.countryList.observe2(this) { + vm.countryList.observe(viewLifecycleOwner) { binding.submissionYourConsentAgreementCountryList.countries = it } - vm.clickEvent.observe2(this) { + vm.clickEvent.observe(viewLifecycleOwner) { when (it) { is SubmissionYourConsentEvents.GoBack -> popBackStack() is SubmissionYourConsentEvents.GoLegal -> findNavController().navigate( @@ -79,7 +78,7 @@ class SubmissionYourConsentFragment : Fragment(R.layout.fragment_submission_your ) } - vm.errorEvent.observe2(this) { displayDialog { setError(it) } } + vm.errorEvent.observe(viewLifecycleOwner) { displayDialog { setError(it) } } } override fun onResume() { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ui/LiveDataExtensions.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ui/LiveDataExtensions.kt index e984d9221e1..dcd7ce08bcb 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ui/LiveDataExtensions.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ui/LiveDataExtensions.kt @@ -1,16 +1,9 @@ package de.rki.coronawarnapp.util.ui -import androidx.fragment.app.Fragment import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LiveData import androidx.lifecycle.Observer -fun LiveData.observe2(fragment: Fragment, callback: (T) -> Unit) { - observe(fragment.viewLifecycleOwner) { - callback.invoke(it) - } -} - fun LiveData.observeOnce(lifecycleOwner: LifecycleOwner? = null, onValueChanged: (t: T) -> Unit) { val internalObserver = object : Observer { override fun onChanged(t: T) {