From 4c809ff7d2432e580b9f02fe95077584b66b623d Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 19 May 2022 09:32:00 +0200 Subject: [PATCH] Fixed issues when creating group call from scheduler process --- app/build.gradle | 2 +- .../main/java/org/linphone/activities/Navigation.kt | 11 +++-------- .../fragments/ConferenceSchedulingSummaryFragment.kt | 10 +++++----- .../viewmodels/ConferenceSchedulingViewModel.kt | 10 +++++----- 4 files changed, 14 insertions(+), 19 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 59c043a9e..a9b27ae9a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -222,7 +222,7 @@ dependencies { implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1' implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation "androidx.security:security-crypto-ktx:1.1.0-alpha03" - implementation 'androidx.core:core-splashscreen:1.0.0-beta02' + implementation 'androidx.core:core-splashscreen:1.0.0-rc01' implementation 'androidx.emoji:emoji:1.1.0' implementation 'androidx.emoji:emoji-bundled:1.1.0' diff --git a/app/src/main/java/org/linphone/activities/Navigation.kt b/app/src/main/java/org/linphone/activities/Navigation.kt index 1ca7bb29d..d8357d8f6 100644 --- a/app/src/main/java/org/linphone/activities/Navigation.kt +++ b/app/src/main/java/org/linphone/activities/Navigation.kt @@ -206,7 +206,7 @@ internal fun ConferenceSchedulingParticipantsListFragment.navigateToSummary() { } } -internal fun ConferenceSchedulingSummaryFragment.goToScheduledConferences() { +internal fun ConferenceSchedulingSummaryFragment.navigateToScheduledConferences() { if (findNavController().currentDestination?.id == R.id.conferenceSchedulingSummaryFragment) { findNavController().navigate( R.id.action_global_scheduledConferencesFragment, @@ -216,15 +216,10 @@ internal fun ConferenceSchedulingSummaryFragment.goToScheduledConferences() { } } -internal fun ConferenceSchedulingSummaryFragment.navigateToConferenceWaitingRoom( - address: String, - subject: String? -) { +internal fun ConferenceSchedulingSummaryFragment.navigateToDialer() { val bundle = Bundle() - bundle.putString("Address", address) - bundle.putString("Subject", subject) findMasterNavController().navigate( - R.id.action_global_conferenceWaitingRoomFragment, + R.id.action_global_dialerFragment, bundle, popupTo(R.id.dialerFragment, false) ) diff --git a/app/src/main/java/org/linphone/activities/main/conference/fragments/ConferenceSchedulingSummaryFragment.kt b/app/src/main/java/org/linphone/activities/main/conference/fragments/ConferenceSchedulingSummaryFragment.kt index 4d253e0f6..e5758e582 100644 --- a/app/src/main/java/org/linphone/activities/main/conference/fragments/ConferenceSchedulingSummaryFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/conference/fragments/ConferenceSchedulingSummaryFragment.kt @@ -24,10 +24,10 @@ import android.view.View import androidx.navigation.navGraphViewModels import org.linphone.R import org.linphone.activities.GenericFragment -import org.linphone.activities.goToScheduledConferences import org.linphone.activities.main.MainActivity import org.linphone.activities.main.conference.viewmodels.ConferenceSchedulingViewModel -import org.linphone.activities.navigateToConferenceWaitingRoom +import org.linphone.activities.navigateToDialer +import org.linphone.activities.navigateToScheduledConferences import org.linphone.databinding.ConferenceSchedulingSummaryFragmentBinding class ConferenceSchedulingSummaryFragment : GenericFragment() { @@ -53,12 +53,12 @@ class ConferenceSchedulingSummaryFragment : GenericFragment + it.consume { if (viewModel.scheduleForLater.value == true) { (requireActivity() as MainActivity).showSnackBar(R.string.conference_schedule_info_created) - goToScheduledConferences() + navigateToScheduledConferences() } else { - navigateToConferenceWaitingRoom(pair.first, pair.second) + navigateToDialer() } } } diff --git a/app/src/main/java/org/linphone/activities/main/conference/viewmodels/ConferenceSchedulingViewModel.kt b/app/src/main/java/org/linphone/activities/main/conference/viewmodels/ConferenceSchedulingViewModel.kt index deb3ca82f..42b051eb7 100644 --- a/app/src/main/java/org/linphone/activities/main/conference/viewmodels/ConferenceSchedulingViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/conference/viewmodels/ConferenceSchedulingViewModel.kt @@ -53,8 +53,8 @@ class ConferenceSchedulingViewModel : ContactsSelectionViewModel() { val conferenceCreationInProgress = MutableLiveData() - val conferenceCreationCompletedEvent: MutableLiveData>> by lazy { - MutableLiveData>>() + val conferenceCreationCompletedEvent: MutableLiveData> by lazy { + MutableLiveData>() } val continueEnabled: MediatorLiveData = MediatorLiveData() @@ -85,7 +85,7 @@ class ConferenceSchedulingViewModel : ContactsSelectionViewModel() { address.value = conferenceAddress!! - if (sendInviteViaChat.value == true) { + if (scheduleForLater.value == true && sendInviteViaChat.value == true) { // Send conference info even when conf is not scheduled for later // as the conference server doesn't invite participants automatically val chatRoomParams = coreContext.core.createDefaultChatRoomParams() @@ -96,7 +96,7 @@ class ConferenceSchedulingViewModel : ContactsSelectionViewModel() { conferenceScheduler.sendInvitations(chatRoomParams) } else { conferenceCreationInProgress.value = false - conferenceCreationCompletedEvent.value = Event(Pair(conferenceAddress.asStringUriOnly(), conferenceScheduler.info?.subject)) + conferenceCreationCompletedEvent.value = Event(true) } } else if (state == ConferenceSchedulerState.Error) { Log.e("[Conference Creation] Failed to create conference!") @@ -123,7 +123,7 @@ class ConferenceSchedulingViewModel : ContactsSelectionViewModel() { if (conferenceAddress == null) { Log.e("[Conference Creation] Conference address is null!") } else { - conferenceCreationCompletedEvent.value = Event(Pair(conferenceAddress.asStringUriOnly(), conferenceScheduler.info?.subject)) + conferenceCreationCompletedEvent.value = Event(true) } } }