From 3568e48529f7efe55a980dba5be813462fa29fa2 Mon Sep 17 00:00:00 2001
From: Taras <tarassmakula@gmail.com>
Date: Wed, 11 May 2022 14:57:23 +0300
Subject: [PATCH] Refactor packeges structure

---
 .../futo/circles/core/ImagePickerHelper.kt    |  3 --
 .../{pick_image => core}/PickImageDialog.kt   |  2 +-
 .../com/futo/circles/di/DataSourceModule.kt   | 30 ++++++++--------
 .../main/java/com/futo/circles/di/UiModule.kt | 34 +++++++++----------
 .../following/FollowingDialogFragment.kt      |  4 +--
 .../following/FollowingViewModel.kt           |  4 +--
 .../following/RemoveFollowingDialog.kt        |  2 +-
 .../data_source/FollowingDataSource.kt        |  2 +-
 .../following/list/FollowingAdapter.kt        |  2 +-
 .../following/list/FollowingViewHolder.kt     |  2 +-
 .../create_room/CreateRoomDialogFragment.kt   |  4 +--
 .../create_room/CreateRoomViewModel.kt        |  2 +-
 .../invite}/InviteMembersDialogFragment.kt    |  6 ++--
 .../invite}/InviteMembersViewModel.kt         |  4 +--
 .../data_source/InviteMembersDataSource.kt    |  2 +-
 .../ManageMembersDialogFragment.kt}           | 20 +++++------
 .../manage_members/ManageMembersViewModel.kt} |  8 ++---
 .../ChangeAccessLevelBottomSheet.kt           |  4 +--
 .../change_role/ChangeAccessLevelListener.kt  |  2 +-
 .../change_role/ChangeAccessLevelViewModel.kt |  4 +--
 .../ChangeAccessLevelDataSource.kt            |  2 +-
 .../change_role/list/AccessLevelViewHolder.kt |  2 +-
 .../list/ChangeAccessLevelAdapter.kt          |  2 +-
 .../data_source/ManageMembersDataSource.kt}   |  4 +--
 .../manage_members/list/MemberViewHolder.kt}  |  2 +-
 .../list/MembersListAdapter.kt}               |  2 +-
 .../select_users/SelectUsersFragment.kt       |  6 ++--
 .../select_users/SelectUsersViewModel.kt      |  4 +--
 .../data_source/SelectUsersDataSource.kt      |  2 +-
 .../list/search/InviteMemberViewHolder.kt     |  2 +-
 .../search/InviteMembersSearchListAdapter.kt  |  2 +-
 .../list/selected/SelectedUserViewHolder.kt   |  2 +-
 .../list/selected/SelectedUsersListAdapter.kt |  2 +-
 .../update_room/UpdateRoomDialogFragment.kt   |  2 +-
 .../update_room/UpdateRoomViewModel.kt        |  4 +--
 .../data_source/UpdateRoomDataSource.kt       |  2 +-
 .../setup_circles/SetupCirclesFragment.kt     |  4 +--
 .../setup_circles/SetupCirclesViewModel.kt    |  4 +--
 .../data_source/SetupCirclesDataSource.kt     |  2 +-
 .../setup_circles/list/SetupCirclesAdapter.kt |  2 +-
 .../list/SetupCirclesViewHolder.kt            |  2 +-
 .../setup_profile/SetupProfileFragment.kt     |  2 +-
 .../setup_profile/SetupProfileViewModel.kt    |  4 +--
 .../data_source/SetupProfileDataSource.kt     |  2 +-
 .../sign_up_type/SelectSignUpTypeFragment.kt  |  2 +-
 .../sign_up_type/SelectSignUpTypeViewModel.kt |  4 +--
 .../data_source/SelectSignUpTypeDataSource.kt |  2 +-
 .../terms/AcceptTermsFragment.kt              |  4 +--
 .../terms/AcceptTermsViewModel.kt             |  4 +--
 .../data_source/AcceptTermsDataSource.kt      |  2 +-
 .../terms/list/TermsItemViewHolder.kt         |  2 +-
 .../terms/list/TermsListAdapter.kt            |  2 +-
 .../validate_email/ValidateEmailFragment.kt   |  2 +-
 .../validate_email/ValidateEmailViewModel.kt  |  4 +--
 .../data_source/ValidateEmailDataSource.kt    |  2 +-
 .../validate_token/ValidateTokenFragment.kt   |  2 +-
 .../validate_token/ValidateTokenViewModel.kt  |  4 +--
 .../data_source/ValidateTokenDataSource.kt    |  2 +-
 .../feature/timeline/TimelineFragment.kt      |  6 ++--
 .../feature/timeline/TimelineViewModel.kt     |  2 +-
 .../data_source/TimelineDataSource.kt         |  4 +--
 .../post/CreatePostBottomSheet.kt             |  2 +-
 .../post/CreatePostViewModel.kt               |  2 +-
 .../post}/emoji/EmojiBottomSheet.kt           |  4 +--
 .../post}/emoji/EmojiViewModel.kt             |  4 +--
 .../emoji/data_source/EmojiDataSource.kt      |  2 +-
 .../post}/emoji/list/EmojiAdapter.kt          |  2 +-
 .../post}/emoji/list/EmojiViewHolder.kt       |  2 +-
 .../post}/report/ReportDialogFragment.kt      |  4 +--
 .../post}/report/ReportViewModel.kt           |  4 +--
 .../report/data_source/ReportDataSource.kt    |  2 +-
 .../report/list/ReportCategoryAdapter.kt      |  2 +-
 .../report/list/ReportCategoryViewHolder.kt   |  2 +-
 .../post}/share/SharableContent.kt            |  2 +-
 .../post}/share/ShareProvider.kt              |  2 +-
 ...xml => manage_members_dialog_fragment.xml} |  0
 .../main/res/navigation/circles_nav_graph.xml |  2 +-
 .../main/res/navigation/groups_nav_graph.xml  |  2 +-
 .../res/navigation/nav_graph_start_host.xml   |  4 +--
 .../main/res/navigation/sign_up_nav_graph.xml |  8 ++---
 .../res/navigation/timeline_nav_graph.xml     | 18 +++++-----
 81 files changed, 161 insertions(+), 164 deletions(-)
 rename app/src/main/java/com/futo/circles/{pick_image => core}/PickImageDialog.kt (96%)
 rename app/src/main/java/com/futo/circles/feature/{ => circles}/following/FollowingDialogFragment.kt (94%)
 rename app/src/main/java/com/futo/circles/feature/{ => circles}/following/FollowingViewModel.kt (85%)
 rename app/src/main/java/com/futo/circles/feature/{ => circles}/following/RemoveFollowingDialog.kt (96%)
 rename app/src/main/java/com/futo/circles/feature/{ => circles}/following/data_source/FollowingDataSource.kt (95%)
 rename app/src/main/java/com/futo/circles/feature/{ => circles}/following/list/FollowingAdapter.kt (92%)
 rename app/src/main/java/com/futo/circles/feature/{ => circles}/following/list/FollowingViewHolder.kt (96%)
 rename app/src/main/java/com/futo/circles/feature/{ => room}/create_room/CreateRoomDialogFragment.kt (96%)
 rename app/src/main/java/com/futo/circles/feature/{ => room}/create_room/CreateRoomViewModel.kt (97%)
 rename app/src/main/java/com/futo/circles/feature/{group_invite => room/invite}/InviteMembersDialogFragment.kt (92%)
 rename app/src/main/java/com/futo/circles/feature/{group_invite => room/invite}/InviteMembersViewModel.kt (83%)
 rename app/src/main/java/com/futo/circles/feature/{group_invite => room/invite}/data_source/InviteMembersDataSource.kt (94%)
 rename app/src/main/java/com/futo/circles/feature/{group_members/ManageGroupMembersDialogFragment.kt => room/manage_members/ManageMembersDialogFragment.kt} (82%)
 rename app/src/main/java/com/futo/circles/feature/{group_members/ManageGroupMembersViewModel.kt => room/manage_members/ManageMembersViewModel.kt} (84%)
 rename app/src/main/java/com/futo/circles/feature/{group_members => room/manage_members}/change_role/ChangeAccessLevelBottomSheet.kt (94%)
 rename app/src/main/java/com/futo/circles/feature/{group_members => room/manage_members}/change_role/ChangeAccessLevelListener.kt (60%)
 rename app/src/main/java/com/futo/circles/feature/{group_members => room/manage_members}/change_role/ChangeAccessLevelViewModel.kt (82%)
 rename app/src/main/java/com/futo/circles/feature/{group_members => room/manage_members}/change_role/data_source/ChangeAccessLevelDataSource.kt (88%)
 rename app/src/main/java/com/futo/circles/feature/{group_members => room/manage_members}/change_role/list/AccessLevelViewHolder.kt (92%)
 rename app/src/main/java/com/futo/circles/feature/{group_members => room/manage_members}/change_role/list/ChangeAccessLevelAdapter.kt (90%)
 rename app/src/main/java/com/futo/circles/feature/{group_members/data_source/ManageGroupMembersDataSource.kt => room/manage_members/data_source/ManageMembersDataSource.kt} (98%)
 rename app/src/main/java/com/futo/circles/feature/{group_members/list/GroupMemberViewHolder.kt => room/manage_members/list/MemberViewHolder.kt} (98%)
 rename app/src/main/java/com/futo/circles/feature/{group_members/list/GroupMembersListAdapter.kt => room/manage_members/list/MembersListAdapter.kt} (97%)
 rename app/src/main/java/com/futo/circles/feature/{ => room}/select_users/SelectUsersFragment.kt (91%)
 rename app/src/main/java/com/futo/circles/feature/{ => room}/select_users/SelectUsersViewModel.kt (87%)
 rename app/src/main/java/com/futo/circles/feature/{ => room}/select_users/data_source/SelectUsersDataSource.kt (98%)
 rename app/src/main/java/com/futo/circles/feature/{ => room}/select_users/list/search/InviteMemberViewHolder.kt (97%)
 rename app/src/main/java/com/futo/circles/feature/{ => room}/select_users/list/search/InviteMembersSearchListAdapter.kt (95%)
 rename app/src/main/java/com/futo/circles/feature/{ => room}/select_users/list/selected/SelectedUserViewHolder.kt (92%)
 rename app/src/main/java/com/futo/circles/feature/{ => room}/select_users/list/selected/SelectedUsersListAdapter.kt (91%)
 rename app/src/main/java/com/futo/circles/feature/{ => room}/update_room/UpdateRoomDialogFragment.kt (98%)
 rename app/src/main/java/com/futo/circles/feature/{ => room}/update_room/UpdateRoomViewModel.kt (90%)
 rename app/src/main/java/com/futo/circles/feature/{ => room}/update_room/data_source/UpdateRoomDataSource.kt (93%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/setup_circles/SetupCirclesFragment.kt (95%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/setup_circles/SetupCirclesViewModel.kt (90%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/setup_circles/data_source/SetupCirclesDataSource.kt (94%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/setup_circles/list/SetupCirclesAdapter.kt (92%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/setup_circles/list/SetupCirclesViewHolder.kt (94%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/setup_profile/SetupProfileFragment.kt (98%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/setup_profile/SetupProfileViewModel.kt (85%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/setup_profile/data_source/SetupProfileDataSource.kt (92%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/sign_up_type/SelectSignUpTypeFragment.kt (97%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/sign_up_type/SelectSignUpTypeViewModel.kt (81%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/sign_up_type/data_source/SelectSignUpTypeDataSource.kt (94%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/terms/AcceptTermsFragment.kt (94%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/terms/AcceptTermsViewModel.kt (87%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/terms/data_source/AcceptTermsDataSource.kt (96%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/terms/list/TermsItemViewHolder.kt (94%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/terms/list/TermsListAdapter.kt (93%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/validate_email/ValidateEmailFragment.kt (97%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/validate_email/ValidateEmailViewModel.kt (86%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/validate_email/data_source/ValidateEmailDataSource.kt (95%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/validate_token/ValidateTokenFragment.kt (96%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/validate_token/ValidateTokenViewModel.kt (79%)
 rename app/src/main/java/com/futo/circles/feature/{ => sign_up}/validate_token/data_source/ValidateTokenDataSource.kt (93%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline}/post/CreatePostBottomSheet.kt (99%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline}/post/CreatePostViewModel.kt (92%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline/post}/emoji/EmojiBottomSheet.kt (96%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline/post}/emoji/EmojiViewModel.kt (80%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline/post}/emoji/data_source/EmojiDataSource.kt (98%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline/post}/emoji/list/EmojiAdapter.kt (91%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline/post}/emoji/list/EmojiViewHolder.kt (92%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline/post}/report/ReportDialogFragment.kt (94%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline/post}/report/ReportViewModel.kt (82%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline/post}/report/data_source/ReportDataSource.kt (95%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline/post}/report/list/ReportCategoryAdapter.kt (92%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline/post}/report/list/ReportCategoryViewHolder.kt (93%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline/post}/share/SharableContent.kt (78%)
 rename app/src/main/java/com/futo/circles/feature/{ => timeline/post}/share/ShareProvider.kt (95%)
 rename app/src/main/res/layout/{manage_group_members_dialog_fragment.xml => manage_members_dialog_fragment.xml} (100%)

diff --git a/app/src/main/java/com/futo/circles/core/ImagePickerHelper.kt b/app/src/main/java/com/futo/circles/core/ImagePickerHelper.kt
index d3d5f7c4f..d1f01f42a 100644
--- a/app/src/main/java/com/futo/circles/core/ImagePickerHelper.kt
+++ b/app/src/main/java/com/futo/circles/core/ImagePickerHelper.kt
@@ -8,9 +8,6 @@ import androidx.fragment.app.Fragment
 import com.futo.circles.R
 import com.futo.circles.extensions.getContentUriForFileUri
 import com.futo.circles.extensions.showError
-import com.futo.circles.pick_image.PickImageDialog
-import com.futo.circles.pick_image.PickImageDialogListener
-import com.futo.circles.pick_image.PickImageMethod
 import com.github.dhaval2404.imagepicker.ImagePicker
 
 class ImagePickerHelper(private val fragment: Fragment) : PickImageDialogListener {
diff --git a/app/src/main/java/com/futo/circles/pick_image/PickImageDialog.kt b/app/src/main/java/com/futo/circles/core/PickImageDialog.kt
similarity index 96%
rename from app/src/main/java/com/futo/circles/pick_image/PickImageDialog.kt
rename to app/src/main/java/com/futo/circles/core/PickImageDialog.kt
index f75573848..aa8d93ffd 100644
--- a/app/src/main/java/com/futo/circles/pick_image/PickImageDialog.kt
+++ b/app/src/main/java/com/futo/circles/core/PickImageDialog.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.pick_image
+package com.futo.circles.core
 
 import android.content.Context
 import android.os.Bundle
diff --git a/app/src/main/java/com/futo/circles/di/DataSourceModule.kt b/app/src/main/java/com/futo/circles/di/DataSourceModule.kt
index 32ee27fff..30cd5a92e 100644
--- a/app/src/main/java/com/futo/circles/di/DataSourceModule.kt
+++ b/app/src/main/java/com/futo/circles/di/DataSourceModule.kt
@@ -5,25 +5,25 @@ import com.futo.circles.core.matrix.pass_phrase.restore.RestorePassPhraseDataSou
 import com.futo.circles.core.matrix.room.CoreSpacesTreeBuilder
 import com.futo.circles.core.matrix.room.CreateRoomDataSource
 import com.futo.circles.core.matrix.room.RoomRelationsBuilder
-import com.futo.circles.feature.emoji.data_source.EmojiDataSource
-import com.futo.circles.feature.following.data_source.FollowingDataSource
-import com.futo.circles.feature.group_invite.data_source.InviteMembersDataSource
-import com.futo.circles.feature.group_members.change_role.data_source.ChangeAccessLevelDataSource
-import com.futo.circles.feature.group_members.data_source.ManageGroupMembersDataSource
+import com.futo.circles.feature.timeline.post.emoji.data_source.EmojiDataSource
+import com.futo.circles.feature.circles.following.data_source.FollowingDataSource
+import com.futo.circles.feature.room.invite.data_source.InviteMembersDataSource
+import com.futo.circles.feature.room.manage_members.change_role.data_source.ChangeAccessLevelDataSource
+import com.futo.circles.feature.room.manage_members.data_source.ManageMembersDataSource
 import com.futo.circles.feature.home.data_source.HomeDataSource
 import com.futo.circles.feature.log_in.data_source.LoginDataSource
-import com.futo.circles.feature.report.data_source.ReportDataSource
-import com.futo.circles.feature.select_users.data_source.SelectUsersDataSource
-import com.futo.circles.feature.setup_circles.data_source.SetupCirclesDataSource
-import com.futo.circles.feature.setup_profile.data_source.SetupProfileDataSource
+import com.futo.circles.feature.timeline.post.report.data_source.ReportDataSource
+import com.futo.circles.feature.room.select_users.data_source.SelectUsersDataSource
+import com.futo.circles.feature.sign_up.setup_circles.data_source.SetupCirclesDataSource
+import com.futo.circles.feature.sign_up.setup_profile.data_source.SetupProfileDataSource
 import com.futo.circles.feature.sign_up.data_source.SignUpDataSource
-import com.futo.circles.feature.sign_up_type.data_source.SelectSignUpTypeDataSource
-import com.futo.circles.feature.terms.data_source.AcceptTermsDataSource
+import com.futo.circles.feature.sign_up.sign_up_type.data_source.SelectSignUpTypeDataSource
+import com.futo.circles.feature.sign_up.terms.data_source.AcceptTermsDataSource
 import com.futo.circles.feature.timeline.data_source.TimelineBuilder
 import com.futo.circles.feature.timeline.data_source.TimelineDataSource
-import com.futo.circles.feature.update_room.data_source.UpdateRoomDataSource
-import com.futo.circles.feature.validate_email.data_source.ValidateEmailDataSource
-import com.futo.circles.feature.validate_token.data_source.ValidateTokenDataSource
+import com.futo.circles.feature.room.update_room.data_source.UpdateRoomDataSource
+import com.futo.circles.feature.sign_up.validate_email.data_source.ValidateEmailDataSource
+import com.futo.circles.feature.sign_up.validate_token.data_source.ValidateTokenDataSource
 import com.futo.circles.model.CircleRoomTypeArg
 import org.koin.dsl.module
 
@@ -36,7 +36,7 @@ val dataSourceModule = module {
     factory { (roomId: String) -> InviteMembersDataSource(roomId, get()) }
     factory { (roomId: String?) -> SelectUsersDataSource(roomId) }
     factory { (roomId: String, type: CircleRoomTypeArg) ->
-        ManageGroupMembersDataSource(roomId, type, get())
+        ManageMembersDataSource(roomId, type, get())
     }
     factory { CreateRoomDataSource(get(), get()) }
     factory { RoomRelationsBuilder() }
diff --git a/app/src/main/java/com/futo/circles/di/UiModule.kt b/app/src/main/java/com/futo/circles/di/UiModule.kt
index 474955488..545aff30e 100644
--- a/app/src/main/java/com/futo/circles/di/UiModule.kt
+++ b/app/src/main/java/com/futo/circles/di/UiModule.kt
@@ -1,27 +1,27 @@
 package com.futo.circles.di
 
 import com.futo.circles.feature.circles.CirclesViewModel
-import com.futo.circles.feature.create_room.CreateRoomViewModel
-import com.futo.circles.feature.emoji.EmojiViewModel
-import com.futo.circles.feature.following.FollowingViewModel
-import com.futo.circles.feature.group_invite.InviteMembersViewModel
-import com.futo.circles.feature.group_members.ManageGroupMembersViewModel
-import com.futo.circles.feature.group_members.change_role.ChangeAccessLevelViewModel
+import com.futo.circles.feature.room.create_room.CreateRoomViewModel
+import com.futo.circles.feature.timeline.post.emoji.EmojiViewModel
+import com.futo.circles.feature.circles.following.FollowingViewModel
+import com.futo.circles.feature.room.invite.InviteMembersViewModel
+import com.futo.circles.feature.room.manage_members.ManageMembersViewModel
+import com.futo.circles.feature.room.manage_members.change_role.ChangeAccessLevelViewModel
 import com.futo.circles.feature.groups.GroupsViewModel
 import com.futo.circles.feature.home.HomeViewModel
 import com.futo.circles.feature.log_in.LogInViewModel
-import com.futo.circles.feature.post.CreatePostViewModel
-import com.futo.circles.feature.report.ReportViewModel
-import com.futo.circles.feature.select_users.SelectUsersViewModel
-import com.futo.circles.feature.setup_circles.SetupCirclesViewModel
-import com.futo.circles.feature.setup_profile.SetupProfileViewModel
+import com.futo.circles.feature.timeline.post.CreatePostViewModel
+import com.futo.circles.feature.timeline.post.report.ReportViewModel
+import com.futo.circles.feature.room.select_users.SelectUsersViewModel
+import com.futo.circles.feature.sign_up.setup_circles.SetupCirclesViewModel
+import com.futo.circles.feature.sign_up.setup_profile.SetupProfileViewModel
 import com.futo.circles.feature.sign_up.SignUpViewModel
-import com.futo.circles.feature.sign_up_type.SelectSignUpTypeViewModel
-import com.futo.circles.feature.terms.AcceptTermsViewModel
+import com.futo.circles.feature.sign_up.sign_up_type.SelectSignUpTypeViewModel
+import com.futo.circles.feature.sign_up.terms.AcceptTermsViewModel
 import com.futo.circles.feature.timeline.TimelineViewModel
-import com.futo.circles.feature.update_room.UpdateRoomViewModel
-import com.futo.circles.feature.validate_email.ValidateEmailViewModel
-import com.futo.circles.feature.validate_token.ValidateTokenViewModel
+import com.futo.circles.feature.room.update_room.UpdateRoomViewModel
+import com.futo.circles.feature.sign_up.validate_email.ValidateEmailViewModel
+import com.futo.circles.feature.sign_up.validate_token.ValidateTokenViewModel
 import com.futo.circles.model.CircleRoomTypeArg
 import org.koin.androidx.viewmodel.dsl.viewModel
 import org.koin.core.parameter.parametersOf
@@ -35,7 +35,7 @@ val uiModule = module {
     }
     viewModel { (roomId: String) -> InviteMembersViewModel(get { parametersOf(roomId) }) }
     viewModel { (roomId: String, type: CircleRoomTypeArg) ->
-        ManageGroupMembersViewModel(get { parametersOf(roomId, type) })
+        ManageMembersViewModel(get { parametersOf(roomId, type) })
     }
     viewModel { (roomId: String?) -> SelectUsersViewModel(get { parametersOf(roomId) }) }
     viewModel { CreateRoomViewModel(get()) }
diff --git a/app/src/main/java/com/futo/circles/feature/following/FollowingDialogFragment.kt b/app/src/main/java/com/futo/circles/feature/circles/following/FollowingDialogFragment.kt
similarity index 94%
rename from app/src/main/java/com/futo/circles/feature/following/FollowingDialogFragment.kt
rename to app/src/main/java/com/futo/circles/feature/circles/following/FollowingDialogFragment.kt
index ef2250ff4..98dbf36e6 100644
--- a/app/src/main/java/com/futo/circles/feature/following/FollowingDialogFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/circles/following/FollowingDialogFragment.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.following
+package com.futo.circles.feature.circles.following
 
 import android.os.Bundle
 import android.view.View
@@ -8,7 +8,7 @@ import com.futo.circles.core.fragment.BaseFullscreenDialogFragment
 import com.futo.circles.databinding.FollowingDialogFragmentBinding
 import com.futo.circles.extensions.observeData
 import com.futo.circles.extensions.observeResponse
-import com.futo.circles.feature.following.list.FollowingAdapter
+import com.futo.circles.feature.circles.following.list.FollowingAdapter
 import com.futo.circles.model.FollowingListItem
 import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.koin.core.parameter.parametersOf
diff --git a/app/src/main/java/com/futo/circles/feature/following/FollowingViewModel.kt b/app/src/main/java/com/futo/circles/feature/circles/following/FollowingViewModel.kt
similarity index 85%
rename from app/src/main/java/com/futo/circles/feature/following/FollowingViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/circles/following/FollowingViewModel.kt
index c4a55f674..5d9fa12da 100644
--- a/app/src/main/java/com/futo/circles/feature/following/FollowingViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/circles/following/FollowingViewModel.kt
@@ -1,10 +1,10 @@
-package com.futo.circles.feature.following
+package com.futo.circles.feature.circles.following
 
 import androidx.lifecycle.ViewModel
 import com.futo.circles.core.SingleEventLiveData
 import com.futo.circles.extensions.Response
 import com.futo.circles.extensions.launchBg
-import com.futo.circles.feature.following.data_source.FollowingDataSource
+import com.futo.circles.feature.circles.following.data_source.FollowingDataSource
 
 class FollowingViewModel(
     private val dataSource: FollowingDataSource
diff --git a/app/src/main/java/com/futo/circles/feature/following/RemoveFollowingDialog.kt b/app/src/main/java/com/futo/circles/feature/circles/following/RemoveFollowingDialog.kt
similarity index 96%
rename from app/src/main/java/com/futo/circles/feature/following/RemoveFollowingDialog.kt
rename to app/src/main/java/com/futo/circles/feature/circles/following/RemoveFollowingDialog.kt
index 4b0aa892b..e8abbfd54 100644
--- a/app/src/main/java/com/futo/circles/feature/following/RemoveFollowingDialog.kt
+++ b/app/src/main/java/com/futo/circles/feature/circles/following/RemoveFollowingDialog.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.following
+package com.futo.circles.feature.circles.following
 
 import android.content.Context
 import android.os.Bundle
diff --git a/app/src/main/java/com/futo/circles/feature/following/data_source/FollowingDataSource.kt b/app/src/main/java/com/futo/circles/feature/circles/following/data_source/FollowingDataSource.kt
similarity index 95%
rename from app/src/main/java/com/futo/circles/feature/following/data_source/FollowingDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/circles/following/data_source/FollowingDataSource.kt
index da590aded..a7e52a4b5 100644
--- a/app/src/main/java/com/futo/circles/feature/following/data_source/FollowingDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/circles/following/data_source/FollowingDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.following.data_source
+package com.futo.circles.feature.circles.following.data_source
 
 import android.content.Context
 import androidx.lifecycle.map
diff --git a/app/src/main/java/com/futo/circles/feature/following/list/FollowingAdapter.kt b/app/src/main/java/com/futo/circles/feature/circles/following/list/FollowingAdapter.kt
similarity index 92%
rename from app/src/main/java/com/futo/circles/feature/following/list/FollowingAdapter.kt
rename to app/src/main/java/com/futo/circles/feature/circles/following/list/FollowingAdapter.kt
index bb25ceefe..ad9946930 100644
--- a/app/src/main/java/com/futo/circles/feature/following/list/FollowingAdapter.kt
+++ b/app/src/main/java/com/futo/circles/feature/circles/following/list/FollowingAdapter.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.following.list
+package com.futo.circles.feature.circles.following.list
 
 import android.view.ViewGroup
 import com.futo.circles.core.list.BaseRvAdapter
diff --git a/app/src/main/java/com/futo/circles/feature/following/list/FollowingViewHolder.kt b/app/src/main/java/com/futo/circles/feature/circles/following/list/FollowingViewHolder.kt
similarity index 96%
rename from app/src/main/java/com/futo/circles/feature/following/list/FollowingViewHolder.kt
rename to app/src/main/java/com/futo/circles/feature/circles/following/list/FollowingViewHolder.kt
index aa5448cfa..219a382b6 100644
--- a/app/src/main/java/com/futo/circles/feature/following/list/FollowingViewHolder.kt
+++ b/app/src/main/java/com/futo/circles/feature/circles/following/list/FollowingViewHolder.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.following.list
+package com.futo.circles.feature.circles.following.list
 
 import android.text.format.DateUtils
 import android.view.ViewGroup
diff --git a/app/src/main/java/com/futo/circles/feature/create_room/CreateRoomDialogFragment.kt b/app/src/main/java/com/futo/circles/feature/room/create_room/CreateRoomDialogFragment.kt
similarity index 96%
rename from app/src/main/java/com/futo/circles/feature/create_room/CreateRoomDialogFragment.kt
rename to app/src/main/java/com/futo/circles/feature/room/create_room/CreateRoomDialogFragment.kt
index 0b3bbee67..fd831f538 100644
--- a/app/src/main/java/com/futo/circles/feature/create_room/CreateRoomDialogFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/create_room/CreateRoomDialogFragment.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.create_room
+package com.futo.circles.feature.room.create_room
 
 import android.os.Bundle
 import android.view.View
@@ -15,7 +15,7 @@ import com.futo.circles.extensions.observeData
 import com.futo.circles.extensions.observeResponse
 import com.futo.circles.extensions.setIsVisible
 import com.futo.circles.extensions.showSuccess
-import com.futo.circles.feature.select_users.SelectUsersFragment
+import com.futo.circles.feature.room.select_users.SelectUsersFragment
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
 class CreateRoomDialogFragment :
diff --git a/app/src/main/java/com/futo/circles/feature/create_room/CreateRoomViewModel.kt b/app/src/main/java/com/futo/circles/feature/room/create_room/CreateRoomViewModel.kt
similarity index 97%
rename from app/src/main/java/com/futo/circles/feature/create_room/CreateRoomViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/room/create_room/CreateRoomViewModel.kt
index 95b66b957..2a4daff12 100644
--- a/app/src/main/java/com/futo/circles/feature/create_room/CreateRoomViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/create_room/CreateRoomViewModel.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.create_room
+package com.futo.circles.feature.room.create_room
 
 import android.net.Uri
 import androidx.lifecycle.MutableLiveData
diff --git a/app/src/main/java/com/futo/circles/feature/group_invite/InviteMembersDialogFragment.kt b/app/src/main/java/com/futo/circles/feature/room/invite/InviteMembersDialogFragment.kt
similarity index 92%
rename from app/src/main/java/com/futo/circles/feature/group_invite/InviteMembersDialogFragment.kt
rename to app/src/main/java/com/futo/circles/feature/room/invite/InviteMembersDialogFragment.kt
index 437e32023..66d4b72be 100644
--- a/app/src/main/java/com/futo/circles/feature/group_invite/InviteMembersDialogFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/invite/InviteMembersDialogFragment.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.group_invite
+package com.futo.circles.feature.room.invite
 
 import android.os.Bundle
 import android.view.View
@@ -11,8 +11,8 @@ import com.futo.circles.databinding.InviteMembersDialogFragmentBinding
 import com.futo.circles.extensions.observeData
 import com.futo.circles.extensions.observeResponse
 import com.futo.circles.extensions.showSuccess
-import com.futo.circles.feature.select_users.SelectUsersFragment
-import com.futo.circles.feature.select_users.SelectUsersListener
+import com.futo.circles.feature.room.select_users.SelectUsersFragment
+import com.futo.circles.feature.room.select_users.SelectUsersListener
 import com.futo.circles.model.UserListItem
 import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.koin.core.parameter.parametersOf
diff --git a/app/src/main/java/com/futo/circles/feature/group_invite/InviteMembersViewModel.kt b/app/src/main/java/com/futo/circles/feature/room/invite/InviteMembersViewModel.kt
similarity index 83%
rename from app/src/main/java/com/futo/circles/feature/group_invite/InviteMembersViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/room/invite/InviteMembersViewModel.kt
index 4b6a96a50..9b7bd3c42 100644
--- a/app/src/main/java/com/futo/circles/feature/group_invite/InviteMembersViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/invite/InviteMembersViewModel.kt
@@ -1,11 +1,11 @@
-package com.futo.circles.feature.group_invite
+package com.futo.circles.feature.room.invite
 
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
 import com.futo.circles.core.SingleEventLiveData
 import com.futo.circles.extensions.Response
 import com.futo.circles.extensions.launchBg
-import com.futo.circles.feature.group_invite.data_source.InviteMembersDataSource
+import com.futo.circles.feature.room.invite.data_source.InviteMembersDataSource
 import com.futo.circles.model.UserListItem
 
 class InviteMembersViewModel(
diff --git a/app/src/main/java/com/futo/circles/feature/group_invite/data_source/InviteMembersDataSource.kt b/app/src/main/java/com/futo/circles/feature/room/invite/data_source/InviteMembersDataSource.kt
similarity index 94%
rename from app/src/main/java/com/futo/circles/feature/group_invite/data_source/InviteMembersDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/room/invite/data_source/InviteMembersDataSource.kt
index e96f15fd3..e5f09903c 100644
--- a/app/src/main/java/com/futo/circles/feature/group_invite/data_source/InviteMembersDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/invite/data_source/InviteMembersDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.group_invite.data_source
+package com.futo.circles.feature.room.invite.data_source
 
 import android.content.Context
 import com.futo.circles.R
diff --git a/app/src/main/java/com/futo/circles/feature/group_members/ManageGroupMembersDialogFragment.kt b/app/src/main/java/com/futo/circles/feature/room/manage_members/ManageMembersDialogFragment.kt
similarity index 82%
rename from app/src/main/java/com/futo/circles/feature/group_members/ManageGroupMembersDialogFragment.kt
rename to app/src/main/java/com/futo/circles/feature/room/manage_members/ManageMembersDialogFragment.kt
index 68f23212b..8f910af9b 100644
--- a/app/src/main/java/com/futo/circles/feature/group_members/ManageGroupMembersDialogFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/manage_members/ManageMembersDialogFragment.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.group_members
+package com.futo.circles.feature.room.manage_members
 
 
 import android.os.Bundle
@@ -8,22 +8,22 @@ import androidx.navigation.fragment.navArgs
 import androidx.recyclerview.widget.DividerItemDecoration
 import com.futo.circles.R
 import com.futo.circles.core.fragment.BaseFullscreenDialogFragment
-import com.futo.circles.databinding.ManageGroupMembersDialogFragmentBinding
+import com.futo.circles.databinding.ManageMembersDialogFragmentBinding
 import com.futo.circles.extensions.*
-import com.futo.circles.feature.group_members.change_role.ChangeAccessLevelListener
-import com.futo.circles.feature.group_members.list.GroupMembersListAdapter
+import com.futo.circles.feature.room.manage_members.change_role.ChangeAccessLevelListener
+import com.futo.circles.feature.room.manage_members.list.GroupMembersListAdapter
 import com.futo.circles.view.ManageMembersOptionsListener
 import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.koin.core.parameter.parametersOf
 import org.matrix.android.sdk.api.session.room.model.PowerLevelsContent
 
 
-class ManageGroupMembersDialogFragment :
-    BaseFullscreenDialogFragment(ManageGroupMembersDialogFragmentBinding::inflate),
+class ManageMembersDialogFragment :
+    BaseFullscreenDialogFragment(ManageMembersDialogFragmentBinding::inflate),
     ManageMembersOptionsListener, ChangeAccessLevelListener {
 
-    private val args: ManageGroupMembersDialogFragmentArgs by navArgs()
-    private val viewModel by viewModel<ManageGroupMembersViewModel> {
+    private val args: ManageMembersDialogFragmentArgs by navArgs()
+    private val viewModel by viewModel<ManageMembersViewModel> {
         parametersOf(args.roomId, args.type)
     }
 
@@ -36,7 +36,7 @@ class ManageGroupMembersDialogFragment :
     }
 
     private val binding by lazy {
-        getBinding() as ManageGroupMembersDialogFragmentBinding
+        getBinding() as ManageMembersDialogFragmentBinding
     }
 
 
@@ -78,7 +78,7 @@ class ManageGroupMembersDialogFragment :
     override fun onSetAccessLevel(userId: String, powerLevelsContent: PowerLevelsContent) {
         findNavController()
             .navigate(
-                ManageGroupMembersDialogFragmentDirections.toChangeAccessLevelBottomSheet(
+                ManageMembersDialogFragmentDirections.toChangeAccessLevelBottomSheet(
                     userId = userId,
                     levelValue = powerLevelsContent.getUserPowerLevel(userId),
                     myUserLevelValue = powerLevelsContent.getCurrentUserPowerLevel()
diff --git a/app/src/main/java/com/futo/circles/feature/group_members/ManageGroupMembersViewModel.kt b/app/src/main/java/com/futo/circles/feature/room/manage_members/ManageMembersViewModel.kt
similarity index 84%
rename from app/src/main/java/com/futo/circles/feature/group_members/ManageGroupMembersViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/room/manage_members/ManageMembersViewModel.kt
index 8bcacede9..9692c3db8 100644
--- a/app/src/main/java/com/futo/circles/feature/group_members/ManageGroupMembersViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/manage_members/ManageMembersViewModel.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.group_members
+package com.futo.circles.feature.room.manage_members
 
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
@@ -6,10 +6,10 @@ import androidx.lifecycle.asLiveData
 import com.futo.circles.core.SingleEventLiveData
 import com.futo.circles.extensions.Response
 import com.futo.circles.extensions.launchBg
-import com.futo.circles.feature.group_members.data_source.ManageGroupMembersDataSource
+import com.futo.circles.feature.room.manage_members.data_source.ManageMembersDataSource
 
-class ManageGroupMembersViewModel(
-    private val dataSource: ManageGroupMembersDataSource
+class ManageMembersViewModel(
+    private val dataSource: ManageMembersDataSource
 ) : ViewModel() {
 
     val titleLiveData = MutableLiveData(dataSource.getManageMembersTittle())
diff --git a/app/src/main/java/com/futo/circles/feature/group_members/change_role/ChangeAccessLevelBottomSheet.kt b/app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelBottomSheet.kt
similarity index 94%
rename from app/src/main/java/com/futo/circles/feature/group_members/change_role/ChangeAccessLevelBottomSheet.kt
rename to app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelBottomSheet.kt
index e023c9df0..369cd6cc6 100644
--- a/app/src/main/java/com/futo/circles/feature/group_members/change_role/ChangeAccessLevelBottomSheet.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelBottomSheet.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.group_members.change_role
+package com.futo.circles.feature.room.manage_members.change_role
 
 import android.content.Context
 import android.os.Bundle
@@ -10,7 +10,7 @@ import androidx.navigation.fragment.navArgs
 import androidx.recyclerview.widget.DividerItemDecoration
 import com.futo.circles.databinding.ChangeAccessLevelBottomSheetBinding
 import com.futo.circles.extensions.observeData
-import com.futo.circles.feature.group_members.change_role.list.ChangeAccessLevelAdapter
+import com.futo.circles.feature.room.manage_members.change_role.list.ChangeAccessLevelAdapter
 import com.futo.circles.model.AccessLevelListItem
 import com.google.android.material.bottomsheet.BottomSheetDialogFragment
 import org.koin.androidx.viewmodel.ext.android.viewModel
diff --git a/app/src/main/java/com/futo/circles/feature/group_members/change_role/ChangeAccessLevelListener.kt b/app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelListener.kt
similarity index 60%
rename from app/src/main/java/com/futo/circles/feature/group_members/change_role/ChangeAccessLevelListener.kt
rename to app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelListener.kt
index e25bf1aa6..fc1d35bc0 100644
--- a/app/src/main/java/com/futo/circles/feature/group_members/change_role/ChangeAccessLevelListener.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelListener.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.group_members.change_role
+package com.futo.circles.feature.room.manage_members.change_role
 
 interface ChangeAccessLevelListener {
     fun onChangeAccessLevel(userId: String, levelValue: Int)
diff --git a/app/src/main/java/com/futo/circles/feature/group_members/change_role/ChangeAccessLevelViewModel.kt b/app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelViewModel.kt
similarity index 82%
rename from app/src/main/java/com/futo/circles/feature/group_members/change_role/ChangeAccessLevelViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelViewModel.kt
index 4d417c957..bd3e51ca4 100644
--- a/app/src/main/java/com/futo/circles/feature/group_members/change_role/ChangeAccessLevelViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelViewModel.kt
@@ -1,8 +1,8 @@
-package com.futo.circles.feature.group_members.change_role
+package com.futo.circles.feature.room.manage_members.change_role
 
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
-import com.futo.circles.feature.group_members.change_role.data_source.ChangeAccessLevelDataSource
+import com.futo.circles.feature.room.manage_members.change_role.data_source.ChangeAccessLevelDataSource
 
 class ChangeAccessLevelViewModel(
     private val dataSource: ChangeAccessLevelDataSource
diff --git a/app/src/main/java/com/futo/circles/feature/group_members/change_role/data_source/ChangeAccessLevelDataSource.kt b/app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/data_source/ChangeAccessLevelDataSource.kt
similarity index 88%
rename from app/src/main/java/com/futo/circles/feature/group_members/change_role/data_source/ChangeAccessLevelDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/data_source/ChangeAccessLevelDataSource.kt
index 86861be51..5748a5104 100644
--- a/app/src/main/java/com/futo/circles/feature/group_members/change_role/data_source/ChangeAccessLevelDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/data_source/ChangeAccessLevelDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.group_members.change_role.data_source
+package com.futo.circles.feature.room.manage_members.change_role.data_source
 
 import com.futo.circles.model.AccessLevel
 import com.futo.circles.model.AccessLevelListItem
diff --git a/app/src/main/java/com/futo/circles/feature/group_members/change_role/list/AccessLevelViewHolder.kt b/app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/list/AccessLevelViewHolder.kt
similarity index 92%
rename from app/src/main/java/com/futo/circles/feature/group_members/change_role/list/AccessLevelViewHolder.kt
rename to app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/list/AccessLevelViewHolder.kt
index cd775f8ea..ac3f381e1 100644
--- a/app/src/main/java/com/futo/circles/feature/group_members/change_role/list/AccessLevelViewHolder.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/list/AccessLevelViewHolder.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.group_members.change_role.list
+package com.futo.circles.feature.room.manage_members.change_role.list
 
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
diff --git a/app/src/main/java/com/futo/circles/feature/group_members/change_role/list/ChangeAccessLevelAdapter.kt b/app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/list/ChangeAccessLevelAdapter.kt
similarity index 90%
rename from app/src/main/java/com/futo/circles/feature/group_members/change_role/list/ChangeAccessLevelAdapter.kt
rename to app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/list/ChangeAccessLevelAdapter.kt
index 9694c0cc3..afebc0001 100644
--- a/app/src/main/java/com/futo/circles/feature/group_members/change_role/list/ChangeAccessLevelAdapter.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/manage_members/change_role/list/ChangeAccessLevelAdapter.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.group_members.change_role.list
+package com.futo.circles.feature.room.manage_members.change_role.list
 
 import android.view.ViewGroup
 import com.futo.circles.core.list.BaseRvAdapter
diff --git a/app/src/main/java/com/futo/circles/feature/group_members/data_source/ManageGroupMembersDataSource.kt b/app/src/main/java/com/futo/circles/feature/room/manage_members/data_source/ManageMembersDataSource.kt
similarity index 98%
rename from app/src/main/java/com/futo/circles/feature/group_members/data_source/ManageGroupMembersDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/room/manage_members/data_source/ManageMembersDataSource.kt
index 73fb2a8b5..a0b0c65af 100644
--- a/app/src/main/java/com/futo/circles/feature/group_members/data_source/ManageGroupMembersDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/manage_members/data_source/ManageMembersDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.group_members.data_source
+package com.futo.circles.feature.room.manage_members.data_source
 
 
 import android.content.Context
@@ -22,7 +22,7 @@ import org.matrix.android.sdk.api.session.room.model.PowerLevelsContent
 import org.matrix.android.sdk.api.session.room.model.RoomMemberSummary
 import org.matrix.android.sdk.api.session.room.powerlevels.PowerLevelsHelper
 
-class ManageGroupMembersDataSource(
+class ManageMembersDataSource(
     private val roomId: String,
     private val type: CircleRoomTypeArg,
     private val context: Context
diff --git a/app/src/main/java/com/futo/circles/feature/group_members/list/GroupMemberViewHolder.kt b/app/src/main/java/com/futo/circles/feature/room/manage_members/list/MemberViewHolder.kt
similarity index 98%
rename from app/src/main/java/com/futo/circles/feature/group_members/list/GroupMemberViewHolder.kt
rename to app/src/main/java/com/futo/circles/feature/room/manage_members/list/MemberViewHolder.kt
index b60e359e3..962e6f68e 100644
--- a/app/src/main/java/com/futo/circles/feature/group_members/list/GroupMemberViewHolder.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/manage_members/list/MemberViewHolder.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.group_members.list
+package com.futo.circles.feature.room.manage_members.list
 
 import android.view.View
 import android.view.ViewGroup
diff --git a/app/src/main/java/com/futo/circles/feature/group_members/list/GroupMembersListAdapter.kt b/app/src/main/java/com/futo/circles/feature/room/manage_members/list/MembersListAdapter.kt
similarity index 97%
rename from app/src/main/java/com/futo/circles/feature/group_members/list/GroupMembersListAdapter.kt
rename to app/src/main/java/com/futo/circles/feature/room/manage_members/list/MembersListAdapter.kt
index 2da5c3c55..58a2a3241 100644
--- a/app/src/main/java/com/futo/circles/feature/group_members/list/GroupMembersListAdapter.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/manage_members/list/MembersListAdapter.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.group_members.list
+package com.futo.circles.feature.room.manage_members.list
 
 import android.view.ViewGroup
 import com.futo.circles.core.list.BaseRvAdapter
diff --git a/app/src/main/java/com/futo/circles/feature/select_users/SelectUsersFragment.kt b/app/src/main/java/com/futo/circles/feature/room/select_users/SelectUsersFragment.kt
similarity index 91%
rename from app/src/main/java/com/futo/circles/feature/select_users/SelectUsersFragment.kt
rename to app/src/main/java/com/futo/circles/feature/room/select_users/SelectUsersFragment.kt
index a9cd8f2fc..1d103c56c 100644
--- a/app/src/main/java/com/futo/circles/feature/select_users/SelectUsersFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/select_users/SelectUsersFragment.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.select_users
+package com.futo.circles.feature.room.select_users
 
 import android.content.Context
 import android.os.Bundle
@@ -11,8 +11,8 @@ import com.futo.circles.databinding.SelectUsersFragmentBinding
 import com.futo.circles.extensions.getQueryTextChangeStateFlow
 import com.futo.circles.extensions.observeData
 import com.futo.circles.extensions.setIsVisible
-import com.futo.circles.feature.select_users.list.search.InviteMembersSearchListAdapter
-import com.futo.circles.feature.select_users.list.selected.SelectedUsersListAdapter
+import com.futo.circles.feature.room.select_users.list.search.InviteMembersSearchListAdapter
+import com.futo.circles.feature.room.select_users.list.selected.SelectedUsersListAdapter
 import com.futo.circles.model.UserListItem
 import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.koin.core.parameter.parametersOf
diff --git a/app/src/main/java/com/futo/circles/feature/select_users/SelectUsersViewModel.kt b/app/src/main/java/com/futo/circles/feature/room/select_users/SelectUsersViewModel.kt
similarity index 87%
rename from app/src/main/java/com/futo/circles/feature/select_users/SelectUsersViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/room/select_users/SelectUsersViewModel.kt
index 189f34a9a..7bd0bfc21 100644
--- a/app/src/main/java/com/futo/circles/feature/select_users/SelectUsersViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/select_users/SelectUsersViewModel.kt
@@ -1,10 +1,10 @@
-package com.futo.circles.feature.select_users
+package com.futo.circles.feature.room.select_users
 
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.asLiveData
 import com.futo.circles.extensions.launchUi
-import com.futo.circles.feature.select_users.data_source.SelectUsersDataSource
+import com.futo.circles.feature.room.select_users.data_source.SelectUsersDataSource
 import com.futo.circles.model.InviteMemberListItem
 import com.futo.circles.model.UserListItem
 import kotlinx.coroutines.flow.*
diff --git a/app/src/main/java/com/futo/circles/feature/select_users/data_source/SelectUsersDataSource.kt b/app/src/main/java/com/futo/circles/feature/room/select_users/data_source/SelectUsersDataSource.kt
similarity index 98%
rename from app/src/main/java/com/futo/circles/feature/select_users/data_source/SelectUsersDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/room/select_users/data_source/SelectUsersDataSource.kt
index b3ca2e96c..9cb583bb0 100644
--- a/app/src/main/java/com/futo/circles/feature/select_users/data_source/SelectUsersDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/select_users/data_source/SelectUsersDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.select_users.data_source
+package com.futo.circles.feature.room.select_users.data_source
 
 import androidx.lifecycle.asFlow
 import com.futo.circles.mapping.toUserListItem
diff --git a/app/src/main/java/com/futo/circles/feature/select_users/list/search/InviteMemberViewHolder.kt b/app/src/main/java/com/futo/circles/feature/room/select_users/list/search/InviteMemberViewHolder.kt
similarity index 97%
rename from app/src/main/java/com/futo/circles/feature/select_users/list/search/InviteMemberViewHolder.kt
rename to app/src/main/java/com/futo/circles/feature/room/select_users/list/search/InviteMemberViewHolder.kt
index e617b79e1..7eeebbf41 100644
--- a/app/src/main/java/com/futo/circles/feature/select_users/list/search/InviteMemberViewHolder.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/select_users/list/search/InviteMemberViewHolder.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.select_users.list.search
+package com.futo.circles.feature.room.select_users.list.search
 
 import android.view.View
 import android.view.ViewGroup
diff --git a/app/src/main/java/com/futo/circles/feature/select_users/list/search/InviteMembersSearchListAdapter.kt b/app/src/main/java/com/futo/circles/feature/room/select_users/list/search/InviteMembersSearchListAdapter.kt
similarity index 95%
rename from app/src/main/java/com/futo/circles/feature/select_users/list/search/InviteMembersSearchListAdapter.kt
rename to app/src/main/java/com/futo/circles/feature/room/select_users/list/search/InviteMembersSearchListAdapter.kt
index 639317449..3f0b2e828 100644
--- a/app/src/main/java/com/futo/circles/feature/select_users/list/search/InviteMembersSearchListAdapter.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/select_users/list/search/InviteMembersSearchListAdapter.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.select_users.list.search
+package com.futo.circles.feature.room.select_users.list.search
 
 import android.view.ViewGroup
 import com.futo.circles.core.list.BaseRvAdapter
diff --git a/app/src/main/java/com/futo/circles/feature/select_users/list/selected/SelectedUserViewHolder.kt b/app/src/main/java/com/futo/circles/feature/room/select_users/list/selected/SelectedUserViewHolder.kt
similarity index 92%
rename from app/src/main/java/com/futo/circles/feature/select_users/list/selected/SelectedUserViewHolder.kt
rename to app/src/main/java/com/futo/circles/feature/room/select_users/list/selected/SelectedUserViewHolder.kt
index 10e309b58..3b09172ae 100644
--- a/app/src/main/java/com/futo/circles/feature/select_users/list/selected/SelectedUserViewHolder.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/select_users/list/selected/SelectedUserViewHolder.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.select_users.list.selected
+package com.futo.circles.feature.room.select_users.list.selected
 
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
diff --git a/app/src/main/java/com/futo/circles/feature/select_users/list/selected/SelectedUsersListAdapter.kt b/app/src/main/java/com/futo/circles/feature/room/select_users/list/selected/SelectedUsersListAdapter.kt
similarity index 91%
rename from app/src/main/java/com/futo/circles/feature/select_users/list/selected/SelectedUsersListAdapter.kt
rename to app/src/main/java/com/futo/circles/feature/room/select_users/list/selected/SelectedUsersListAdapter.kt
index 163adc469..d2de9902a 100644
--- a/app/src/main/java/com/futo/circles/feature/select_users/list/selected/SelectedUsersListAdapter.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/select_users/list/selected/SelectedUsersListAdapter.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.select_users.list.selected
+package com.futo.circles.feature.room.select_users.list.selected
 
 import android.view.ViewGroup
 import com.futo.circles.core.list.BaseRvAdapter
diff --git a/app/src/main/java/com/futo/circles/feature/update_room/UpdateRoomDialogFragment.kt b/app/src/main/java/com/futo/circles/feature/room/update_room/UpdateRoomDialogFragment.kt
similarity index 98%
rename from app/src/main/java/com/futo/circles/feature/update_room/UpdateRoomDialogFragment.kt
rename to app/src/main/java/com/futo/circles/feature/room/update_room/UpdateRoomDialogFragment.kt
index 527d5d9ef..05ffb3b16 100644
--- a/app/src/main/java/com/futo/circles/feature/update_room/UpdateRoomDialogFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/update_room/UpdateRoomDialogFragment.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.update_room
+package com.futo.circles.feature.room.update_room
 
 import android.os.Bundle
 import android.view.View
diff --git a/app/src/main/java/com/futo/circles/feature/update_room/UpdateRoomViewModel.kt b/app/src/main/java/com/futo/circles/feature/room/update_room/UpdateRoomViewModel.kt
similarity index 90%
rename from app/src/main/java/com/futo/circles/feature/update_room/UpdateRoomViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/room/update_room/UpdateRoomViewModel.kt
index eeb114ddc..eb98e201e 100644
--- a/app/src/main/java/com/futo/circles/feature/update_room/UpdateRoomViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/update_room/UpdateRoomViewModel.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.update_room
+package com.futo.circles.feature.room.update_room
 
 import android.net.Uri
 import androidx.lifecycle.MutableLiveData
@@ -6,7 +6,7 @@ import androidx.lifecycle.ViewModel
 import com.futo.circles.core.SingleEventLiveData
 import com.futo.circles.extensions.Response
 import com.futo.circles.extensions.launchBg
-import com.futo.circles.feature.update_room.data_source.UpdateRoomDataSource
+import com.futo.circles.feature.room.update_room.data_source.UpdateRoomDataSource
 
 class UpdateRoomViewModel(
     private val dataSource: UpdateRoomDataSource
diff --git a/app/src/main/java/com/futo/circles/feature/update_room/data_source/UpdateRoomDataSource.kt b/app/src/main/java/com/futo/circles/feature/room/update_room/data_source/UpdateRoomDataSource.kt
similarity index 93%
rename from app/src/main/java/com/futo/circles/feature/update_room/data_source/UpdateRoomDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/room/update_room/data_source/UpdateRoomDataSource.kt
index e614f31d0..b00e75896 100644
--- a/app/src/main/java/com/futo/circles/feature/update_room/data_source/UpdateRoomDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/room/update_room/data_source/UpdateRoomDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.update_room.data_source
+package com.futo.circles.feature.room.update_room.data_source
 
 import android.content.Context
 import android.net.Uri
diff --git a/app/src/main/java/com/futo/circles/feature/setup_circles/SetupCirclesFragment.kt b/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/SetupCirclesFragment.kt
similarity index 95%
rename from app/src/main/java/com/futo/circles/feature/setup_circles/SetupCirclesFragment.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/SetupCirclesFragment.kt
index bb369c55c..73215f284 100644
--- a/app/src/main/java/com/futo/circles/feature/setup_circles/SetupCirclesFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/SetupCirclesFragment.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.setup_circles
+package com.futo.circles.feature.sign_up.setup_circles
 
 import android.os.Bundle
 import android.view.View
@@ -13,7 +13,7 @@ import com.futo.circles.databinding.SetupCirclesFragmentBinding
 import com.futo.circles.extensions.observeData
 import com.futo.circles.extensions.observeResponse
 import com.futo.circles.extensions.showSuccess
-import com.futo.circles.feature.setup_circles.list.SetupCirclesAdapter
+import com.futo.circles.feature.sign_up.setup_circles.list.SetupCirclesAdapter
 import com.futo.circles.model.SetupCircleListItem
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
diff --git a/app/src/main/java/com/futo/circles/feature/setup_circles/SetupCirclesViewModel.kt b/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/SetupCirclesViewModel.kt
similarity index 90%
rename from app/src/main/java/com/futo/circles/feature/setup_circles/SetupCirclesViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/SetupCirclesViewModel.kt
index 460d38d82..f933bc15d 100644
--- a/app/src/main/java/com/futo/circles/feature/setup_circles/SetupCirclesViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/SetupCirclesViewModel.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.setup_circles
+package com.futo.circles.feature.sign_up.setup_circles
 
 import android.net.Uri
 import androidx.lifecycle.ViewModel
@@ -7,7 +7,7 @@ import com.futo.circles.core.matrix.room.CreateRoomDataSource
 import com.futo.circles.extensions.Response
 import com.futo.circles.extensions.createResult
 import com.futo.circles.extensions.launchBg
-import com.futo.circles.feature.setup_circles.data_source.SetupCirclesDataSource
+import com.futo.circles.feature.sign_up.setup_circles.data_source.SetupCirclesDataSource
 import kotlinx.coroutines.async
 import kotlinx.coroutines.awaitAll
 
diff --git a/app/src/main/java/com/futo/circles/feature/setup_circles/data_source/SetupCirclesDataSource.kt b/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/data_source/SetupCirclesDataSource.kt
similarity index 94%
rename from app/src/main/java/com/futo/circles/feature/setup_circles/data_source/SetupCirclesDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/data_source/SetupCirclesDataSource.kt
index fad179d1d..97eaed50c 100644
--- a/app/src/main/java/com/futo/circles/feature/setup_circles/data_source/SetupCirclesDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/data_source/SetupCirclesDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.setup_circles.data_source
+package com.futo.circles.feature.sign_up.setup_circles.data_source
 
 import android.content.Context
 import android.net.Uri
diff --git a/app/src/main/java/com/futo/circles/feature/setup_circles/list/SetupCirclesAdapter.kt b/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/list/SetupCirclesAdapter.kt
similarity index 92%
rename from app/src/main/java/com/futo/circles/feature/setup_circles/list/SetupCirclesAdapter.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/list/SetupCirclesAdapter.kt
index 54fe7bf9b..1bf894058 100644
--- a/app/src/main/java/com/futo/circles/feature/setup_circles/list/SetupCirclesAdapter.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/list/SetupCirclesAdapter.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.setup_circles.list
+package com.futo.circles.feature.sign_up.setup_circles.list
 
 
 import android.view.ViewGroup
diff --git a/app/src/main/java/com/futo/circles/feature/setup_circles/list/SetupCirclesViewHolder.kt b/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/list/SetupCirclesViewHolder.kt
similarity index 94%
rename from app/src/main/java/com/futo/circles/feature/setup_circles/list/SetupCirclesViewHolder.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/list/SetupCirclesViewHolder.kt
index 3cd648220..9f19db8c4 100644
--- a/app/src/main/java/com/futo/circles/feature/setup_circles/list/SetupCirclesViewHolder.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/list/SetupCirclesViewHolder.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.setup_circles.list
+package com.futo.circles.feature.sign_up.setup_circles.list
 
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
diff --git a/app/src/main/java/com/futo/circles/feature/setup_profile/SetupProfileFragment.kt b/app/src/main/java/com/futo/circles/feature/sign_up/setup_profile/SetupProfileFragment.kt
similarity index 98%
rename from app/src/main/java/com/futo/circles/feature/setup_profile/SetupProfileFragment.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/setup_profile/SetupProfileFragment.kt
index e2f3185d0..58a72f8d1 100644
--- a/app/src/main/java/com/futo/circles/feature/setup_profile/SetupProfileFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/setup_profile/SetupProfileFragment.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.setup_profile
+package com.futo.circles.feature.sign_up.setup_profile
 
 import android.os.Bundle
 import android.view.View
diff --git a/app/src/main/java/com/futo/circles/feature/setup_profile/SetupProfileViewModel.kt b/app/src/main/java/com/futo/circles/feature/sign_up/setup_profile/SetupProfileViewModel.kt
similarity index 85%
rename from app/src/main/java/com/futo/circles/feature/setup_profile/SetupProfileViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/setup_profile/SetupProfileViewModel.kt
index 4ee5a109c..9292795d2 100644
--- a/app/src/main/java/com/futo/circles/feature/setup_profile/SetupProfileViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/setup_profile/SetupProfileViewModel.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.setup_profile
+package com.futo.circles.feature.sign_up.setup_profile
 
 import android.net.Uri
 import androidx.lifecycle.MutableLiveData
@@ -6,7 +6,7 @@ import androidx.lifecycle.ViewModel
 import com.futo.circles.core.SingleEventLiveData
 import com.futo.circles.extensions.Response
 import com.futo.circles.extensions.launchBg
-import com.futo.circles.feature.setup_profile.data_source.SetupProfileDataSource
+import com.futo.circles.feature.sign_up.setup_profile.data_source.SetupProfileDataSource
 
 class SetupProfileViewModel(
     private val dataSource: SetupProfileDataSource
diff --git a/app/src/main/java/com/futo/circles/feature/setup_profile/data_source/SetupProfileDataSource.kt b/app/src/main/java/com/futo/circles/feature/sign_up/setup_profile/data_source/SetupProfileDataSource.kt
similarity index 92%
rename from app/src/main/java/com/futo/circles/feature/setup_profile/data_source/SetupProfileDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/setup_profile/data_source/SetupProfileDataSource.kt
index efb2a3796..fede32510 100644
--- a/app/src/main/java/com/futo/circles/feature/setup_profile/data_source/SetupProfileDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/setup_profile/data_source/SetupProfileDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.setup_profile.data_source
+package com.futo.circles.feature.sign_up.setup_profile.data_source
 
 import android.content.Context
 import android.net.Uri
diff --git a/app/src/main/java/com/futo/circles/feature/sign_up_type/SelectSignUpTypeFragment.kt b/app/src/main/java/com/futo/circles/feature/sign_up/sign_up_type/SelectSignUpTypeFragment.kt
similarity index 97%
rename from app/src/main/java/com/futo/circles/feature/sign_up_type/SelectSignUpTypeFragment.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/sign_up_type/SelectSignUpTypeFragment.kt
index 6f30b593a..61cb4aeaf 100644
--- a/app/src/main/java/com/futo/circles/feature/sign_up_type/SelectSignUpTypeFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/sign_up_type/SelectSignUpTypeFragment.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.sign_up_type
+package com.futo.circles.feature.sign_up.sign_up_type
 
 import android.os.Bundle
 import android.view.View
diff --git a/app/src/main/java/com/futo/circles/feature/sign_up_type/SelectSignUpTypeViewModel.kt b/app/src/main/java/com/futo/circles/feature/sign_up/sign_up_type/SelectSignUpTypeViewModel.kt
similarity index 81%
rename from app/src/main/java/com/futo/circles/feature/sign_up_type/SelectSignUpTypeViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/sign_up_type/SelectSignUpTypeViewModel.kt
index c633956aa..d1c08a7e2 100644
--- a/app/src/main/java/com/futo/circles/feature/sign_up_type/SelectSignUpTypeViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/sign_up_type/SelectSignUpTypeViewModel.kt
@@ -1,10 +1,10 @@
-package com.futo.circles.feature.sign_up_type
+package com.futo.circles.feature.sign_up.sign_up_type
 
 import androidx.lifecycle.ViewModel
 import com.futo.circles.core.SingleEventLiveData
 import com.futo.circles.extensions.Response
 import com.futo.circles.extensions.launchBg
-import com.futo.circles.feature.sign_up_type.data_source.SelectSignUpTypeDataSource
+import com.futo.circles.feature.sign_up.sign_up_type.data_source.SelectSignUpTypeDataSource
 
 class SelectSignUpTypeViewModel(
     private val dataSource: SelectSignUpTypeDataSource
diff --git a/app/src/main/java/com/futo/circles/feature/sign_up_type/data_source/SelectSignUpTypeDataSource.kt b/app/src/main/java/com/futo/circles/feature/sign_up/sign_up_type/data_source/SelectSignUpTypeDataSource.kt
similarity index 94%
rename from app/src/main/java/com/futo/circles/feature/sign_up_type/data_source/SelectSignUpTypeDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/sign_up_type/data_source/SelectSignUpTypeDataSource.kt
index 6c16fa035..451aa18fc 100644
--- a/app/src/main/java/com/futo/circles/feature/sign_up_type/data_source/SelectSignUpTypeDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/sign_up_type/data_source/SelectSignUpTypeDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.sign_up_type.data_source
+package com.futo.circles.feature.sign_up.sign_up_type.data_source
 
 import android.content.Context
 import com.futo.circles.R
diff --git a/app/src/main/java/com/futo/circles/feature/terms/AcceptTermsFragment.kt b/app/src/main/java/com/futo/circles/feature/sign_up/terms/AcceptTermsFragment.kt
similarity index 94%
rename from app/src/main/java/com/futo/circles/feature/terms/AcceptTermsFragment.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/terms/AcceptTermsFragment.kt
index 8b8d2d68a..7bf3a395c 100644
--- a/app/src/main/java/com/futo/circles/feature/terms/AcceptTermsFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/terms/AcceptTermsFragment.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.terms
+package com.futo.circles.feature.sign_up.terms
 
 import android.os.Bundle
 import android.view.View
@@ -12,7 +12,7 @@ import com.futo.circles.databinding.AcceptTermsFragmentBinding
 import com.futo.circles.extensions.observeData
 import com.futo.circles.extensions.observeResponse
 import com.futo.circles.extensions.openCustomTabUrl
-import com.futo.circles.feature.terms.list.TermsListAdapter
+import com.futo.circles.feature.sign_up.terms.list.TermsListAdapter
 import com.futo.circles.model.TermsListItem
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
diff --git a/app/src/main/java/com/futo/circles/feature/terms/AcceptTermsViewModel.kt b/app/src/main/java/com/futo/circles/feature/sign_up/terms/AcceptTermsViewModel.kt
similarity index 87%
rename from app/src/main/java/com/futo/circles/feature/terms/AcceptTermsViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/terms/AcceptTermsViewModel.kt
index 59d0064c5..13393c11a 100644
--- a/app/src/main/java/com/futo/circles/feature/terms/AcceptTermsViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/terms/AcceptTermsViewModel.kt
@@ -1,10 +1,10 @@
-package com.futo.circles.feature.terms
+package com.futo.circles.feature.sign_up.terms
 
 import androidx.lifecycle.ViewModel
 import com.futo.circles.core.SingleEventLiveData
 import com.futo.circles.extensions.Response
 import com.futo.circles.extensions.launchBg
-import com.futo.circles.feature.terms.data_source.AcceptTermsDataSource
+import com.futo.circles.feature.sign_up.terms.data_source.AcceptTermsDataSource
 import com.futo.circles.model.TermsListItem
 import org.matrix.android.sdk.api.auth.registration.RegistrationResult
 
diff --git a/app/src/main/java/com/futo/circles/feature/terms/data_source/AcceptTermsDataSource.kt b/app/src/main/java/com/futo/circles/feature/sign_up/terms/data_source/AcceptTermsDataSource.kt
similarity index 96%
rename from app/src/main/java/com/futo/circles/feature/terms/data_source/AcceptTermsDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/terms/data_source/AcceptTermsDataSource.kt
index fc3acea0f..02bd5c445 100644
--- a/app/src/main/java/com/futo/circles/feature/terms/data_source/AcceptTermsDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/terms/data_source/AcceptTermsDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.terms.data_source
+package com.futo.circles.feature.sign_up.terms.data_source
 
 
 import android.content.Context
diff --git a/app/src/main/java/com/futo/circles/feature/terms/list/TermsItemViewHolder.kt b/app/src/main/java/com/futo/circles/feature/sign_up/terms/list/TermsItemViewHolder.kt
similarity index 94%
rename from app/src/main/java/com/futo/circles/feature/terms/list/TermsItemViewHolder.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/terms/list/TermsItemViewHolder.kt
index 5a018a3b2..b56b08ca3 100644
--- a/app/src/main/java/com/futo/circles/feature/terms/list/TermsItemViewHolder.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/terms/list/TermsItemViewHolder.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.terms.list
+package com.futo.circles.feature.sign_up.terms.list
 
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
diff --git a/app/src/main/java/com/futo/circles/feature/terms/list/TermsListAdapter.kt b/app/src/main/java/com/futo/circles/feature/sign_up/terms/list/TermsListAdapter.kt
similarity index 93%
rename from app/src/main/java/com/futo/circles/feature/terms/list/TermsListAdapter.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/terms/list/TermsListAdapter.kt
index 29637787d..b216f89b8 100644
--- a/app/src/main/java/com/futo/circles/feature/terms/list/TermsListAdapter.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/terms/list/TermsListAdapter.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.terms.list
+package com.futo.circles.feature.sign_up.terms.list
 
 
 import android.view.ViewGroup
diff --git a/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailFragment.kt b/app/src/main/java/com/futo/circles/feature/sign_up/validate_email/ValidateEmailFragment.kt
similarity index 97%
rename from app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailFragment.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/validate_email/ValidateEmailFragment.kt
index ee5efba8d..6c575920d 100644
--- a/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/validate_email/ValidateEmailFragment.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.validate_email
+package com.futo.circles.feature.sign_up.validate_email
 
 import android.os.Bundle
 import android.view.View
diff --git a/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailViewModel.kt b/app/src/main/java/com/futo/circles/feature/sign_up/validate_email/ValidateEmailViewModel.kt
similarity index 86%
rename from app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/validate_email/ValidateEmailViewModel.kt
index 6f9b78421..0ed4b1022 100644
--- a/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/validate_email/ValidateEmailViewModel.kt
@@ -1,11 +1,11 @@
-package com.futo.circles.feature.validate_email
+package com.futo.circles.feature.sign_up.validate_email
 
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
 import com.futo.circles.core.SingleEventLiveData
 import com.futo.circles.extensions.Response
 import com.futo.circles.extensions.launchBg
-import com.futo.circles.feature.validate_email.data_source.ValidateEmailDataSource
+import com.futo.circles.feature.sign_up.validate_email.data_source.ValidateEmailDataSource
 import org.matrix.android.sdk.api.auth.registration.RegistrationResult
 import org.matrix.android.sdk.internal.auth.registration.AddThreePidRegistrationResponse
 
diff --git a/app/src/main/java/com/futo/circles/feature/validate_email/data_source/ValidateEmailDataSource.kt b/app/src/main/java/com/futo/circles/feature/sign_up/validate_email/data_source/ValidateEmailDataSource.kt
similarity index 95%
rename from app/src/main/java/com/futo/circles/feature/validate_email/data_source/ValidateEmailDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/validate_email/data_source/ValidateEmailDataSource.kt
index 4c6e24996..d6efc3e6a 100644
--- a/app/src/main/java/com/futo/circles/feature/validate_email/data_source/ValidateEmailDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/validate_email/data_source/ValidateEmailDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.validate_email.data_source
+package com.futo.circles.feature.sign_up.validate_email.data_source
 
 import com.futo.circles.BuildConfig
 import com.futo.circles.core.VALIDATION_TOKEN_SUBMIT_URL_PREFIX
diff --git a/app/src/main/java/com/futo/circles/feature/validate_token/ValidateTokenFragment.kt b/app/src/main/java/com/futo/circles/feature/sign_up/validate_token/ValidateTokenFragment.kt
similarity index 96%
rename from app/src/main/java/com/futo/circles/feature/validate_token/ValidateTokenFragment.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/validate_token/ValidateTokenFragment.kt
index d90516cf8..1d9d6b79f 100644
--- a/app/src/main/java/com/futo/circles/feature/validate_token/ValidateTokenFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/validate_token/ValidateTokenFragment.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.validate_token
+package com.futo.circles.feature.sign_up.validate_token
 
 import android.os.Bundle
 import android.view.View
diff --git a/app/src/main/java/com/futo/circles/feature/validate_token/ValidateTokenViewModel.kt b/app/src/main/java/com/futo/circles/feature/sign_up/validate_token/ValidateTokenViewModel.kt
similarity index 79%
rename from app/src/main/java/com/futo/circles/feature/validate_token/ValidateTokenViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/validate_token/ValidateTokenViewModel.kt
index 2f8c1d156..b0d45a30d 100644
--- a/app/src/main/java/com/futo/circles/feature/validate_token/ValidateTokenViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/validate_token/ValidateTokenViewModel.kt
@@ -1,10 +1,10 @@
-package com.futo.circles.feature.validate_token
+package com.futo.circles.feature.sign_up.validate_token
 
 import androidx.lifecycle.ViewModel
 import com.futo.circles.core.SingleEventLiveData
 import com.futo.circles.extensions.Response
 import com.futo.circles.extensions.launchBg
-import com.futo.circles.feature.validate_token.data_source.ValidateTokenDataSource
+import com.futo.circles.feature.sign_up.validate_token.data_source.ValidateTokenDataSource
 import org.matrix.android.sdk.api.auth.registration.RegistrationResult
 
 class ValidateTokenViewModel(
diff --git a/app/src/main/java/com/futo/circles/feature/validate_token/data_source/ValidateTokenDataSource.kt b/app/src/main/java/com/futo/circles/feature/sign_up/validate_token/data_source/ValidateTokenDataSource.kt
similarity index 93%
rename from app/src/main/java/com/futo/circles/feature/validate_token/data_source/ValidateTokenDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/sign_up/validate_token/data_source/ValidateTokenDataSource.kt
index 7d0010dd0..f015b9339 100644
--- a/app/src/main/java/com/futo/circles/feature/validate_token/data_source/ValidateTokenDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/sign_up/validate_token/data_source/ValidateTokenDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.validate_token.data_source
+package com.futo.circles.feature.sign_up.validate_token.data_source
 
 import com.futo.circles.extensions.Response
 import com.futo.circles.extensions.createResult
diff --git a/app/src/main/java/com/futo/circles/feature/timeline/TimelineFragment.kt b/app/src/main/java/com/futo/circles/feature/timeline/TimelineFragment.kt
index f1ca41366..68c2b6589 100644
--- a/app/src/main/java/com/futo/circles/feature/timeline/TimelineFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/TimelineFragment.kt
@@ -16,9 +16,9 @@ import com.futo.circles.R
 import com.futo.circles.core.list.BaseRvDecoration
 import com.futo.circles.databinding.TimelineFragmentBinding
 import com.futo.circles.extensions.*
-import com.futo.circles.feature.emoji.EmojiPickerListener
-import com.futo.circles.feature.post.CreatePostListener
-import com.futo.circles.feature.share.ShareProvider
+import com.futo.circles.feature.timeline.post.emoji.EmojiPickerListener
+import com.futo.circles.feature.timeline.post.CreatePostListener
+import com.futo.circles.feature.timeline.post.share.ShareProvider
 import com.futo.circles.feature.timeline.list.PostViewHolder
 import com.futo.circles.feature.timeline.list.TimelineAdapter
 import com.futo.circles.model.CircleRoomTypeArg
diff --git a/app/src/main/java/com/futo/circles/feature/timeline/TimelineViewModel.kt b/app/src/main/java/com/futo/circles/feature/timeline/TimelineViewModel.kt
index b9c495e04..2f546c180 100644
--- a/app/src/main/java/com/futo/circles/feature/timeline/TimelineViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/TimelineViewModel.kt
@@ -6,7 +6,7 @@ import androidx.lifecycle.asLiveData
 import com.futo.circles.core.SingleEventLiveData
 import com.futo.circles.extensions.Response
 import com.futo.circles.extensions.launchBg
-import com.futo.circles.feature.share.ShareableContent
+import com.futo.circles.feature.timeline.post.share.ShareableContent
 import com.futo.circles.feature.timeline.data_source.TimelineDataSource
 import com.futo.circles.model.ImageContent
 import com.futo.circles.model.PostContent
diff --git a/app/src/main/java/com/futo/circles/feature/timeline/data_source/TimelineDataSource.kt b/app/src/main/java/com/futo/circles/feature/timeline/data_source/TimelineDataSource.kt
index f2c9d22de..121150b4e 100644
--- a/app/src/main/java/com/futo/circles/feature/timeline/data_source/TimelineDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/data_source/TimelineDataSource.kt
@@ -8,8 +8,8 @@ import androidx.lifecycle.map
 import com.bumptech.glide.Glide
 import com.futo.circles.core.matrix.room.RoomRelationsBuilder
 import com.futo.circles.extensions.*
-import com.futo.circles.feature.share.ImageShareable
-import com.futo.circles.feature.share.TextShareable
+import com.futo.circles.feature.timeline.post.share.ImageShareable
+import com.futo.circles.feature.timeline.post.share.TextShareable
 import com.futo.circles.mapping.nameOrId
 import com.futo.circles.model.*
 import com.futo.circles.provider.MatrixSessionProvider
diff --git a/app/src/main/java/com/futo/circles/feature/post/CreatePostBottomSheet.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/CreatePostBottomSheet.kt
similarity index 99%
rename from app/src/main/java/com/futo/circles/feature/post/CreatePostBottomSheet.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/CreatePostBottomSheet.kt
index 7f65b668f..0c22dbb43 100644
--- a/app/src/main/java/com/futo/circles/feature/post/CreatePostBottomSheet.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/CreatePostBottomSheet.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.post
+package com.futo.circles.feature.timeline.post
 
 import android.content.Context
 import android.net.Uri
diff --git a/app/src/main/java/com/futo/circles/feature/post/CreatePostViewModel.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/CreatePostViewModel.kt
similarity index 92%
rename from app/src/main/java/com/futo/circles/feature/post/CreatePostViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/CreatePostViewModel.kt
index de8c30952..0fcee9b85 100644
--- a/app/src/main/java/com/futo/circles/feature/post/CreatePostViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/CreatePostViewModel.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.post
+package com.futo.circles.feature.timeline.post
 
 import android.net.Uri
 import androidx.lifecycle.MutableLiveData
diff --git a/app/src/main/java/com/futo/circles/feature/emoji/EmojiBottomSheet.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/emoji/EmojiBottomSheet.kt
similarity index 96%
rename from app/src/main/java/com/futo/circles/feature/emoji/EmojiBottomSheet.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/emoji/EmojiBottomSheet.kt
index 0812568d5..2a82e45ac 100644
--- a/app/src/main/java/com/futo/circles/feature/emoji/EmojiBottomSheet.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/emoji/EmojiBottomSheet.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.emoji
+package com.futo.circles.feature.timeline.post.emoji
 
 import android.content.Context
 import android.os.Bundle
@@ -9,7 +9,7 @@ import android.view.WindowManager
 import androidx.navigation.fragment.navArgs
 import com.futo.circles.databinding.EmojiBottomSheetBinding
 import com.futo.circles.extensions.observeData
-import com.futo.circles.feature.emoji.list.EmojiAdapter
+import com.futo.circles.feature.timeline.post.emoji.list.EmojiAdapter
 import com.futo.circles.model.EmojiCategory
 import com.futo.circles.model.EmojiItem
 import com.google.android.material.bottomsheet.BottomSheetBehavior
diff --git a/app/src/main/java/com/futo/circles/feature/emoji/EmojiViewModel.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/emoji/EmojiViewModel.kt
similarity index 80%
rename from app/src/main/java/com/futo/circles/feature/emoji/EmojiViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/emoji/EmojiViewModel.kt
index 0e72ed462..560831b1b 100644
--- a/app/src/main/java/com/futo/circles/feature/emoji/EmojiViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/emoji/EmojiViewModel.kt
@@ -1,8 +1,8 @@
-package com.futo.circles.feature.emoji
+package com.futo.circles.feature.timeline.post.emoji
 
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
-import com.futo.circles.feature.emoji.data_source.EmojiDataSource
+import com.futo.circles.feature.timeline.post.emoji.data_source.EmojiDataSource
 import com.futo.circles.model.EmojiItem
 
 class EmojiViewModel(private val emojiDataSource: EmojiDataSource) : ViewModel() {
diff --git a/app/src/main/java/com/futo/circles/feature/emoji/data_source/EmojiDataSource.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/emoji/data_source/EmojiDataSource.kt
similarity index 98%
rename from app/src/main/java/com/futo/circles/feature/emoji/data_source/EmojiDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/emoji/data_source/EmojiDataSource.kt
index dfd521d4c..8a4fd30c2 100644
--- a/app/src/main/java/com/futo/circles/feature/emoji/data_source/EmojiDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/emoji/data_source/EmojiDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.emoji.data_source
+package com.futo.circles.feature.timeline.post.emoji.data_source
 
 import android.content.Context
 import android.graphics.Paint
diff --git a/app/src/main/java/com/futo/circles/feature/emoji/list/EmojiAdapter.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/emoji/list/EmojiAdapter.kt
similarity index 91%
rename from app/src/main/java/com/futo/circles/feature/emoji/list/EmojiAdapter.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/emoji/list/EmojiAdapter.kt
index 9e095eee7..dc0ba6d5c 100644
--- a/app/src/main/java/com/futo/circles/feature/emoji/list/EmojiAdapter.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/emoji/list/EmojiAdapter.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.emoji.list
+package com.futo.circles.feature.timeline.post.emoji.list
 
 import android.view.ViewGroup
 import com.futo.circles.core.list.BaseRvAdapter
diff --git a/app/src/main/java/com/futo/circles/feature/emoji/list/EmojiViewHolder.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/emoji/list/EmojiViewHolder.kt
similarity index 92%
rename from app/src/main/java/com/futo/circles/feature/emoji/list/EmojiViewHolder.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/emoji/list/EmojiViewHolder.kt
index 8bdd2744f..42acada3b 100644
--- a/app/src/main/java/com/futo/circles/feature/emoji/list/EmojiViewHolder.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/emoji/list/EmojiViewHolder.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.emoji.list
+package com.futo.circles.feature.timeline.post.emoji.list
 
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
diff --git a/app/src/main/java/com/futo/circles/feature/report/ReportDialogFragment.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/report/ReportDialogFragment.kt
similarity index 94%
rename from app/src/main/java/com/futo/circles/feature/report/ReportDialogFragment.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/report/ReportDialogFragment.kt
index 78cea1d7d..1c69c5653 100644
--- a/app/src/main/java/com/futo/circles/feature/report/ReportDialogFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/report/ReportDialogFragment.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.report
+package com.futo.circles.feature.timeline.post.report
 
 import android.os.Bundle
 import android.view.View
@@ -11,7 +11,7 @@ import com.futo.circles.databinding.ReportDialogFragmentBinding
 import com.futo.circles.extensions.observeData
 import com.futo.circles.extensions.observeResponse
 import com.futo.circles.extensions.showSuccess
-import com.futo.circles.feature.report.list.ReportCategoryAdapter
+import com.futo.circles.feature.timeline.post.report.list.ReportCategoryAdapter
 import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.koin.core.parameter.parametersOf
 
diff --git a/app/src/main/java/com/futo/circles/feature/report/ReportViewModel.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/report/ReportViewModel.kt
similarity index 82%
rename from app/src/main/java/com/futo/circles/feature/report/ReportViewModel.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/report/ReportViewModel.kt
index 5ca8e84cd..2ed2c7184 100644
--- a/app/src/main/java/com/futo/circles/feature/report/ReportViewModel.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/report/ReportViewModel.kt
@@ -1,10 +1,10 @@
-package com.futo.circles.feature.report
+package com.futo.circles.feature.timeline.post.report
 
 import androidx.lifecycle.ViewModel
 import com.futo.circles.core.SingleEventLiveData
 import com.futo.circles.extensions.Response
 import com.futo.circles.extensions.launchBg
-import com.futo.circles.feature.report.data_source.ReportDataSource
+import com.futo.circles.feature.timeline.post.report.data_source.ReportDataSource
 
 class ReportViewModel(
     private val reportDataSource: ReportDataSource
diff --git a/app/src/main/java/com/futo/circles/feature/report/data_source/ReportDataSource.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/report/data_source/ReportDataSource.kt
similarity index 95%
rename from app/src/main/java/com/futo/circles/feature/report/data_source/ReportDataSource.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/report/data_source/ReportDataSource.kt
index e82cb41de..9aefd0bc0 100644
--- a/app/src/main/java/com/futo/circles/feature/report/data_source/ReportDataSource.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/report/data_source/ReportDataSource.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.report.data_source
+package com.futo.circles.feature.timeline.post.report.data_source
 
 import android.content.Context
 import androidx.lifecycle.MutableLiveData
diff --git a/app/src/main/java/com/futo/circles/feature/report/list/ReportCategoryAdapter.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/report/list/ReportCategoryAdapter.kt
similarity index 92%
rename from app/src/main/java/com/futo/circles/feature/report/list/ReportCategoryAdapter.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/report/list/ReportCategoryAdapter.kt
index 7328d2f16..8b04acea5 100644
--- a/app/src/main/java/com/futo/circles/feature/report/list/ReportCategoryAdapter.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/report/list/ReportCategoryAdapter.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.report.list
+package com.futo.circles.feature.timeline.post.report.list
 
 import android.view.ViewGroup
 import com.futo.circles.core.list.BaseRvAdapter
diff --git a/app/src/main/java/com/futo/circles/feature/report/list/ReportCategoryViewHolder.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/report/list/ReportCategoryViewHolder.kt
similarity index 93%
rename from app/src/main/java/com/futo/circles/feature/report/list/ReportCategoryViewHolder.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/report/list/ReportCategoryViewHolder.kt
index 5bb697451..e6abebbae 100644
--- a/app/src/main/java/com/futo/circles/feature/report/list/ReportCategoryViewHolder.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/report/list/ReportCategoryViewHolder.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.report.list
+package com.futo.circles.feature.timeline.post.report.list
 
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
diff --git a/app/src/main/java/com/futo/circles/feature/share/SharableContent.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/share/SharableContent.kt
similarity index 78%
rename from app/src/main/java/com/futo/circles/feature/share/SharableContent.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/share/SharableContent.kt
index e8b95a263..f21683f52 100644
--- a/app/src/main/java/com/futo/circles/feature/share/SharableContent.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/share/SharableContent.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.share
+package com.futo.circles.feature.timeline.post.share
 
 import android.net.Uri
 
diff --git a/app/src/main/java/com/futo/circles/feature/share/ShareProvider.kt b/app/src/main/java/com/futo/circles/feature/timeline/post/share/ShareProvider.kt
similarity index 95%
rename from app/src/main/java/com/futo/circles/feature/share/ShareProvider.kt
rename to app/src/main/java/com/futo/circles/feature/timeline/post/share/ShareProvider.kt
index 80935d96c..e01cdc3f1 100644
--- a/app/src/main/java/com/futo/circles/feature/share/ShareProvider.kt
+++ b/app/src/main/java/com/futo/circles/feature/timeline/post/share/ShareProvider.kt
@@ -1,4 +1,4 @@
-package com.futo.circles.feature.share
+package com.futo.circles.feature.timeline.post.share
 
 import android.content.Context
 import android.content.Intent
diff --git a/app/src/main/res/layout/manage_group_members_dialog_fragment.xml b/app/src/main/res/layout/manage_members_dialog_fragment.xml
similarity index 100%
rename from app/src/main/res/layout/manage_group_members_dialog_fragment.xml
rename to app/src/main/res/layout/manage_members_dialog_fragment.xml
diff --git a/app/src/main/res/navigation/circles_nav_graph.xml b/app/src/main/res/navigation/circles_nav_graph.xml
index 19d899748..bbf58ef83 100644
--- a/app/src/main/res/navigation/circles_nav_graph.xml
+++ b/app/src/main/res/navigation/circles_nav_graph.xml
@@ -45,7 +45,7 @@
 
     <dialog
         android:id="@+id/createRoomDialogFragment"
-        android:name="com.futo.circles.feature.create_room.CreateRoomDialogFragment"
+        android:name="com.futo.circles.feature.room.create_room.CreateRoomDialogFragment"
         android:label="CreateCircleDialogFragment"
         tools:layout="@layout/create_room_dialog_fragment">
 
diff --git a/app/src/main/res/navigation/groups_nav_graph.xml b/app/src/main/res/navigation/groups_nav_graph.xml
index 8d4e7548d..d27d99ff0 100644
--- a/app/src/main/res/navigation/groups_nav_graph.xml
+++ b/app/src/main/res/navigation/groups_nav_graph.xml
@@ -46,7 +46,7 @@
 
     <dialog
         android:id="@+id/createRoomDialogFragment"
-        android:name="com.futo.circles.feature.create_room.CreateRoomDialogFragment"
+        android:name="com.futo.circles.feature.room.create_room.CreateRoomDialogFragment"
         tools:layout="@layout/create_room_dialog_fragment">
 
         <argument
diff --git a/app/src/main/res/navigation/nav_graph_start_host.xml b/app/src/main/res/navigation/nav_graph_start_host.xml
index 2e5714e53..675e4bb82 100644
--- a/app/src/main/res/navigation/nav_graph_start_host.xml
+++ b/app/src/main/res/navigation/nav_graph_start_host.xml
@@ -65,7 +65,7 @@
     </fragment>
     <fragment
         android:id="@+id/setupProfileFragment"
-        android:name="com.futo.circles.feature.setup_profile.SetupProfileFragment"
+        android:name="com.futo.circles.feature.sign_up.setup_profile.SetupProfileFragment"
         android:label="SetupProfileFragment"
         tools:layout="@layout/setup_profile_fragment">
         <action
@@ -76,7 +76,7 @@
     </fragment>
     <fragment
         android:id="@+id/setupCirclesFragment"
-        android:name="com.futo.circles.feature.setup_circles.SetupCirclesFragment"
+        android:name="com.futo.circles.feature.sign_up.setup_circles.SetupCirclesFragment"
         android:label="SetupCirclesFragment"
         tools:layout="@layout/setup_circles_fragment">
         <action
diff --git a/app/src/main/res/navigation/sign_up_nav_graph.xml b/app/src/main/res/navigation/sign_up_nav_graph.xml
index fe44ac99b..d2641d76c 100644
--- a/app/src/main/res/navigation/sign_up_nav_graph.xml
+++ b/app/src/main/res/navigation/sign_up_nav_graph.xml
@@ -19,25 +19,25 @@
 
     <fragment
         android:id="@+id/selectSignUpTypeFragment"
-        android:name="com.futo.circles.feature.sign_up_type.SelectSignUpTypeFragment"
+        android:name="com.futo.circles.feature.sign_up.sign_up_type.SelectSignUpTypeFragment"
         android:label="SelectSignUpTypeFragment"
         tools:layout="@layout/select_sign_up_type_fragment" />
 
     <fragment
         android:id="@+id/validateTokenFragment"
-        android:name="com.futo.circles.feature.validate_token.ValidateTokenFragment"
+        android:name="com.futo.circles.feature.sign_up.validate_token.ValidateTokenFragment"
         android:label="ValidateTokenFragment"
         tools:layout="@layout/validate_token_fragment" />
 
     <fragment
         android:id="@+id/validateEmailFragment"
-        android:name="com.futo.circles.feature.validate_email.ValidateEmailFragment"
+        android:name="com.futo.circles.feature.sign_up.validate_email.ValidateEmailFragment"
         android:label="CreateAccountFragment"
         tools:layout="@layout/validate_email_fragment" />
 
     <fragment
         android:id="@+id/acceptTermsFragment"
-        android:name="com.futo.circles.feature.terms.AcceptTermsFragment"
+        android:name="com.futo.circles.feature.sign_up.terms.AcceptTermsFragment"
         android:label="AcceptTermsFragment"
         tools:layout="@layout/accept_terms_fragment" />
 
diff --git a/app/src/main/res/navigation/timeline_nav_graph.xml b/app/src/main/res/navigation/timeline_nav_graph.xml
index d1655c8e0..2aead82f4 100644
--- a/app/src/main/res/navigation/timeline_nav_graph.xml
+++ b/app/src/main/res/navigation/timeline_nav_graph.xml
@@ -126,7 +126,7 @@
 
     <dialog
         android:id="@+id/inviteMembersDialogFragment"
-        android:name="com.futo.circles.feature.group_invite.InviteMembersDialogFragment"
+        android:name="com.futo.circles.feature.room.invite.InviteMembersDialogFragment"
         tools:layout="@layout/invite_members_dialog_fragment">
 
         <argument
@@ -138,8 +138,8 @@
 
     <dialog
         android:id="@+id/manageMembersDialogFragment"
-        android:name="com.futo.circles.feature.group_members.ManageGroupMembersDialogFragment"
-        tools:layout="@layout/manage_group_members_dialog_fragment">
+        android:name="com.futo.circles.feature.room.manage_members.ManageMembersDialogFragment"
+        tools:layout="@layout/manage_members_dialog_fragment">
 
         <argument
             android:name="roomId"
@@ -175,7 +175,7 @@
     </dialog>
     <dialog
         android:id="@+id/changeAccessLevelBottomSheet"
-        android:name="com.futo.circles.feature.group_members.change_role.ChangeAccessLevelBottomSheet"
+        android:name="com.futo.circles.feature.room.manage_members.change_role.ChangeAccessLevelBottomSheet"
         android:label="ChangeAccessLevelBottomSheet"
         tools:layout="@layout/change_access_level_bottom_sheet">
 
@@ -197,7 +197,7 @@
     </dialog>
     <dialog
         android:id="@+id/updateRoomDialogFragment"
-        android:name="com.futo.circles.feature.update_room.UpdateRoomDialogFragment"
+        android:name="com.futo.circles.feature.room.update_room.UpdateRoomDialogFragment"
         android:label="UpdateRoomDialogFragment"
         tools:layout="@layout/update_room_dialog_fragment">
 
@@ -215,7 +215,7 @@
     </dialog>
     <dialog
         android:id="@+id/createPostBottomSheet"
-        android:name="com.futo.circles.feature.post.CreatePostBottomSheet"
+        android:name="com.futo.circles.feature.timeline.post.CreatePostBottomSheet"
         android:label="CreatePostBottomSheet"
         tools:layout="@layout/create_post_bottom_sheet">
 
@@ -237,7 +237,7 @@
     </dialog>
     <dialog
         android:id="@+id/reportDialogFragment"
-        android:name="com.futo.circles.feature.report.ReportDialogFragment"
+        android:name="com.futo.circles.feature.timeline.post.report.ReportDialogFragment"
         android:label="ReportDialogFragment"
         tools:layout="@layout/report_dialog_fragment">
 
@@ -254,7 +254,7 @@
     </dialog>
     <dialog
         android:id="@+id/emojiBottomSheet"
-        android:name="com.futo.circles.feature.emoji.EmojiBottomSheet"
+        android:name="com.futo.circles.feature.timeline.post.emoji.EmojiBottomSheet"
         android:label="EmojiBottomSheet"
         tools:layout="@layout/emoji_bottom_sheet">
 
@@ -271,7 +271,7 @@
     </dialog>
     <dialog
         android:id="@+id/followingDialogFragment"
-        android:name="com.futo.circles.feature.following.FollowingDialogFragment"
+        android:name="com.futo.circles.feature.circles.following.FollowingDialogFragment"
         android:label="FollowingDialogFragment"
         tools:layout="@layout/following_dialog_fragment">
 
-- 
GitLab