Fixed bottom tabs not responding to click due to null current destination in nav controller

This commit is contained in:
Sylvain Berfini 2021-11-18 17:36:04 +01:00
parent 33ff330167
commit eb83e7e5af
2 changed files with 10 additions and 8 deletions

View file

@ -103,9 +103,8 @@ internal fun TabsFragment.navigateToCallHistory() {
R.id.masterContactsFragment -> R.id.action_masterContactsFragment_to_masterCallLogsFragment R.id.masterContactsFragment -> R.id.action_masterContactsFragment_to_masterCallLogsFragment
R.id.dialerFragment -> R.id.action_dialerFragment_to_masterCallLogsFragment R.id.dialerFragment -> R.id.action_dialerFragment_to_masterCallLogsFragment
R.id.masterChatRoomsFragment -> R.id.action_masterChatRoomsFragment_to_masterCallLogsFragment R.id.masterChatRoomsFragment -> R.id.action_masterChatRoomsFragment_to_masterCallLogsFragment
else -> 0 else -> R.id.action_global_masterCallLogsFragment
} }
if (action == 0) return
findNavController().navigate( findNavController().navigate(
action, action,
null, null,
@ -118,9 +117,8 @@ internal fun TabsFragment.navigateToContacts() {
R.id.masterCallLogsFragment -> R.id.action_masterCallLogsFragment_to_masterContactsFragment R.id.masterCallLogsFragment -> R.id.action_masterCallLogsFragment_to_masterContactsFragment
R.id.dialerFragment -> R.id.action_dialerFragment_to_masterContactsFragment R.id.dialerFragment -> R.id.action_dialerFragment_to_masterContactsFragment
R.id.masterChatRoomsFragment -> R.id.action_masterChatRoomsFragment_to_masterContactsFragment R.id.masterChatRoomsFragment -> R.id.action_masterChatRoomsFragment_to_masterContactsFragment
else -> 0 else -> R.id.action_global_masterContactsFragment
} }
if (action == 0) return
findNavController().navigate( findNavController().navigate(
action, action,
null, null,
@ -133,9 +131,8 @@ internal fun TabsFragment.navigateToDialer() {
R.id.masterCallLogsFragment -> R.id.action_masterCallLogsFragment_to_dialerFragment R.id.masterCallLogsFragment -> R.id.action_masterCallLogsFragment_to_dialerFragment
R.id.masterContactsFragment -> R.id.action_masterContactsFragment_to_dialerFragment R.id.masterContactsFragment -> R.id.action_masterContactsFragment_to_dialerFragment
R.id.masterChatRoomsFragment -> R.id.action_masterChatRoomsFragment_to_dialerFragment R.id.masterChatRoomsFragment -> R.id.action_masterChatRoomsFragment_to_dialerFragment
else -> 0 else -> R.id.action_global_dialerFragment
} }
if (action == 0) return
findNavController().navigate( findNavController().navigate(
action, action,
null, null,
@ -148,9 +145,8 @@ internal fun TabsFragment.navigateToChatRooms() {
R.id.masterCallLogsFragment -> R.id.action_masterCallLogsFragment_to_masterChatRoomsFragment R.id.masterCallLogsFragment -> R.id.action_masterCallLogsFragment_to_masterChatRoomsFragment
R.id.masterContactsFragment -> R.id.action_masterContactsFragment_to_masterChatRoomsFragment R.id.masterContactsFragment -> R.id.action_masterContactsFragment_to_masterChatRoomsFragment
R.id.dialerFragment -> R.id.action_dialerFragment_to_masterChatRoomsFragment R.id.dialerFragment -> R.id.action_dialerFragment_to_masterChatRoomsFragment
else -> 0 else -> R.id.action_global_masterChatRoomsFragment
} }
if (action == 0) return
findNavController().navigate( findNavController().navigate(
action, action,
null, null,

View file

@ -64,6 +64,9 @@
app:uri="linphone-android://contact/new/{sipUri}" app:uri="linphone-android://contact/new/{sipUri}"
android:autoVerify="true" /> android:autoVerify="true" />
</fragment> </fragment>
<action
android:id="@+id/action_global_masterContactsFragment"
app:destination="@id/masterContactsFragment" />
<fragment <fragment
android:id="@+id/masterCallLogsFragment" android:id="@+id/masterCallLogsFragment"
android:name="org.linphone.activities.main.history.fragments.MasterCallLogsFragment" android:name="org.linphone.activities.main.history.fragments.MasterCallLogsFragment"
@ -79,6 +82,9 @@
android:id="@+id/action_masterCallLogsFragment_to_masterChatRoomsFragment" android:id="@+id/action_masterCallLogsFragment_to_masterChatRoomsFragment"
app:destination="@id/masterChatRoomsFragment" /> app:destination="@id/masterChatRoomsFragment" />
</fragment> </fragment>
<action
android:id="@+id/action_global_masterCallLogsFragment"
app:destination="@id/masterCallLogsFragment"/>
<fragment <fragment
android:id="@+id/dialerFragment" android:id="@+id/dialerFragment"
android:name="org.linphone.activities.main.dialer.fragments.DialerFragment" android:name="org.linphone.activities.main.dialer.fragments.DialerFragment"