From 0471a19a558be6563db9e357052ecb82a652b5a4 Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Wed, 12 Jun 2024 14:46:38 +0300 Subject: [PATCH] Setup navigation --- .../InviteToFollowMeDialogFragment.kt | 4 +-- .../core/feature/user/UserDialogFragment.kt | 7 ++++ .../main/res/navigation/user_nav_graph.xml | 35 +++++++++++++++++++ 3 files changed, 43 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/futo/circles/core/feature/invite_to_follow/InviteToFollowMeDialogFragment.kt b/core/src/main/java/org/futo/circles/core/feature/invite_to_follow/InviteToFollowMeDialogFragment.kt index d68d3f469..0fa90df4f 100644 --- a/core/src/main/java/org/futo/circles/core/feature/invite_to_follow/InviteToFollowMeDialogFragment.kt +++ b/core/src/main/java/org/futo/circles/core/feature/invite_to_follow/InviteToFollowMeDialogFragment.kt @@ -12,8 +12,6 @@ import org.futo.circles.core.base.fragment.BaseFullscreenDialogFragment import org.futo.circles.core.base.fragment.HasLoadingState import org.futo.circles.core.databinding.DialogFragmentInviteToFollowMeBinding import org.futo.circles.core.extensions.navigateSafe -import org.futo.circles.core.extensions.observeResponse -import org.futo.circles.core.extensions.onBackPressed import org.futo.circles.core.extensions.setIsVisible import org.futo.circles.core.feature.room.select.SelectRoomsFragment import org.futo.circles.core.feature.room.select.interfaces.RoomsListener @@ -61,7 +59,7 @@ class InviteToFollowMeDialogFragment : } private fun navigateToCreateCircle() { - + findNavController().navigateSafe(InviteToFollowMeDialogFragmentDirections.toCreateRoomNavGraph()) } override fun onRoomsSelected(rooms: List<SelectableRoomListItem>) { diff --git a/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt b/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt index b2b996829..2ff312392 100644 --- a/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt +++ b/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt @@ -7,6 +7,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.view.menu.MenuBuilder import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController +import androidx.navigation.fragment.navArgs import androidx.recyclerview.widget.DividerItemDecoration import dagger.hilt.android.AndroidEntryPoint import org.futo.circles.core.R @@ -33,6 +34,7 @@ import org.matrix.android.sdk.api.session.user.model.User class UserDialogFragment : BaseFullscreenDialogFragment<DialogFragmentUserBinding>(DialogFragmentUserBinding::inflate) { + private val args: UserDialogFragmentArgs by navArgs() private val viewModel by viewModels<UserViewModel>() private val usersCirclesAdapter by lazy { @@ -63,6 +65,11 @@ class UserDialogFragment : addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL)) adapter = usersCirclesAdapter } + binding.btnInviteToFollowMe.setOnClickListener { + findNavController().navigateSafe( + UserDialogFragmentDirections.toInviteToFollowMeDialogFragment(args.userId) + ) + } } @SuppressLint("RestrictedApi") diff --git a/core/src/main/res/navigation/user_nav_graph.xml b/core/src/main/res/navigation/user_nav_graph.xml index e30f9c127..37ff49924 100644 --- a/core/src/main/res/navigation/user_nav_graph.xml +++ b/core/src/main/res/navigation/user_nav_graph.xml @@ -25,7 +25,42 @@ app:nullable="false" /> </action> + <action + android:id="@+id/to_inviteToFollowMeDialogFragment" + app:destination="@id/inviteToFollowMeDialogFragment"> + + <argument + android:name="userId" + app:argType="string" + app:nullable="false" /> + + </action> + + </dialog> + <dialog + android:id="@+id/inviteToFollowMeDialogFragment" + android:name="org.futo.circles.core.feature.invite_to_follow.InviteToFollowMeDialogFragment" + tools:layout="@layout/dialog_fragment_invite_to_follow_me"> + + <argument + android:name="userId" + app:argType="string" + app:nullable="false" /> + + <action + android:id="@+id/to_create_room_nav_graph" + app:destination="@id/create_room_nav_graph"> + + <argument + android:name="type" + android:defaultValue="Circle" + app:argType="org.futo.circles.core.model.CircleRoomTypeArg" + app:nullable="false" /> + + </action> </dialog> + <include app:graph="@navigation/create_room_nav_graph" /> + </navigation> \ No newline at end of file -- GitLab