From 8f7c465903b127d7465ce2ec73e0b267ab1e81a6 Mon Sep 17 00:00:00 2001
From: Taras <tarassmakula@gmail.com>
Date: Mon, 15 Aug 2022 18:38:05 +0300
Subject: [PATCH] New res./layout codestyle

---
 .../circles/core/list/ChipItemViewHolder.kt   |  6 ++---
 .../core/matrix/pass_phrase/LoadingDialog.kt  |  4 ++--
 .../picker/PickGalleryMediaDialogFragment.kt  |  6 ++---
 .../circles/core/picker/PickMediaDialog.kt    |  4 ++--
 .../device/PickDeviceMediaDialogFragment.kt   |  6 ++---
 .../device/list/DeviceMediaViewHolder.kt      | 12 +++++-----
 .../futo/circles/core/rooms/RoomsFragment.kt  |  9 +++-----
 .../circles/core/rooms/list/RoomViewHolder.kt | 20 ++++++++---------
 .../circles/extensions/FragmentExtensions.kt  |  2 +-
 .../BottomNavigationFragment.kt               |  6 ++---
 .../AcceptCircleInviteDialogFragment.kt       |  6 ++---
 .../list/CirclesInviteViewHolder.kt           |  6 ++---
 .../following/FollowingDialogFragment.kt      |  6 ++---
 .../following/RemoveFollowingDialog.kt        |  4 ++--
 .../following/list/FollowingViewHolder.kt     |  6 ++---
 .../feature/log_in/EnterPassPhraseDialog.kt   |  4 ++--
 .../circles/feature/log_in/LogInFragment.kt   |  6 ++---
 .../notices/SystemNoticesDialogFragment.kt    |  6 ++---
 .../notices/list/SystemNoticesViewHolder.kt   |  6 ++---
 .../circles/feature/people/PeopleFragment.kt  |  6 ++---
 .../feature/people/list/PeopleViewHolder.kt   | 12 +++++-----
 .../feature/people/user/UserFragment.kt       |  9 ++++----
 .../people/user/list/UsersCircleViewHolder.kt |  6 ++---
 .../feature/photos/gallery/GalleryFragment.kt |  6 ++---
 .../gallery/list/GalleryImageViewHolder.kt    | 12 +++++-----
 .../preview/MediaPreviewDialogFragment.kt     |  6 ++---
 .../photos/save/SaveToGalleyDialogFragment.kt |  6 ++---
 .../save/list/SelectGalleryViewHolder.kt      |  6 ++---
 .../create_room/CreateRoomDialogFragment.kt   |  6 ++---
 .../invite/InviteMembersDialogFragment.kt     |  6 ++---
 .../ManageMembersDialogFragment.kt            |  6 ++---
 .../ChangeAccessLevelBottomSheet.kt           |  8 +++----
 .../change_role/list/AccessLevelViewHolder.kt |  6 ++---
 .../manage_members/list/MemberViewHolder.kt   | 18 +++++++--------
 .../room/select_users/SelectUsersFragment.kt  |  6 ++---
 .../list/search/InviteMemberViewHolder.kt     | 20 ++++++++---------
 .../update_room/UpdateRoomDialogFragment.kt   |  8 +++----
 .../feature/settings/SettingsFragment.kt      |  6 ++---
 .../ActiveSessionsDialogFragment.kt           |  6 ++---
 .../list/ActiveSessionsViewHolder.kt          | 12 +++++-----
 .../ChangePasswordDialogFragment.kt           |  6 ++---
 .../confirm_auth/ConfirmAuthDialog.kt         |  4 ++--
 .../edit_profile/EditProfileDialogFragment.kt |  8 +++----
 .../circles/feature/sign_up/SignUpFragment.kt |  6 ++---
 .../setup_circles/SetupCirclesFragment.kt     |  6 ++---
 .../list/SetupCirclesViewHolder.kt            |  6 ++---
 .../setup_profile/SetupProfileFragment.kt     |  6 ++---
 .../sign_up_type/SelectSignUpTypeFragment.kt  |  6 ++---
 .../SubscriptionStageFragment.kt              |  6 ++---
 .../list/SubscriptionViewHolder.kt            |  6 ++---
 .../sign_up/terms/AcceptTermsFragment.kt      |  6 ++---
 .../sign_up/terms/list/TermsItemViewHolder.kt |  6 ++---
 .../validate_email/ValidateEmailFragment.kt   |  9 ++++----
 .../validate_token/ValidateTokenFragment.kt   |  6 ++---
 .../circles/feature/splash/SplashFragment.kt  |  2 +-
 .../feature/timeline/TimelineFragment.kt      | 10 +++++----
 .../timeline/list/TimelineViewHolder.kt       | 12 +++++-----
 .../timeline/post/CreatePostDialogFragment.kt |  6 ++---
 .../timeline/post/emoji/EmojiBottomSheet.kt   | 14 ++++++------
 .../post/emoji/list/EmojiViewHolder.kt        |  6 ++---
 .../post/report/ReportDialogFragment.kt       |  6 ++---
 .../report/list/ReportCategoryViewHolder.kt   |  6 ++---
 .../circles/view/ActiveSessionInfoView.kt     |  4 ++--
 .../futo/circles/view/GroupPostFooterView.kt  |  7 +++---
 .../futo/circles/view/GroupPostHeaderView.kt  |  7 +++---
 .../org/futo/circles/view/LoadingButton.kt    |  4 ++--
 .../java/org/futo/circles/view/LoadingView.kt |  6 ++---
 .../circles/view/ManageMembersOptionsView.kt  |  4 ++--
 .../java/org/futo/circles/view/PostLayout.kt  |  4 ++--
 .../org/futo/circles/view/PreviewPostView.kt  |  4 ++--
 .../java/org/futo/circles/view/ProfileView.kt |  4 ++--
 ...l => bottom_sheet_change_access_level.xml} |  0
 ...ottom_sheet.xml => bottom_sheet_emoji.xml} |  0
 ...uth_dialog.xml => dialog_confirm_auth.xml} |  0
 ...dialog.xml => dialog_enter_passphrase.xml} |  0
 ... dialog_fragment_accept_circle_invite.xml} |  0
 ...ml => dialog_fragment_active_sessions.xml} |  0
 ...ml => dialog_fragment_change_password.xml} |  0
 ...nt.xml => dialog_fragment_create_post.xml} |  0
 ...nt.xml => dialog_fragment_create_room.xml} |  0
 ...t.xml => dialog_fragment_edit_profile.xml} |  0
 ...ment.xml => dialog_fragment_following.xml} |  0
 ...xml => dialog_fragment_invite_members.xml} |  0
 ...xml => dialog_fragment_manage_members.xml} |  0
 ....xml => dialog_fragment_media_preview.xml} |  0
 ... => dialog_fragment_pick_device_media.xml} |  0
 ...=> dialog_fragment_pick_gallery_image.xml} |  0
 ...ragment.xml => dialog_fragment_report.xml} |  0
 ...ml => dialog_fragment_save_to_gallery.xml} |  0
 ...xml => dialog_fragment_system_notices.xml} |  0
 ...nt.xml => dialog_fragment_update_room.xml} |  0
 ...{loading_dialog.xml => dialog_loading.xml} |  0
 ...image_dialog.xml => dialog_pick_image.xml} |  0
 ...dialog.xml => dialog_remove_following.xml} |  0
 ...fragment.xml => fragment_accept_terms.xml} |  0
 ...ent.xml => fragment_bottom_navigation.xml} |  0
 ...lery_fragment.xml => fragment_gallery.xml} |  0
 ...og_in_fragment.xml => fragment_log_in.xml} |  0
 ...eople_fragment.xml => fragment_people.xml} |  0
 ...{rooms_fragment.xml => fragment_rooms.xml} |  0
 ...t.xml => fragment_select_sign_up_type.xml} |  0
 ...fragment.xml => fragment_select_users.xml} |  0
 ...ngs_fragment.xml => fragment_settings.xml} |  0
 ...ragment.xml => fragment_setup_circles.xml} |  0
 ...ragment.xml => fragment_setup_profile.xml} |  0
 ...n_up_fragment.xml => fragment_sign_up.xml} |  0
 ...plash_fragment.xml => fragment_splash.xml} |  0
 ...nt.xml => fragment_subscription_stage.xml} |  0
 ...ine_fragment.xml => fragment_timeline.xml} |  0
 .../{user_fragment.xml => fragment_user.xml}  |  0
 ...agment.xml => fragment_validate_email.xml} |  0
 ...agment.xml => fragment_validate_token.xml} |  0
 app/src/main/res/layout/image_post_view.xml   |  2 +-
 .../{post_layout.xml => layout_post.xml}      |  0
 ... => layout_preview_image_post_content.xml} |  0
 ... => layout_preview_video_post_content.xml} |  0
 ...xml => list_item_accept_circle_invite.xml} |  0
 ...st_item.xml => list_item_access_level.xml} |  0
 ..._item.xml => list_item_active_session.xml} |  0
 ...{chip_list_item.xml => list_item_chip.xml} |  0
 ...moji_list_item.xml => list_item_emoji.xml} |  0
 ..._list_item.xml => list_item_following.xml} |  0
 ...ry_list_item.xml => list_item_gallery.xml} |  0
 ...t_item.xml => list_item_gallery_image.xml} |  0
 ...t_item.xml => list_item_gallery_video.xml} |  0
 ...t_item.xml => list_item_invite_header.xml} |  0
 ..._item.xml => list_item_invited_circle.xml} |  0
 ...t_item.xml => list_item_invited_group.xml} |  0
 ...st_item.xml => list_item_invited_user.xml} |  2 +-
 ...t_item.xml => list_item_joined_circle.xml} |  0
 ...st_item.xml => list_item_joined_group.xml} |  0
 ...ber_list_item.xml => list_item_member.xml} |  2 +-
 ...list_item.xml => list_item_no_results.xml} |  0
 ...ple_list_item.xml => list_item_people.xml} |  2 +-
 ...item.xml => list_item_report_category.xml} |  0
 ..._item.xml => list_item_select_gallery.xml} |  2 +-
 ...st_item.xml => list_item_setup_circle.xml} |  0
 ...st_item.xml => list_item_subscription.xml} |  0
 ..._item.xml => list_item_system_notices.xml} |  0
 ...erms_list_item.xml => list_item_terms.xml} |  0
 ...{user_list_item.xml => list_item_user.xml} |  0
 ..._view.xml => view_active_session_info.xml} |  0
 ..._bar_view.xml => view_error_snack_bar.xml} |  0
 ...er_view.xml => view_group_post_footer.xml} |  0
 ...er_view.xml => view_group_post_header.xml} |  0
 .../{loading_view.xml => view_loading.xml}    |  0
 ...utton_view.xml => view_loading_button.xml} |  0
 ...ew.xml => view_manage_members_options.xml} |  0
 ...ew_post_view.xml => view_preview_post.xml} |  4 ++--
 .../{profile_view.xml => view_profile.xml}    |  0
 ...ar_view.xml => view_success_snack_bar.xml} |  0
 ...{text_post_view.xml => view_text_post.xml} |  0
 ...ideo_post_view.xml => view_video_post.xml} |  2 +-
 .../main/res/navigation/circles_nav_graph.xml |  6 ++---
 .../main/res/navigation/groups_nav_graph.xml  |  4 ++--
 .../res/navigation/nav_graph_start_host.xml   | 12 +++++-----
 .../main/res/navigation/people_nav_graph.xml  |  4 ++--
 .../main/res/navigation/photos_nav_graph.xml  | 10 ++++-----
 .../res/navigation/settings_nav_graph.xml     | 10 ++++-----
 .../main/res/navigation/sign_up_nav_graph.xml | 10 ++++-----
 .../res/navigation/timeline_nav_graph.xml     | 22 +++++++++----------
 161 files changed, 295 insertions(+), 294 deletions(-)
 rename app/src/main/res/layout/{change_access_level_bottom_sheet.xml => bottom_sheet_change_access_level.xml} (100%)
 rename app/src/main/res/layout/{emoji_bottom_sheet.xml => bottom_sheet_emoji.xml} (100%)
 rename app/src/main/res/layout/{confirm_auth_dialog.xml => dialog_confirm_auth.xml} (100%)
 rename app/src/main/res/layout/{enter_passphrase_dialog.xml => dialog_enter_passphrase.xml} (100%)
 rename app/src/main/res/layout/{accept_circle_invite_dialog_fragment.xml => dialog_fragment_accept_circle_invite.xml} (100%)
 rename app/src/main/res/layout/{active_sessions_dialog_fragment.xml => dialog_fragment_active_sessions.xml} (100%)
 rename app/src/main/res/layout/{change_password_dialog_fragment.xml => dialog_fragment_change_password.xml} (100%)
 rename app/src/main/res/layout/{create_post_dialog_fragment.xml => dialog_fragment_create_post.xml} (100%)
 rename app/src/main/res/layout/{create_room_dialog_fragment.xml => dialog_fragment_create_room.xml} (100%)
 rename app/src/main/res/layout/{edit_profile_dialog_fragment.xml => dialog_fragment_edit_profile.xml} (100%)
 rename app/src/main/res/layout/{following_dialog_fragment.xml => dialog_fragment_following.xml} (100%)
 rename app/src/main/res/layout/{invite_members_dialog_fragment.xml => dialog_fragment_invite_members.xml} (100%)
 rename app/src/main/res/layout/{manage_members_dialog_fragment.xml => dialog_fragment_manage_members.xml} (100%)
 rename app/src/main/res/layout/{media_preview_dialog_fragment.xml => dialog_fragment_media_preview.xml} (100%)
 rename app/src/main/res/layout/{pick_device_media_dialog_fragment.xml => dialog_fragment_pick_device_media.xml} (100%)
 rename app/src/main/res/layout/{pick_gallery_image_dialog_fragment.xml => dialog_fragment_pick_gallery_image.xml} (100%)
 rename app/src/main/res/layout/{report_dialog_fragment.xml => dialog_fragment_report.xml} (100%)
 rename app/src/main/res/layout/{save_to_gallery_dialog_fragment.xml => dialog_fragment_save_to_gallery.xml} (100%)
 rename app/src/main/res/layout/{system_notices_dialog_fragment.xml => dialog_fragment_system_notices.xml} (100%)
 rename app/src/main/res/layout/{update_room_dialog_fragment.xml => dialog_fragment_update_room.xml} (100%)
 rename app/src/main/res/layout/{loading_dialog.xml => dialog_loading.xml} (100%)
 rename app/src/main/res/layout/{pick_image_dialog.xml => dialog_pick_image.xml} (100%)
 rename app/src/main/res/layout/{remove_following_dialog.xml => dialog_remove_following.xml} (100%)
 rename app/src/main/res/layout/{accept_terms_fragment.xml => fragment_accept_terms.xml} (100%)
 rename app/src/main/res/layout/{bottom_navigation_fragment.xml => fragment_bottom_navigation.xml} (100%)
 rename app/src/main/res/layout/{gallery_fragment.xml => fragment_gallery.xml} (100%)
 rename app/src/main/res/layout/{log_in_fragment.xml => fragment_log_in.xml} (100%)
 rename app/src/main/res/layout/{people_fragment.xml => fragment_people.xml} (100%)
 rename app/src/main/res/layout/{rooms_fragment.xml => fragment_rooms.xml} (100%)
 rename app/src/main/res/layout/{select_sign_up_type_fragment.xml => fragment_select_sign_up_type.xml} (100%)
 rename app/src/main/res/layout/{select_users_fragment.xml => fragment_select_users.xml} (100%)
 rename app/src/main/res/layout/{settings_fragment.xml => fragment_settings.xml} (100%)
 rename app/src/main/res/layout/{setup_circles_fragment.xml => fragment_setup_circles.xml} (100%)
 rename app/src/main/res/layout/{setup_profile_fragment.xml => fragment_setup_profile.xml} (100%)
 rename app/src/main/res/layout/{sign_up_fragment.xml => fragment_sign_up.xml} (100%)
 rename app/src/main/res/layout/{splash_fragment.xml => fragment_splash.xml} (100%)
 rename app/src/main/res/layout/{subscription_stage_fragment.xml => fragment_subscription_stage.xml} (100%)
 rename app/src/main/res/layout/{timeline_fragment.xml => fragment_timeline.xml} (100%)
 rename app/src/main/res/layout/{user_fragment.xml => fragment_user.xml} (100%)
 rename app/src/main/res/layout/{validate_email_fragment.xml => fragment_validate_email.xml} (100%)
 rename app/src/main/res/layout/{validate_token_fragment.xml => fragment_validate_token.xml} (100%)
 rename app/src/main/res/layout/{post_layout.xml => layout_post.xml} (100%)
 rename app/src/main/res/layout/{preview_image_post_content_layout.xml => layout_preview_image_post_content.xml} (100%)
 rename app/src/main/res/layout/{preview_video_post_content_layout.xml => layout_preview_video_post_content.xml} (100%)
 rename app/src/main/res/layout/{accept_circle_invite_list_item.xml => list_item_accept_circle_invite.xml} (100%)
 rename app/src/main/res/layout/{access_level_list_item.xml => list_item_access_level.xml} (100%)
 rename app/src/main/res/layout/{active_session_list_item.xml => list_item_active_session.xml} (100%)
 rename app/src/main/res/layout/{chip_list_item.xml => list_item_chip.xml} (100%)
 rename app/src/main/res/layout/{emoji_list_item.xml => list_item_emoji.xml} (100%)
 rename app/src/main/res/layout/{following_list_item.xml => list_item_following.xml} (100%)
 rename app/src/main/res/layout/{gallery_list_item.xml => list_item_gallery.xml} (100%)
 rename app/src/main/res/layout/{gallery_image_list_item.xml => list_item_gallery_image.xml} (100%)
 rename app/src/main/res/layout/{gallery_video_list_item.xml => list_item_gallery_video.xml} (100%)
 rename app/src/main/res/layout/{invite_header_list_item.xml => list_item_invite_header.xml} (100%)
 rename app/src/main/res/layout/{invited_circle_list_item.xml => list_item_invited_circle.xml} (100%)
 rename app/src/main/res/layout/{invited_group_list_item.xml => list_item_invited_group.xml} (100%)
 rename app/src/main/res/layout/{invited_user_list_item.xml => list_item_invited_user.xml} (97%)
 rename app/src/main/res/layout/{joined_circle_list_item.xml => list_item_joined_circle.xml} (100%)
 rename app/src/main/res/layout/{joined_group_list_item.xml => list_item_joined_group.xml} (100%)
 rename app/src/main/res/layout/{member_list_item.xml => list_item_member.xml} (98%)
 rename app/src/main/res/layout/{no_results_list_item.xml => list_item_no_results.xml} (100%)
 rename app/src/main/res/layout/{people_list_item.xml => list_item_people.xml} (98%)
 rename app/src/main/res/layout/{report_category_list_item.xml => list_item_report_category.xml} (100%)
 rename app/src/main/res/layout/{select_gallery_list_item.xml => list_item_select_gallery.xml} (97%)
 rename app/src/main/res/layout/{setup_circle_list_item.xml => list_item_setup_circle.xml} (100%)
 rename app/src/main/res/layout/{subscription_list_item.xml => list_item_subscription.xml} (100%)
 rename app/src/main/res/layout/{system_notices_list_item.xml => list_item_system_notices.xml} (100%)
 rename app/src/main/res/layout/{terms_list_item.xml => list_item_terms.xml} (100%)
 rename app/src/main/res/layout/{user_list_item.xml => list_item_user.xml} (100%)
 rename app/src/main/res/layout/{active_session_info_view.xml => view_active_session_info.xml} (100%)
 rename app/src/main/res/layout/{error_snack_bar_view.xml => view_error_snack_bar.xml} (100%)
 rename app/src/main/res/layout/{group_post_footer_view.xml => view_group_post_footer.xml} (100%)
 rename app/src/main/res/layout/{group_post_header_view.xml => view_group_post_header.xml} (100%)
 rename app/src/main/res/layout/{loading_view.xml => view_loading.xml} (100%)
 rename app/src/main/res/layout/{loading_button_view.xml => view_loading_button.xml} (100%)
 rename app/src/main/res/layout/{manage_members_options_view.xml => view_manage_members_options.xml} (100%)
 rename app/src/main/res/layout/{preview_post_view.xml => view_preview_post.xml} (96%)
 rename app/src/main/res/layout/{profile_view.xml => view_profile.xml} (100%)
 rename app/src/main/res/layout/{success_snack_bar_view.xml => view_success_snack_bar.xml} (100%)
 rename app/src/main/res/layout/{text_post_view.xml => view_text_post.xml} (100%)
 rename app/src/main/res/layout/{video_post_view.xml => view_video_post.xml} (97%)

diff --git a/app/src/main/java/org/futo/circles/core/list/ChipItemViewHolder.kt b/app/src/main/java/org/futo/circles/core/list/ChipItemViewHolder.kt
index 30f1f4d54..feff25523 100644
--- a/app/src/main/java/org/futo/circles/core/list/ChipItemViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/core/list/ChipItemViewHolder.kt
@@ -2,16 +2,16 @@ package org.futo.circles.core.list
 
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
-import org.futo.circles.databinding.ChipListItemBinding
+import org.futo.circles.databinding.ListItemChipBinding
 
 class ChipItemViewHolder(
     parent: ViewGroup,
     private val onItemDeselected: (Int) -> Unit
-) : RecyclerView.ViewHolder(inflate(parent, ChipListItemBinding::inflate)) {
+) : RecyclerView.ViewHolder(inflate(parent, ListItemChipBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as ChipListItemBinding
+    private val binding = baseBinding as ListItemChipBinding
 
     init {
         binding.chipView.setOnCloseIconClickListener {
diff --git a/app/src/main/java/org/futo/circles/core/matrix/pass_phrase/LoadingDialog.kt b/app/src/main/java/org/futo/circles/core/matrix/pass_phrase/LoadingDialog.kt
index 21340bf6f..8c070030d 100644
--- a/app/src/main/java/org/futo/circles/core/matrix/pass_phrase/LoadingDialog.kt
+++ b/app/src/main/java/org/futo/circles/core/matrix/pass_phrase/LoadingDialog.kt
@@ -4,13 +4,13 @@ import android.content.Context
 import android.os.Bundle
 import android.view.LayoutInflater
 import androidx.appcompat.app.AppCompatDialog
-import org.futo.circles.databinding.LoadingDialogBinding
+import org.futo.circles.databinding.DialogLoadingBinding
 import org.futo.circles.model.LoadingData
 
 
 class LoadingDialog(context: Context) : AppCompatDialog(context) {
 
-    private val binding = LoadingDialogBinding.inflate(LayoutInflater.from(context))
+    private val binding = DialogLoadingBinding.inflate(LayoutInflater.from(context))
 
     override fun onAttachedToWindow() {
         super.onAttachedToWindow()
diff --git a/app/src/main/java/org/futo/circles/core/picker/PickGalleryMediaDialogFragment.kt b/app/src/main/java/org/futo/circles/core/picker/PickGalleryMediaDialogFragment.kt
index 036146479..de01ad1c3 100644
--- a/app/src/main/java/org/futo/circles/core/picker/PickGalleryMediaDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/core/picker/PickGalleryMediaDialogFragment.kt
@@ -9,7 +9,7 @@ import androidx.fragment.app.setFragmentResult
 import org.futo.circles.R
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
 import org.futo.circles.core.picker.MediaPickerHelper.Companion.IS_VIDEO_AVAILABLE
-import org.futo.circles.databinding.PickGalleryImageDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentPickGalleryImageBinding
 import org.futo.circles.feature.photos.PhotosFragment
 import org.futo.circles.feature.photos.gallery.GalleryFragment
 
@@ -22,13 +22,13 @@ interface PickGalleryMediaListener {
 }
 
 class PickGalleryMediaDialogFragment :
-    BaseFullscreenDialogFragment(PickGalleryImageDialogFragmentBinding::inflate),
+    BaseFullscreenDialogFragment(DialogFragmentPickGalleryImageBinding::inflate),
     PickGalleryListener, PickGalleryMediaListener {
 
     private val photosRoomsFragment by lazy { PhotosFragment() }
 
     private val binding by lazy {
-        getBinding() as PickGalleryImageDialogFragmentBinding
+        getBinding() as DialogFragmentPickGalleryImageBinding
     }
 
     private val isVideoAvailable by lazy {
diff --git a/app/src/main/java/org/futo/circles/core/picker/PickMediaDialog.kt b/app/src/main/java/org/futo/circles/core/picker/PickMediaDialog.kt
index ebc9b851d..0eb069daf 100644
--- a/app/src/main/java/org/futo/circles/core/picker/PickMediaDialog.kt
+++ b/app/src/main/java/org/futo/circles/core/picker/PickMediaDialog.kt
@@ -4,7 +4,7 @@ import android.content.Context
 import android.os.Bundle
 import android.view.LayoutInflater
 import androidx.appcompat.app.AppCompatDialog
-import org.futo.circles.databinding.PickImageDialogBinding
+import org.futo.circles.databinding.DialogPickImageBinding
 import org.futo.circles.extensions.setIsVisible
 
 
@@ -21,7 +21,7 @@ class PickMediaDialog(
 ) :
     AppCompatDialog(context) {
 
-    private val binding = PickImageDialogBinding.inflate(LayoutInflater.from(context))
+    private val binding = DialogPickImageBinding.inflate(LayoutInflater.from(context))
 
 
     override fun onCreate(savedInstanceState: Bundle?) {
diff --git a/app/src/main/java/org/futo/circles/core/picker/device/PickDeviceMediaDialogFragment.kt b/app/src/main/java/org/futo/circles/core/picker/device/PickDeviceMediaDialogFragment.kt
index 1439190f9..c26aeb6ab 100644
--- a/app/src/main/java/org/futo/circles/core/picker/device/PickDeviceMediaDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/core/picker/device/PickDeviceMediaDialogFragment.kt
@@ -10,17 +10,17 @@ import org.futo.circles.core.picker.MediaPickerHelper
 import org.futo.circles.core.picker.MediaPickerHelper.Companion.IS_VIDEO_AVAILABLE
 import org.futo.circles.core.picker.device.list.DeviceMediaViewHolder
 import org.futo.circles.core.picker.device.list.DeviceMedialListAdapter
-import org.futo.circles.databinding.PickDeviceMediaDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentPickDeviceMediaBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.model.DeviceMediaListItem
 import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.koin.core.parameter.parametersOf
 
 class PickDeviceMediaDialogFragment :
-    BaseFullscreenDialogFragment(PickDeviceMediaDialogFragmentBinding::inflate) {
+    BaseFullscreenDialogFragment(DialogFragmentPickDeviceMediaBinding::inflate) {
 
     private val binding by lazy {
-        getBinding() as PickDeviceMediaDialogFragmentBinding
+        getBinding() as DialogFragmentPickDeviceMediaBinding
     }
 
     private val viewModel by viewModel<PickDeviceMediaViewModel> {
diff --git a/app/src/main/java/org/futo/circles/core/picker/device/list/DeviceMediaViewHolder.kt b/app/src/main/java/org/futo/circles/core/picker/device/list/DeviceMediaViewHolder.kt
index bf79e060f..c4153a545 100644
--- a/app/src/main/java/org/futo/circles/core/picker/device/list/DeviceMediaViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/core/picker/device/list/DeviceMediaViewHolder.kt
@@ -7,8 +7,8 @@ import com.bumptech.glide.Glide
 import org.futo.circles.core.list.ViewBindingHolder
 import org.futo.circles.core.list.context
 import org.futo.circles.core.picker.device.PickDeviceMediaDataSource
-import org.futo.circles.databinding.GalleryImageListItemBinding
-import org.futo.circles.databinding.GalleryVideoListItemBinding
+import org.futo.circles.databinding.ListItemGalleryImageBinding
+import org.futo.circles.databinding.ListItemGalleryVideoBinding
 import org.futo.circles.extensions.onClick
 import org.futo.circles.model.DeviceImageListItem
 import org.futo.circles.model.DeviceMediaListItem
@@ -21,11 +21,11 @@ abstract class DeviceMediaViewHolder(view: View) : RecyclerView.ViewHolder(view)
 class DeviceImageViewHolder(
     parent: ViewGroup,
     onMediaClicked: (Int) -> Unit
-) : DeviceMediaViewHolder(inflate(parent, GalleryImageListItemBinding::inflate)) {
+) : DeviceMediaViewHolder(inflate(parent, ListItemGalleryImageBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as GalleryImageListItemBinding
+    private val binding = baseBinding as ListItemGalleryImageBinding
 
     init {
         onClick(binding.ivGalleryImage) { position -> onMediaClicked(position) }
@@ -46,11 +46,11 @@ class DeviceImageViewHolder(
 class DeviceVideoViewHolder(
     parent: ViewGroup,
     onMediaClicked: (Int) -> Unit
-) : DeviceMediaViewHolder(inflate(parent, GalleryVideoListItemBinding::inflate)) {
+) : DeviceMediaViewHolder(inflate(parent, ListItemGalleryVideoBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as GalleryVideoListItemBinding
+    private val binding = baseBinding as ListItemGalleryVideoBinding
 
     init {
         onClick(itemView) { position -> onMediaClicked(position) }
diff --git a/app/src/main/java/org/futo/circles/core/rooms/RoomsFragment.kt b/app/src/main/java/org/futo/circles/core/rooms/RoomsFragment.kt
index f417880d3..b89ed855b 100644
--- a/app/src/main/java/org/futo/circles/core/rooms/RoomsFragment.kt
+++ b/app/src/main/java/org/futo/circles/core/rooms/RoomsFragment.kt
@@ -3,15 +3,12 @@ package org.futo.circles.core.rooms
 import android.os.Bundle
 import android.view.View
 import androidx.fragment.app.Fragment
-import androidx.recyclerview.widget.DividerItemDecoration
 import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
-import org.futo.circles.core.list.BaseRvDecoration
 import org.futo.circles.core.list.RoomsDividerDecoration
-import org.futo.circles.core.rooms.list.GalleryViewHolder
 import org.futo.circles.core.rooms.list.RoomListItemViewType
 import org.futo.circles.core.rooms.list.RoomsListAdapter
-import org.futo.circles.databinding.RoomsFragmentBinding
+import org.futo.circles.databinding.FragmentRoomsBinding
 import org.futo.circles.extensions.bindToFab
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
@@ -21,10 +18,10 @@ interface HasInvites {
     fun onAcceptInviteClicked(room: RoomListItem)
 }
 
-abstract class RoomsFragment : Fragment(R.layout.rooms_fragment) {
+abstract class RoomsFragment : Fragment(R.layout.fragment_rooms) {
 
     abstract val viewModel: RoomsViewModel
-    protected val binding by viewBinding(RoomsFragmentBinding::bind)
+    protected val binding by viewBinding(FragmentRoomsBinding::bind)
     private val listAdapter by lazy {
         RoomsListAdapter(
             onRoomClicked = { roomListItem -> onRoomListItemClicked(roomListItem) },
diff --git a/app/src/main/java/org/futo/circles/core/rooms/list/RoomViewHolder.kt b/app/src/main/java/org/futo/circles/core/rooms/list/RoomViewHolder.kt
index dd06cf132..713544758 100644
--- a/app/src/main/java/org/futo/circles/core/rooms/list/RoomViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/core/rooms/list/RoomViewHolder.kt
@@ -34,11 +34,11 @@ abstract class RoomViewHolder(view: View) : RecyclerView.ViewHolder(view) {
 class JoinedGroupViewHolder(
     parent: ViewGroup,
     onGroupClicked: (Int) -> Unit
-) : RoomViewHolder(inflate(parent, JoinedGroupListItemBinding::inflate)) {
+) : RoomViewHolder(inflate(parent, ListItemJoinedGroupBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as JoinedGroupListItemBinding
+    private val binding = baseBinding as ListItemJoinedGroupBinding
 
     init {
         onClick(itemView) { position -> onGroupClicked(position) }
@@ -88,11 +88,11 @@ class JoinedGroupViewHolder(
 class InvitedGroupViewHolder(
     parent: ViewGroup,
     onInviteClicked: (Int, Boolean) -> Unit
-) : RoomViewHolder(inflate(parent, InvitedGroupListItemBinding::inflate)) {
+) : RoomViewHolder(inflate(parent, ListItemInvitedGroupBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as InvitedGroupListItemBinding
+    private val binding = baseBinding as ListItemInvitedGroupBinding
 
     init {
         onClick(binding.btnAccept) { position -> onInviteClicked(position, true) }
@@ -113,11 +113,11 @@ class InvitedGroupViewHolder(
 class JoinedCircleViewHolder(
     parent: ViewGroup,
     onCircleClicked: (Int) -> Unit
-) : RoomViewHolder(inflate(parent, JoinedCircleListItemBinding::inflate)) {
+) : RoomViewHolder(inflate(parent, ListItemJoinedCircleBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as JoinedCircleListItemBinding
+    private val binding = baseBinding as ListItemJoinedCircleBinding
 
     init {
         onClick(itemView) { position -> onCircleClicked(position) }
@@ -151,11 +151,11 @@ class JoinedCircleViewHolder(
 class InvitedCircleViewHolder(
     parent: ViewGroup,
     onInviteClicked: (Int, Boolean) -> Unit
-) : RoomViewHolder(inflate(parent, InvitedCircleListItemBinding::inflate)) {
+) : RoomViewHolder(inflate(parent, ListItemInvitedCircleBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as InvitedCircleListItemBinding
+    private val binding = baseBinding as ListItemInvitedCircleBinding
 
     init {
         onClick(binding.btnAccept) { position -> onInviteClicked(position, true) }
@@ -177,11 +177,11 @@ class InvitedCircleViewHolder(
 class GalleryViewHolder(
     parent: ViewGroup,
     onGalleryClicked: (Int) -> Unit
-) : RoomViewHolder(inflate(parent, GalleryListItemBinding::inflate)) {
+) : RoomViewHolder(inflate(parent, ListItemGalleryBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as GalleryListItemBinding
+    private val binding = baseBinding as ListItemGalleryBinding
 
     init {
         onClick(itemView) { position -> onGalleryClicked(position) }
diff --git a/app/src/main/java/org/futo/circles/extensions/FragmentExtensions.kt b/app/src/main/java/org/futo/circles/extensions/FragmentExtensions.kt
index c16aa7013..878901d93 100644
--- a/app/src/main/java/org/futo/circles/extensions/FragmentExtensions.kt
+++ b/app/src/main/java/org/futo/circles/extensions/FragmentExtensions.kt
@@ -31,7 +31,7 @@ private fun Fragment.showBar(message: String, isError: Boolean, showOnActivity:
     snackLayout.setPadding(0, 0, 0, 0)
 
     val customSnackView = layoutInflater.inflate(
-        if (isError) R.layout.error_snack_bar_view else R.layout.success_snack_bar_view,
+        if (isError) R.layout.view_error_snack_bar else R.layout.view_success_snack_bar,
         null
     ).apply {
         findViewById<TextView>(R.id.tvMessage)?.text = message
diff --git a/app/src/main/java/org/futo/circles/feature/bottom_navigation/BottomNavigationFragment.kt b/app/src/main/java/org/futo/circles/feature/bottom_navigation/BottomNavigationFragment.kt
index a2073fa7f..b1caeb522 100644
--- a/app/src/main/java/org/futo/circles/feature/bottom_navigation/BottomNavigationFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/bottom_navigation/BottomNavigationFragment.kt
@@ -9,14 +9,14 @@ import androidx.navigation.ui.AppBarConfiguration
 import androidx.navigation.ui.setupWithNavController
 import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
-import org.futo.circles.databinding.BottomNavigationFragmentBinding
+import org.futo.circles.databinding.FragmentBottomNavigationBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.setSupportActionBar
 import org.koin.androidx.viewmodel.ext.android.sharedViewModel
 
-class BottomNavigationFragment : Fragment(R.layout.bottom_navigation_fragment) {
+class BottomNavigationFragment : Fragment(R.layout.fragment_bottom_navigation) {
 
-    private val binding by viewBinding(BottomNavigationFragmentBinding::bind)
+    private val binding by viewBinding(FragmentBottomNavigationBinding::bind)
     private val systemNoticesCountViewModel by sharedViewModel<SystemNoticesCountSharedViewModel>()
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
diff --git a/app/src/main/java/org/futo/circles/feature/circles/accept_invite/AcceptCircleInviteDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/circles/accept_invite/AcceptCircleInviteDialogFragment.kt
index 8f7930b1b..dda72a46c 100644
--- a/app/src/main/java/org/futo/circles/feature/circles/accept_invite/AcceptCircleInviteDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/circles/accept_invite/AcceptCircleInviteDialogFragment.kt
@@ -7,7 +7,7 @@ import androidx.navigation.fragment.navArgs
 import androidx.recyclerview.widget.DividerItemDecoration
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
 import org.futo.circles.core.fragment.HasLoadingState
-import org.futo.circles.databinding.AcceptCircleInviteDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentAcceptCircleInviteBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
 import org.futo.circles.extensions.setIsVisible
@@ -17,7 +17,7 @@ import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.koin.core.parameter.parametersOf
 
 class AcceptCircleInviteDialogFragment :
-    BaseFullscreenDialogFragment(AcceptCircleInviteDialogFragmentBinding::inflate),
+    BaseFullscreenDialogFragment(DialogFragmentAcceptCircleInviteBinding::inflate),
     HasLoadingState {
 
     override val fragment: Fragment = this
@@ -26,7 +26,7 @@ class AcceptCircleInviteDialogFragment :
         parametersOf(args.roomId)
     }
     private val binding by lazy {
-        getBinding() as AcceptCircleInviteDialogFragmentBinding
+        getBinding() as DialogFragmentAcceptCircleInviteBinding
     }
     private val circlesInviteAdapter by lazy { CirclesInviteAdapter(viewModel::onCircleSelected) }
     private val selectedCircleAdapter by lazy { SelectedCirclesAdapter(viewModel::onCircleSelected) }
diff --git a/app/src/main/java/org/futo/circles/feature/circles/accept_invite/list/CirclesInviteViewHolder.kt b/app/src/main/java/org/futo/circles/feature/circles/accept_invite/list/CirclesInviteViewHolder.kt
index a52d6981e..0bef13d67 100644
--- a/app/src/main/java/org/futo/circles/feature/circles/accept_invite/list/CirclesInviteViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/circles/accept_invite/list/CirclesInviteViewHolder.kt
@@ -5,7 +5,7 @@ import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.R
 import org.futo.circles.core.list.ViewBindingHolder
 import org.futo.circles.core.list.context
-import org.futo.circles.databinding.AcceptCircleInviteListItemBinding
+import org.futo.circles.databinding.ListItemAcceptCircleInviteBinding
 import org.futo.circles.extensions.loadProfileIcon
 import org.futo.circles.extensions.onClick
 import org.futo.circles.extensions.setSelectableItemBackground
@@ -14,11 +14,11 @@ import org.futo.circles.model.SelectableRoomListItem
 class CirclesInviteViewHolder(
     parent: ViewGroup,
     private val onCircleClicked: (Int) -> Unit
-) : RecyclerView.ViewHolder(inflate(parent, AcceptCircleInviteListItemBinding::inflate)) {
+) : RecyclerView.ViewHolder(inflate(parent, ListItemAcceptCircleInviteBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as AcceptCircleInviteListItemBinding
+    private val binding = baseBinding as ListItemAcceptCircleInviteBinding
 
     init {
         onClick(itemView) { position -> onCircleClicked(position) }
diff --git a/app/src/main/java/org/futo/circles/feature/circles/following/FollowingDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/circles/following/FollowingDialogFragment.kt
index c87f310a8..6dd389bd8 100644
--- a/app/src/main/java/org/futo/circles/feature/circles/following/FollowingDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/circles/following/FollowingDialogFragment.kt
@@ -5,7 +5,7 @@ import android.view.View
 import androidx.navigation.fragment.navArgs
 import androidx.recyclerview.widget.DividerItemDecoration
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
-import org.futo.circles.databinding.FollowingDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentFollowingBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
 import org.futo.circles.feature.circles.following.list.FollowingAdapter
@@ -14,14 +14,14 @@ import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.koin.core.parameter.parametersOf
 
 class FollowingDialogFragment :
-    BaseFullscreenDialogFragment(FollowingDialogFragmentBinding::inflate) {
+    BaseFullscreenDialogFragment(DialogFragmentFollowingBinding::inflate) {
 
     private val args: FollowingDialogFragmentArgs by navArgs()
     private val viewModel by viewModel<FollowingViewModel> {
         parametersOf(args.roomId)
     }
     private val binding by lazy {
-        getBinding() as FollowingDialogFragmentBinding
+        getBinding() as DialogFragmentFollowingBinding
     }
     private val listAdapter by lazy {
         FollowingAdapter(onRemoveClicked = { showRemoveOptionsDialog(it) })
diff --git a/app/src/main/java/org/futo/circles/feature/circles/following/RemoveFollowingDialog.kt b/app/src/main/java/org/futo/circles/feature/circles/following/RemoveFollowingDialog.kt
index 1a8c33270..3147adf5d 100644
--- a/app/src/main/java/org/futo/circles/feature/circles/following/RemoveFollowingDialog.kt
+++ b/app/src/main/java/org/futo/circles/feature/circles/following/RemoveFollowingDialog.kt
@@ -5,7 +5,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import androidx.appcompat.app.AppCompatDialog
 import org.futo.circles.R
-import org.futo.circles.databinding.RemoveFollowingDialogBinding
+import org.futo.circles.databinding.DialogRemoveFollowingBinding
 import org.futo.circles.extensions.setIsVisible
 
 interface RemoveFollowingListener {
@@ -21,7 +21,7 @@ class RemoveFollowingDialog(
     private val listener: RemoveFollowingListener
 ) : AppCompatDialog(context) {
 
-    private val binding = RemoveFollowingDialogBinding.inflate(LayoutInflater.from(context))
+    private val binding = DialogRemoveFollowingBinding.inflate(LayoutInflater.from(context))
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
diff --git a/app/src/main/java/org/futo/circles/feature/circles/following/list/FollowingViewHolder.kt b/app/src/main/java/org/futo/circles/feature/circles/following/list/FollowingViewHolder.kt
index ba26c71f0..f6db49fdf 100644
--- a/app/src/main/java/org/futo/circles/feature/circles/following/list/FollowingViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/circles/following/list/FollowingViewHolder.kt
@@ -6,7 +6,7 @@ import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.R
 import org.futo.circles.core.list.ViewBindingHolder
 import org.futo.circles.core.list.context
-import org.futo.circles.databinding.FollowingListItemBinding
+import org.futo.circles.databinding.ListItemFollowingBinding
 import org.futo.circles.extensions.loadProfileIcon
 import org.futo.circles.extensions.onClick
 import org.futo.circles.extensions.setIsVisible
@@ -15,11 +15,11 @@ import org.futo.circles.model.FollowingListItem
 class FollowingViewHolder(
     parent: ViewGroup,
     onRemoveClicked: (Int) -> Unit
-) : RecyclerView.ViewHolder(inflate(parent, FollowingListItemBinding::inflate)) {
+) : RecyclerView.ViewHolder(inflate(parent, ListItemFollowingBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as FollowingListItemBinding
+    private val binding = baseBinding as ListItemFollowingBinding
 
     init {
         onClick(binding.ivRemove) { position -> onRemoveClicked(position) }
diff --git a/app/src/main/java/org/futo/circles/feature/log_in/EnterPassPhraseDialog.kt b/app/src/main/java/org/futo/circles/feature/log_in/EnterPassPhraseDialog.kt
index a6f9dbf41..07cb34786 100644
--- a/app/src/main/java/org/futo/circles/feature/log_in/EnterPassPhraseDialog.kt
+++ b/app/src/main/java/org/futo/circles/feature/log_in/EnterPassPhraseDialog.kt
@@ -5,7 +5,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import androidx.appcompat.app.AppCompatDialog
 import androidx.core.widget.doAfterTextChanged
-import org.futo.circles.databinding.EnterPassphraseDialogBinding
+import org.futo.circles.databinding.DialogEnterPassphraseBinding
 import org.futo.circles.extensions.getText
 
 interface EnterPassPhraseDialogListener {
@@ -16,7 +16,7 @@ interface EnterPassPhraseDialogListener {
 class EnterPassPhraseDialog(context: Context, private val listener: EnterPassPhraseDialogListener) :
     AppCompatDialog(context) {
 
-    private val binding = EnterPassphraseDialogBinding.inflate(LayoutInflater.from(context))
+    private val binding = DialogEnterPassphraseBinding.inflate(LayoutInflater.from(context))
 
 
     override fun onCreate(savedInstanceState: Bundle?) {
diff --git a/app/src/main/java/org/futo/circles/feature/log_in/LogInFragment.kt b/app/src/main/java/org/futo/circles/feature/log_in/LogInFragment.kt
index c6af4207e..ae565df01 100644
--- a/app/src/main/java/org/futo/circles/feature/log_in/LogInFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/log_in/LogInFragment.kt
@@ -8,7 +8,7 @@ import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
 import org.futo.circles.core.fragment.HasLoadingState
 import org.futo.circles.core.matrix.pass_phrase.LoadingDialog
-import org.futo.circles.databinding.LogInFragmentBinding
+import org.futo.circles.databinding.FragmentLogInBinding
 import org.futo.circles.extensions.getText
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
@@ -16,11 +16,11 @@ import org.futo.circles.extensions.showError
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
 
-class LogInFragment : Fragment(R.layout.log_in_fragment), HasLoadingState {
+class LogInFragment : Fragment(R.layout.fragment_log_in), HasLoadingState {
 
     override val fragment: Fragment = this
     private val viewModel by viewModel<LogInViewModel>()
-    private val binding by viewBinding(LogInFragmentBinding::bind)
+    private val binding by viewBinding(FragmentLogInBinding::bind)
     private val restorePassPhraseLoadingDialog by lazy { LoadingDialog(requireContext()) }
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
diff --git a/app/src/main/java/org/futo/circles/feature/notices/SystemNoticesDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/notices/SystemNoticesDialogFragment.kt
index 3feb51671..241e394f5 100644
--- a/app/src/main/java/org/futo/circles/feature/notices/SystemNoticesDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/notices/SystemNoticesDialogFragment.kt
@@ -4,14 +4,14 @@ import android.os.Bundle
 import android.view.View
 import androidx.navigation.fragment.navArgs
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
-import org.futo.circles.databinding.SystemNoticesDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentSystemNoticesBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.feature.notices.list.SystemNoticesTimelineAdapter
 import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.koin.core.parameter.parametersOf
 
 class SystemNoticesDialogFragment :
-    BaseFullscreenDialogFragment(SystemNoticesDialogFragmentBinding::inflate) {
+    BaseFullscreenDialogFragment(DialogFragmentSystemNoticesBinding::inflate) {
 
     private val args: SystemNoticesDialogFragmentArgs by navArgs()
     private val viewModel by viewModel<SystemNoticesTimelineViewModel> {
@@ -19,7 +19,7 @@ class SystemNoticesDialogFragment :
     }
 
     private val binding by lazy {
-        getBinding() as SystemNoticesDialogFragmentBinding
+        getBinding() as DialogFragmentSystemNoticesBinding
     }
 
     private val listAdapter by lazy {
diff --git a/app/src/main/java/org/futo/circles/feature/notices/list/SystemNoticesViewHolder.kt b/app/src/main/java/org/futo/circles/feature/notices/list/SystemNoticesViewHolder.kt
index b4a0a9a96..5548a141d 100644
--- a/app/src/main/java/org/futo/circles/feature/notices/list/SystemNoticesViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/notices/list/SystemNoticesViewHolder.kt
@@ -3,18 +3,18 @@ package org.futo.circles.feature.notices.list
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.core.list.ViewBindingHolder
-import org.futo.circles.databinding.SystemNoticesListItemBinding
+import org.futo.circles.databinding.ListItemSystemNoticesBinding
 import org.futo.circles.model.SystemNoticeListItem
 import java.text.DateFormat
 import java.util.*
 
 class SystemNoticesViewHolder(
     parent: ViewGroup
-) : RecyclerView.ViewHolder(inflate(parent, SystemNoticesListItemBinding::inflate)) {
+) : RecyclerView.ViewHolder(inflate(parent, ListItemSystemNoticesBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as SystemNoticesListItemBinding
+    private val binding = baseBinding as ListItemSystemNoticesBinding
 
     fun bind(data: SystemNoticeListItem) {
         with(binding) {
diff --git a/app/src/main/java/org/futo/circles/feature/people/PeopleFragment.kt b/app/src/main/java/org/futo/circles/feature/people/PeopleFragment.kt
index 909053152..057e2b14e 100644
--- a/app/src/main/java/org/futo/circles/feature/people/PeopleFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/people/PeopleFragment.kt
@@ -7,7 +7,7 @@ import androidx.navigation.fragment.findNavController
 import androidx.recyclerview.widget.DividerItemDecoration
 import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
-import org.futo.circles.databinding.PeopleFragmentBinding
+import org.futo.circles.databinding.FragmentPeopleBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
 import org.futo.circles.extensions.showDialog
@@ -15,10 +15,10 @@ import org.futo.circles.feature.people.list.PeopleAdapter
 import org.futo.circles.model.PeopleUserListItem
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
-class PeopleFragment : Fragment(R.layout.people_fragment) {
+class PeopleFragment : Fragment(R.layout.fragment_people) {
 
     private val viewModel by viewModel<PeopleViewModel>()
-    private val binding by viewBinding(PeopleFragmentBinding::bind)
+    private val binding by viewBinding(FragmentPeopleBinding::bind)
 
     private val peopleAdapter by lazy {
         PeopleAdapter(
diff --git a/app/src/main/java/org/futo/circles/feature/people/list/PeopleViewHolder.kt b/app/src/main/java/org/futo/circles/feature/people/list/PeopleViewHolder.kt
index 5cd2b8013..f0df8742f 100644
--- a/app/src/main/java/org/futo/circles/feature/people/list/PeopleViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/people/list/PeopleViewHolder.kt
@@ -5,8 +5,8 @@ import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.core.list.ViewBindingHolder
 import org.futo.circles.core.list.context
-import org.futo.circles.databinding.InviteHeaderListItemBinding
-import org.futo.circles.databinding.PeopleListItemBinding
+import org.futo.circles.databinding.ListItemInviteHeaderBinding
+import org.futo.circles.databinding.ListItemPeopleBinding
 import org.futo.circles.extensions.loadProfileIcon
 import org.futo.circles.extensions.onClick
 import org.futo.circles.extensions.setIsVisible
@@ -22,11 +22,11 @@ class PeopleUserViewHolder(
     parent: ViewGroup,
     private val onUserClicked: (Int) -> Unit,
     private val onIgnore: (Int, Boolean) -> Unit
-) : PeopleViewHolder(inflate(parent, PeopleListItemBinding::inflate)) {
+) : PeopleViewHolder(inflate(parent, ListItemPeopleBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as PeopleListItemBinding
+    private val binding = baseBinding as ListItemPeopleBinding
 
     init {
         onClick(itemView) { position -> onUserClicked(position) }
@@ -49,11 +49,11 @@ class PeopleUserViewHolder(
 
 class PeopleHeaderViewHolder(
     parent: ViewGroup,
-) : PeopleViewHolder(inflate(parent, InviteHeaderListItemBinding::inflate)) {
+) : PeopleViewHolder(inflate(parent, ListItemInviteHeaderBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as InviteHeaderListItemBinding
+    private val binding = baseBinding as ListItemInviteHeaderBinding
 
     override fun bind(data: PeopleListItem) {
         if (data !is PeopleHeaderItem) return
diff --git a/app/src/main/java/org/futo/circles/feature/people/user/UserFragment.kt b/app/src/main/java/org/futo/circles/feature/people/user/UserFragment.kt
index c1769c3d6..6d3003072 100644
--- a/app/src/main/java/org/futo/circles/feature/people/user/UserFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/people/user/UserFragment.kt
@@ -8,7 +8,7 @@ import androidx.navigation.fragment.navArgs
 import androidx.recyclerview.widget.DividerItemDecoration
 import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
-import org.futo.circles.databinding.UserFragmentBinding
+import org.futo.circles.databinding.FragmentUserBinding
 import org.futo.circles.extensions.loadProfileIcon
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.setIsVisible
@@ -19,14 +19,14 @@ import org.koin.core.parameter.parametersOf
 import org.matrix.android.sdk.api.session.user.model.User
 
 
-class UserFragment : Fragment(R.layout.user_fragment) {
+class UserFragment : Fragment(R.layout.fragment_user) {
 
     private val args: UserFragmentArgs by navArgs()
 
     private val viewModel by viewModel<UserViewModel> {
         parametersOf(args.userId)
     }
-    private val binding by viewBinding(UserFragmentBinding::bind)
+    private val binding by viewBinding(FragmentUserBinding::bind)
 
     private val usersCirclesAdapter by lazy { UsersCirclesAdapter() }
 
@@ -61,7 +61,8 @@ class UserFragment : Fragment(R.layout.user_fragment) {
             tvUserId.text = user.userId
             tvUserName.text = user.notEmptyDisplayName()
             ivUser.loadProfileIcon(user.avatarUrl, user.notEmptyDisplayName())
-            tvCirclesListTitle.text = getString(R.string.users_circles_format, user.notEmptyDisplayName())
+            tvCirclesListTitle.text =
+                getString(R.string.users_circles_format, user.notEmptyDisplayName())
             tvEmptyCirclesList.text =
                 getString(R.string.not_following_any_circles_format, user.notEmptyDisplayName())
         }
diff --git a/app/src/main/java/org/futo/circles/feature/people/user/list/UsersCircleViewHolder.kt b/app/src/main/java/org/futo/circles/feature/people/user/list/UsersCircleViewHolder.kt
index f2578847d..8ca3a83fd 100644
--- a/app/src/main/java/org/futo/circles/feature/people/user/list/UsersCircleViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/people/user/list/UsersCircleViewHolder.kt
@@ -3,17 +3,17 @@ package org.futo.circles.feature.people.user.list
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.core.list.ViewBindingHolder
-import org.futo.circles.databinding.AcceptCircleInviteListItemBinding
+import org.futo.circles.databinding.ListItemAcceptCircleInviteBinding
 import org.futo.circles.extensions.loadProfileIcon
 import org.futo.circles.model.JoinedCircleListItem
 
 class UsersCircleViewHolder(
     parent: ViewGroup
-) : RecyclerView.ViewHolder(inflate(parent, AcceptCircleInviteListItemBinding::inflate)) {
+) : RecyclerView.ViewHolder(inflate(parent, ListItemAcceptCircleInviteBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as AcceptCircleInviteListItemBinding
+    private val binding = baseBinding as ListItemAcceptCircleInviteBinding
 
 
     fun bind(data: JoinedCircleListItem) {
diff --git a/app/src/main/java/org/futo/circles/feature/photos/gallery/GalleryFragment.kt b/app/src/main/java/org/futo/circles/feature/photos/gallery/GalleryFragment.kt
index b2f4e087a..d1548371c 100644
--- a/app/src/main/java/org/futo/circles/feature/photos/gallery/GalleryFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/photos/gallery/GalleryFragment.kt
@@ -19,7 +19,7 @@ import org.futo.circles.core.picker.MediaPickerHelper
 import org.futo.circles.core.picker.MediaPickerHelper.Companion.IS_VIDEO_AVAILABLE
 import org.futo.circles.core.picker.MediaType
 import org.futo.circles.core.picker.PickGalleryMediaListener
-import org.futo.circles.databinding.GalleryFragmentBinding
+import org.futo.circles.databinding.FragmentGalleryBinding
 import org.futo.circles.extensions.*
 import org.futo.circles.feature.photos.gallery.list.GalleryContentViewHolder
 import org.futo.circles.feature.photos.gallery.list.GalleryItemsAdapter
@@ -28,7 +28,7 @@ import org.futo.circles.model.GalleryContentListItem
 import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.koin.core.parameter.parametersOf
 
-class GalleryFragment : Fragment(R.layout.gallery_fragment) {
+class GalleryFragment : Fragment(R.layout.fragment_gallery) {
 
     private val args: GalleryFragmentArgs by navArgs()
     private val viewModel by viewModel<GalleryViewModel> {
@@ -37,7 +37,7 @@ class GalleryFragment : Fragment(R.layout.gallery_fragment) {
             arguments?.getBoolean(IS_VIDEO_AVAILABLE, true) ?: true
         )
     }
-    private val binding by viewBinding(GalleryFragmentBinding::bind)
+    private val binding by viewBinding(FragmentGalleryBinding::bind)
     private val mediaPickerHelper = MediaPickerHelper(this, true)
     private val listAdapter by lazy {
         GalleryItemsAdapter(
diff --git a/app/src/main/java/org/futo/circles/feature/photos/gallery/list/GalleryImageViewHolder.kt b/app/src/main/java/org/futo/circles/feature/photos/gallery/list/GalleryImageViewHolder.kt
index 07dadcda6..4576f24a2 100644
--- a/app/src/main/java/org/futo/circles/feature/photos/gallery/list/GalleryImageViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/photos/gallery/list/GalleryImageViewHolder.kt
@@ -4,8 +4,8 @@ import android.view.View
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.core.list.ViewBindingHolder
-import org.futo.circles.databinding.GalleryImageListItemBinding
-import org.futo.circles.databinding.GalleryVideoListItemBinding
+import org.futo.circles.databinding.ListItemGalleryImageBinding
+import org.futo.circles.databinding.ListItemGalleryVideoBinding
 import org.futo.circles.extensions.loadEncryptedIntoWithAspect
 import org.futo.circles.extensions.onClick
 import org.futo.circles.model.GalleryContentListItem
@@ -19,11 +19,11 @@ abstract class GalleryContentViewHolder(view: View) : RecyclerView.ViewHolder(vi
 class GalleryImageViewHolder(
     parent: ViewGroup,
     onItemClicked: (Int) -> Unit
-) : GalleryContentViewHolder((inflate(parent, GalleryImageListItemBinding::inflate))) {
+) : GalleryContentViewHolder((inflate(parent, ListItemGalleryImageBinding::inflate))) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as GalleryImageListItemBinding
+    private val binding = baseBinding as ListItemGalleryImageBinding
 
     init {
         onClick(binding.ivGalleryImage) { position -> onItemClicked(position) }
@@ -41,11 +41,11 @@ class GalleryImageViewHolder(
 class GalleryVideoViewHolder(
     parent: ViewGroup,
     onItemClicked: (Int) -> Unit
-) : GalleryContentViewHolder((inflate(parent, GalleryVideoListItemBinding::inflate))) {
+) : GalleryContentViewHolder((inflate(parent, ListItemGalleryVideoBinding::inflate))) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as GalleryVideoListItemBinding
+    private val binding = baseBinding as ListItemGalleryVideoBinding
 
     init {
         onClick(itemView) { position -> onItemClicked(position) }
diff --git a/app/src/main/java/org/futo/circles/feature/photos/preview/MediaPreviewDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/photos/preview/MediaPreviewDialogFragment.kt
index 1ffa1a8c7..f8741a9fc 100644
--- a/app/src/main/java/org/futo/circles/feature/photos/preview/MediaPreviewDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/photos/preview/MediaPreviewDialogFragment.kt
@@ -14,7 +14,7 @@ import com.google.android.exoplayer2.MediaItem
 import com.google.android.exoplayer2.Player
 import org.futo.circles.R
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
-import org.futo.circles.databinding.MediaPreviewDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentMediaPreviewBinding
 import org.futo.circles.extensions.*
 import org.futo.circles.feature.share.ShareProvider
 import org.koin.androidx.viewmodel.ext.android.viewModel
@@ -22,14 +22,14 @@ import org.koin.core.parameter.parametersOf
 
 
 class MediaPreviewDialogFragment :
-    BaseFullscreenDialogFragment(MediaPreviewDialogFragmentBinding::inflate) {
+    BaseFullscreenDialogFragment(DialogFragmentMediaPreviewBinding::inflate) {
 
     private val args: MediaPreviewDialogFragmentArgs by navArgs()
     private val viewModel by viewModel<MediaPreviewViewModel> {
         parametersOf(args.roomId, args.eventId)
     }
 
-    private val binding by lazy { getBinding() as MediaPreviewDialogFragmentBinding }
+    private val binding by lazy { getBinding() as DialogFragmentMediaPreviewBinding }
 
     private val hideHandler = Handler(Looper.getMainLooper())
     private val hideRunnable = Runnable { hide() }
diff --git a/app/src/main/java/org/futo/circles/feature/photos/save/SaveToGalleyDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/photos/save/SaveToGalleyDialogFragment.kt
index b425e1c55..18cb5dfbb 100644
--- a/app/src/main/java/org/futo/circles/feature/photos/save/SaveToGalleyDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/photos/save/SaveToGalleyDialogFragment.kt
@@ -7,7 +7,7 @@ import androidx.navigation.fragment.navArgs
 import org.futo.circles.R
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
 import org.futo.circles.core.fragment.HasLoadingState
-import org.futo.circles.databinding.SaveToGalleryDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentSaveToGalleryBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
 import org.futo.circles.extensions.showSuccess
@@ -17,7 +17,7 @@ import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.koin.core.parameter.parametersOf
 
 class SaveToGalleyDialogFragment :
-    BaseFullscreenDialogFragment(SaveToGalleryDialogFragmentBinding::inflate),
+    BaseFullscreenDialogFragment(DialogFragmentSaveToGalleryBinding::inflate),
     HasLoadingState {
 
     override val fragment: Fragment = this
@@ -26,7 +26,7 @@ class SaveToGalleyDialogFragment :
         parametersOf(args.roomId, args.eventId)
     }
     private val binding by lazy {
-        getBinding() as SaveToGalleryDialogFragmentBinding
+        getBinding() as DialogFragmentSaveToGalleryBinding
     }
 
     private val listAdapter by lazy {
diff --git a/app/src/main/java/org/futo/circles/feature/photos/save/list/SelectGalleryViewHolder.kt b/app/src/main/java/org/futo/circles/feature/photos/save/list/SelectGalleryViewHolder.kt
index a13f0952a..1144672b5 100644
--- a/app/src/main/java/org/futo/circles/feature/photos/save/list/SelectGalleryViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/photos/save/list/SelectGalleryViewHolder.kt
@@ -4,7 +4,7 @@ import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.R
 import org.futo.circles.core.list.ViewBindingHolder
-import org.futo.circles.databinding.SelectGalleryListItemBinding
+import org.futo.circles.databinding.ListItemSelectGalleryBinding
 import org.futo.circles.extensions.loadProfileIcon
 import org.futo.circles.extensions.onClick
 import org.futo.circles.extensions.setIsVisible
@@ -13,11 +13,11 @@ import org.futo.circles.model.SelectableRoomListItem
 class SelectGalleryViewHolder(
     parent: ViewGroup,
     onGalleryClicked: (Int) -> Unit
-) : RecyclerView.ViewHolder(inflate(parent, SelectGalleryListItemBinding::inflate)) {
+) : RecyclerView.ViewHolder(inflate(parent, ListItemSelectGalleryBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as SelectGalleryListItemBinding
+    private val binding = baseBinding as ListItemSelectGalleryBinding
 
     init {
         onClick(binding.baseGalleryItem.root) { position -> onGalleryClicked(position) }
diff --git a/app/src/main/java/org/futo/circles/feature/room/create_room/CreateRoomDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/room/create_room/CreateRoomDialogFragment.kt
index a13c5531b..bac350277 100644
--- a/app/src/main/java/org/futo/circles/feature/room/create_room/CreateRoomDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/room/create_room/CreateRoomDialogFragment.kt
@@ -9,7 +9,7 @@ import org.futo.circles.R
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
 import org.futo.circles.core.fragment.HasLoadingState
 import org.futo.circles.core.picker.MediaPickerHelper
-import org.futo.circles.databinding.CreateRoomDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentCreateRoomBinding
 import org.futo.circles.extensions.getText
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
@@ -19,7 +19,7 @@ import org.futo.circles.model.CircleRoomTypeArg
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
 class CreateRoomDialogFragment :
-    BaseFullscreenDialogFragment(CreateRoomDialogFragmentBinding::inflate), HasLoadingState {
+    BaseFullscreenDialogFragment(DialogFragmentCreateRoomBinding::inflate), HasLoadingState {
 
     override val fragment: Fragment = this
     private val viewModel by viewModel<CreateRoomViewModel>()
@@ -27,7 +27,7 @@ class CreateRoomDialogFragment :
     private val args: CreateRoomDialogFragmentArgs by navArgs()
 
     private val binding by lazy {
-        getBinding() as CreateRoomDialogFragmentBinding
+        getBinding() as DialogFragmentCreateRoomBinding
     }
 
     private var selectedUsersFragment: SelectUsersFragment? = null
diff --git a/app/src/main/java/org/futo/circles/feature/room/invite/InviteMembersDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/room/invite/InviteMembersDialogFragment.kt
index c345f3ecc..3a45d02d3 100644
--- a/app/src/main/java/org/futo/circles/feature/room/invite/InviteMembersDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/room/invite/InviteMembersDialogFragment.kt
@@ -7,7 +7,7 @@ import androidx.navigation.fragment.navArgs
 import org.futo.circles.R
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
 import org.futo.circles.core.fragment.HasLoadingState
-import org.futo.circles.databinding.InviteMembersDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentInviteMembersBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
 import org.futo.circles.extensions.showSuccess
@@ -19,7 +19,7 @@ import org.koin.core.parameter.parametersOf
 
 
 class InviteMembersDialogFragment :
-    BaseFullscreenDialogFragment(InviteMembersDialogFragmentBinding::inflate), SelectUsersListener,
+    BaseFullscreenDialogFragment(DialogFragmentInviteMembersBinding::inflate), SelectUsersListener,
     HasLoadingState {
 
     override val fragment: Fragment = this
@@ -27,7 +27,7 @@ class InviteMembersDialogFragment :
     private val viewModel by viewModel<InviteMembersViewModel> { parametersOf(args.roomId) }
 
     private val binding by lazy {
-        getBinding() as InviteMembersDialogFragmentBinding
+        getBinding() as DialogFragmentInviteMembersBinding
     }
 
     private val selectedUsersFragment by lazy { SelectUsersFragment.create(args.roomId) }
diff --git a/app/src/main/java/org/futo/circles/feature/room/manage_members/ManageMembersDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/room/manage_members/ManageMembersDialogFragment.kt
index 3b15bf705..838d5bc48 100644
--- a/app/src/main/java/org/futo/circles/feature/room/manage_members/ManageMembersDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/room/manage_members/ManageMembersDialogFragment.kt
@@ -8,7 +8,7 @@ import androidx.navigation.fragment.navArgs
 import androidx.recyclerview.widget.DividerItemDecoration
 import org.futo.circles.R
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
-import org.futo.circles.databinding.ManageMembersDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentManageMembersBinding
 import org.futo.circles.extensions.*
 import org.futo.circles.feature.room.manage_members.change_role.ChangeAccessLevelListener
 import org.futo.circles.feature.room.manage_members.list.GroupMembersListAdapter
@@ -19,7 +19,7 @@ import org.matrix.android.sdk.api.session.room.model.PowerLevelsContent
 
 
 class ManageMembersDialogFragment :
-    BaseFullscreenDialogFragment(ManageMembersDialogFragmentBinding::inflate),
+    BaseFullscreenDialogFragment(DialogFragmentManageMembersBinding::inflate),
     ManageMembersOptionsListener, ChangeAccessLevelListener {
 
     private val args: ManageMembersDialogFragmentArgs by navArgs()
@@ -36,7 +36,7 @@ class ManageMembersDialogFragment :
     }
 
     private val binding by lazy {
-        getBinding() as ManageMembersDialogFragmentBinding
+        getBinding() as DialogFragmentManageMembersBinding
     }
 
 
diff --git a/app/src/main/java/org/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelBottomSheet.kt b/app/src/main/java/org/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelBottomSheet.kt
index 22f137fc8..e73a2dd09 100644
--- a/app/src/main/java/org/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelBottomSheet.kt
+++ b/app/src/main/java/org/futo/circles/feature/room/manage_members/change_role/ChangeAccessLevelBottomSheet.kt
@@ -8,17 +8,17 @@ import android.view.ViewGroup
 import android.view.WindowManager
 import androidx.navigation.fragment.navArgs
 import androidx.recyclerview.widget.DividerItemDecoration
-import org.futo.circles.databinding.ChangeAccessLevelBottomSheetBinding
+import com.google.android.material.bottomsheet.BottomSheetDialogFragment
+import org.futo.circles.databinding.BottomSheetChangeAccessLevelBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.feature.room.manage_members.change_role.list.ChangeAccessLevelAdapter
 import org.futo.circles.model.AccessLevelListItem
-import com.google.android.material.bottomsheet.BottomSheetDialogFragment
 import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.koin.core.parameter.parametersOf
 
 class ChangeAccessLevelBottomSheet : BottomSheetDialogFragment() {
 
-    private var binding: ChangeAccessLevelBottomSheetBinding? = null
+    private var binding: BottomSheetChangeAccessLevelBinding? = null
     private val args: ChangeAccessLevelBottomSheetArgs by navArgs()
     private val viewModel by viewModel<ChangeAccessLevelViewModel> {
         parametersOf(args.levelValue, args.myUserLevelValue)
@@ -35,7 +35,7 @@ class ChangeAccessLevelBottomSheet : BottomSheetDialogFragment() {
     override fun onCreateView(
         inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
     ): View? {
-        binding = ChangeAccessLevelBottomSheetBinding.inflate(inflater, container, false)
+        binding = BottomSheetChangeAccessLevelBinding.inflate(inflater, container, false)
         dialog?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN)
         return binding?.root
     }
diff --git a/app/src/main/java/org/futo/circles/feature/room/manage_members/change_role/list/AccessLevelViewHolder.kt b/app/src/main/java/org/futo/circles/feature/room/manage_members/change_role/list/AccessLevelViewHolder.kt
index 65c6a2269..ebeeadfde 100644
--- a/app/src/main/java/org/futo/circles/feature/room/manage_members/change_role/list/AccessLevelViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/room/manage_members/change_role/list/AccessLevelViewHolder.kt
@@ -3,7 +3,7 @@ package org.futo.circles.feature.room.manage_members.change_role.list
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.core.list.ViewBindingHolder
-import org.futo.circles.databinding.AccessLevelListItemBinding
+import org.futo.circles.databinding.ListItemAccessLevelBinding
 import org.futo.circles.extensions.getRoleNameResId
 import org.futo.circles.extensions.onClick
 import org.futo.circles.model.AccessLevelListItem
@@ -11,11 +11,11 @@ import org.futo.circles.model.AccessLevelListItem
 class AccessLevelViewHolder(
     parent: ViewGroup,
     onRoleClicked: (Int) -> Unit
-) : RecyclerView.ViewHolder(inflate(parent, AccessLevelListItemBinding::inflate)) {
+) : RecyclerView.ViewHolder(inflate(parent, ListItemAccessLevelBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as AccessLevelListItemBinding
+    private val binding = baseBinding as ListItemAccessLevelBinding
 
     init {
         onClick(itemView) { position -> onRoleClicked(position) }
diff --git a/app/src/main/java/org/futo/circles/feature/room/manage_members/list/MemberViewHolder.kt b/app/src/main/java/org/futo/circles/feature/room/manage_members/list/MemberViewHolder.kt
index 4865fdb3f..1711e781a 100644
--- a/app/src/main/java/org/futo/circles/feature/room/manage_members/list/MemberViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/room/manage_members/list/MemberViewHolder.kt
@@ -6,9 +6,9 @@ import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.R
 import org.futo.circles.core.list.ViewBindingHolder
 import org.futo.circles.core.list.context
-import org.futo.circles.databinding.InviteHeaderListItemBinding
-import org.futo.circles.databinding.InvitedUserListItemBinding
-import org.futo.circles.databinding.MemberListItemBinding
+import org.futo.circles.databinding.ListItemInviteHeaderBinding
+import org.futo.circles.databinding.ListItemInvitedUserBinding
+import org.futo.circles.databinding.ListItemMemberBinding
 import org.futo.circles.extensions.*
 import org.futo.circles.model.GroupMemberListItem
 import org.futo.circles.model.InvitedUserListItem
@@ -25,11 +25,11 @@ class MemberViewHolder(
     parent: ViewGroup,
     private val onUserClicked: (Int) -> Unit,
     private val manageMembersListener: ManageMembersOptionsListener
-) : ManageMembersViewHolder(inflate(parent, MemberListItemBinding::inflate)) {
+) : ManageMembersViewHolder(inflate(parent, ListItemMemberBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as MemberListItemBinding
+    private val binding = baseBinding as ListItemMemberBinding
 
     override fun bind(data: ManageMembersListItem) {
         if (data !is GroupMemberListItem) return
@@ -63,11 +63,11 @@ class MemberViewHolder(
 
 class ManageMembersHeaderViewHolder(
     parent: ViewGroup,
-) : ManageMembersViewHolder(inflate(parent, InviteHeaderListItemBinding::inflate)) {
+) : ManageMembersViewHolder(inflate(parent, ListItemInviteHeaderBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as InviteHeaderListItemBinding
+    private val binding = baseBinding as ListItemInviteHeaderBinding
 
     override fun bind(data: ManageMembersListItem) {
         if (data !is ManageMembersHeaderListItem) return
@@ -78,11 +78,11 @@ class ManageMembersHeaderViewHolder(
 class InvitedUserViewHolder(
     parent: ViewGroup,
     private val onCancelInvitation: (Int) -> Unit,
-) : ManageMembersViewHolder(inflate(parent, InvitedUserListItemBinding::inflate)) {
+) : ManageMembersViewHolder(inflate(parent, ListItemInvitedUserBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as InvitedUserListItemBinding
+    private val binding = baseBinding as ListItemInvitedUserBinding
 
     override fun bind(data: ManageMembersListItem) {
         if (data !is InvitedUserListItem) return
diff --git a/app/src/main/java/org/futo/circles/feature/room/select_users/SelectUsersFragment.kt b/app/src/main/java/org/futo/circles/feature/room/select_users/SelectUsersFragment.kt
index 1b7afaa6a..c65a99a54 100644
--- a/app/src/main/java/org/futo/circles/feature/room/select_users/SelectUsersFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/room/select_users/SelectUsersFragment.kt
@@ -7,7 +7,7 @@ import androidx.core.os.bundleOf
 import androidx.fragment.app.Fragment
 import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
-import org.futo.circles.databinding.SelectUsersFragmentBinding
+import org.futo.circles.databinding.FragmentSelectUsersBinding
 import org.futo.circles.extensions.*
 import org.futo.circles.feature.room.select_users.list.search.InviteMembersSearchListAdapter
 import org.futo.circles.feature.room.select_users.list.selected.SelectedUsersListAdapter
@@ -19,14 +19,14 @@ interface SelectUsersListener {
     fun onUserSelected(users: List<UserListItem>)
 }
 
-class SelectUsersFragment : Fragment(R.layout.select_users_fragment) {
+class SelectUsersFragment : Fragment(R.layout.fragment_select_users) {
 
     private val roomId: String? by lazy {
         arguments?.getString(ROOM_ID)
     }
 
     private val viewModel by viewModel<SelectUsersViewModel> { parametersOf(roomId) }
-    private val binding by viewBinding(SelectUsersFragmentBinding::bind)
+    private val binding by viewBinding(FragmentSelectUsersBinding::bind)
 
     private val searchListAdapter by lazy { InviteMembersSearchListAdapter(viewModel::onUserSelected) }
     private val selectedUsersListAdapter by lazy { SelectedUsersListAdapter(viewModel::onUserSelected) }
diff --git a/app/src/main/java/org/futo/circles/feature/room/select_users/list/search/InviteMemberViewHolder.kt b/app/src/main/java/org/futo/circles/feature/room/select_users/list/search/InviteMemberViewHolder.kt
index f426bc199..00d3ec601 100644
--- a/app/src/main/java/org/futo/circles/feature/room/select_users/list/search/InviteMemberViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/room/select_users/list/search/InviteMemberViewHolder.kt
@@ -6,16 +6,16 @@ import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.R
 import org.futo.circles.core.list.ViewBindingHolder
 import org.futo.circles.core.list.context
-import org.futo.circles.databinding.InviteHeaderListItemBinding
-import org.futo.circles.databinding.NoResultsListItemBinding
-import org.futo.circles.databinding.UserListItemBinding
+import org.futo.circles.databinding.ListItemInviteHeaderBinding
+import org.futo.circles.databinding.ListItemNoResultsBinding
+import org.futo.circles.databinding.ListItemUserBinding
 import org.futo.circles.extensions.loadProfileIcon
 import org.futo.circles.extensions.onClick
 import org.futo.circles.extensions.setSelectableItemBackground
-import org.futo.circles.model.UserListItem
 import org.futo.circles.model.HeaderItem
 import org.futo.circles.model.InviteMemberListItem
 import org.futo.circles.model.NoResultsItem
+import org.futo.circles.model.UserListItem
 
 abstract class InviteMemberViewHolder(view: View) : RecyclerView.ViewHolder(view) {
     abstract fun bind(data: InviteMemberListItem)
@@ -24,11 +24,11 @@ abstract class InviteMemberViewHolder(view: View) : RecyclerView.ViewHolder(view
 class UserViewHolder(
     parent: ViewGroup,
     private val onUserClicked: (Int) -> Unit
-) : InviteMemberViewHolder(inflate(parent, UserListItemBinding::inflate)) {
+) : InviteMemberViewHolder(inflate(parent, ListItemUserBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as UserListItemBinding
+    private val binding = baseBinding as ListItemUserBinding
 
     init {
         onClick(itemView) { position -> onUserClicked(position) }
@@ -57,11 +57,11 @@ class UserViewHolder(
 
 class HeaderViewHolder(
     parent: ViewGroup,
-) : InviteMemberViewHolder(inflate(parent, InviteHeaderListItemBinding::inflate)) {
+) : InviteMemberViewHolder(inflate(parent, ListItemInviteHeaderBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as InviteHeaderListItemBinding
+    private val binding = baseBinding as ListItemInviteHeaderBinding
 
     override fun bind(data: InviteMemberListItem) {
         if (data !is HeaderItem) return
@@ -72,11 +72,11 @@ class HeaderViewHolder(
 
 class NoResultViewHolder(
     parent: ViewGroup,
-) : InviteMemberViewHolder(inflate(parent, NoResultsListItemBinding::inflate)) {
+) : InviteMemberViewHolder(inflate(parent, ListItemNoResultsBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as NoResultsListItemBinding
+    private val binding = baseBinding as ListItemNoResultsBinding
 
     override fun bind(data: InviteMemberListItem) {
         if (data !is NoResultsItem) return
diff --git a/app/src/main/java/org/futo/circles/feature/room/update_room/UpdateRoomDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/room/update_room/UpdateRoomDialogFragment.kt
index f0166e0c3..49422d83c 100644
--- a/app/src/main/java/org/futo/circles/feature/room/update_room/UpdateRoomDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/room/update_room/UpdateRoomDialogFragment.kt
@@ -6,10 +6,10 @@ import androidx.core.widget.doAfterTextChanged
 import androidx.fragment.app.Fragment
 import androidx.navigation.fragment.navArgs
 import org.futo.circles.R
-import org.futo.circles.core.picker.MediaPickerHelper
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
 import org.futo.circles.core.fragment.HasLoadingState
-import org.futo.circles.databinding.UpdateRoomDialogFragmentBinding
+import org.futo.circles.core.picker.MediaPickerHelper
+import org.futo.circles.databinding.DialogFragmentUpdateRoomBinding
 import org.futo.circles.extensions.*
 import org.futo.circles.model.CircleRoomTypeArg
 import org.koin.androidx.viewmodel.ext.android.viewModel
@@ -17,7 +17,7 @@ import org.koin.core.parameter.parametersOf
 import org.matrix.android.sdk.api.session.room.model.RoomSummary
 
 class UpdateRoomDialogFragment :
-    BaseFullscreenDialogFragment(UpdateRoomDialogFragmentBinding::inflate), HasLoadingState {
+    BaseFullscreenDialogFragment(DialogFragmentUpdateRoomBinding::inflate), HasLoadingState {
 
     override val fragment: Fragment = this
     private val args: UpdateRoomDialogFragmentArgs by navArgs()
@@ -25,7 +25,7 @@ class UpdateRoomDialogFragment :
     private val mediaPickerHelper = MediaPickerHelper(this)
 
     private val binding by lazy {
-        getBinding() as UpdateRoomDialogFragmentBinding
+        getBinding() as DialogFragmentUpdateRoomBinding
     }
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
diff --git a/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
index cb1ade811..baf1404aa 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
@@ -10,7 +10,7 @@ import by.kirich1409.viewbindingdelegate.viewBinding
 import com.amulyakhare.textdrawable.TextDrawable
 import org.futo.circles.R
 import org.futo.circles.core.matrix.pass_phrase.LoadingDialog
-import org.futo.circles.databinding.SettingsFragmentBinding
+import org.futo.circles.databinding.FragmentSettingsBinding
 import org.futo.circles.extensions.*
 import org.futo.circles.feature.bottom_navigation.BottomNavigationFragmentDirections
 import org.futo.circles.feature.bottom_navigation.SystemNoticesCountSharedViewModel
@@ -18,9 +18,9 @@ import org.futo.circles.feature.settings.confirm_auth.ConfirmAuthDialog
 import org.koin.androidx.viewmodel.ext.android.sharedViewModel
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
-class SettingsFragment : Fragment(R.layout.settings_fragment) {
+class SettingsFragment : Fragment(R.layout.fragment_settings) {
 
-    private val binding by viewBinding(SettingsFragmentBinding::bind)
+    private val binding by viewBinding(FragmentSettingsBinding::bind)
     private val viewModel by viewModel<SettingsViewModel>()
     private val systemNoticesCountViewModel by sharedViewModel<SystemNoticesCountSharedViewModel>()
     private val loadingDialog by lazy { LoadingDialog(requireContext()) }
diff --git a/app/src/main/java/org/futo/circles/feature/settings/active_sessions/ActiveSessionsDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/settings/active_sessions/ActiveSessionsDialogFragment.kt
index 3e4afbca8..d5945b70a 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/active_sessions/ActiveSessionsDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/active_sessions/ActiveSessionsDialogFragment.kt
@@ -5,7 +5,7 @@ import android.view.View
 import androidx.recyclerview.widget.DividerItemDecoration
 import org.futo.circles.R
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
-import org.futo.circles.databinding.ActiveSessionsDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentActiveSessionsBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
 import org.futo.circles.extensions.showError
@@ -15,12 +15,12 @@ import org.futo.circles.feature.settings.confirm_auth.ConfirmAuthDialog
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
 class ActiveSessionsDialogFragment :
-    BaseFullscreenDialogFragment(ActiveSessionsDialogFragmentBinding::inflate) {
+    BaseFullscreenDialogFragment(DialogFragmentActiveSessionsBinding::inflate) {
 
     private val viewModel by viewModel<ActiveSessionsViewModel>()
 
     private val binding by lazy {
-        getBinding() as ActiveSessionsDialogFragmentBinding
+        getBinding() as DialogFragmentActiveSessionsBinding
     }
 
     private var confirmAuthDialog: ConfirmAuthDialog? = null
diff --git a/app/src/main/java/org/futo/circles/feature/settings/active_sessions/list/ActiveSessionsViewHolder.kt b/app/src/main/java/org/futo/circles/feature/settings/active_sessions/list/ActiveSessionsViewHolder.kt
index 9312b7531..077a30159 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/active_sessions/list/ActiveSessionsViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/active_sessions/list/ActiveSessionsViewHolder.kt
@@ -5,8 +5,8 @@ import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.R
 import org.futo.circles.core.list.ViewBindingHolder
-import org.futo.circles.databinding.ActiveSessionListItemBinding
-import org.futo.circles.databinding.InviteHeaderListItemBinding
+import org.futo.circles.databinding.ListItemActiveSessionBinding
+import org.futo.circles.databinding.ListItemInviteHeaderBinding
 import org.futo.circles.extensions.setIsVisible
 import org.futo.circles.model.ActiveSession
 import org.futo.circles.model.ActiveSessionListItem
@@ -19,11 +19,11 @@ abstract class ActiveSessionsViewHolder(view: View) : RecyclerView.ViewHolder(vi
 class SessionItemViewHolder(
     parent: ViewGroup,
     private val activeSessionClickListener: ActiveSessionClickListener
-) : ActiveSessionsViewHolder(inflate(parent, ActiveSessionListItemBinding::inflate)) {
+) : ActiveSessionsViewHolder(inflate(parent, ListItemActiveSessionBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as ActiveSessionListItemBinding
+    private val binding = baseBinding as ListItemActiveSessionBinding
 
     override fun bind(data: ActiveSessionListItem) {
         if (data !is ActiveSession) return
@@ -51,11 +51,11 @@ class SessionItemViewHolder(
 
 class SessionHeaderViewHolder(
     parent: ViewGroup,
-) : ActiveSessionsViewHolder(inflate(parent, InviteHeaderListItemBinding::inflate)) {
+) : ActiveSessionsViewHolder(inflate(parent, ListItemInviteHeaderBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as InviteHeaderListItemBinding
+    private val binding = baseBinding as ListItemInviteHeaderBinding
 
     override fun bind(data: ActiveSessionListItem) {
         if (data !is SessionHeader) return
diff --git a/app/src/main/java/org/futo/circles/feature/settings/change_password/ChangePasswordDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/settings/change_password/ChangePasswordDialogFragment.kt
index bb09b3121..e7d9c0214 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/change_password/ChangePasswordDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/change_password/ChangePasswordDialogFragment.kt
@@ -8,19 +8,19 @@ import org.futo.circles.R
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
 import org.futo.circles.core.fragment.HasLoadingState
 import org.futo.circles.core.matrix.pass_phrase.LoadingDialog
-import org.futo.circles.databinding.ChangePasswordDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentChangePasswordBinding
 import org.futo.circles.extensions.*
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
 class ChangePasswordDialogFragment :
-    BaseFullscreenDialogFragment(ChangePasswordDialogFragmentBinding::inflate), HasLoadingState {
+    BaseFullscreenDialogFragment(DialogFragmentChangePasswordBinding::inflate), HasLoadingState {
 
     override val fragment: Fragment = this
     private val viewModel by viewModel<ChangePasswordViewModel>()
     private val createPassPhraseLoadingDialog by lazy { LoadingDialog(requireContext()) }
 
     private val binding by lazy {
-        getBinding() as ChangePasswordDialogFragmentBinding
+        getBinding() as DialogFragmentChangePasswordBinding
     }
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
diff --git a/app/src/main/java/org/futo/circles/feature/settings/confirm_auth/ConfirmAuthDialog.kt b/app/src/main/java/org/futo/circles/feature/settings/confirm_auth/ConfirmAuthDialog.kt
index ea5c63a47..b75f437fe 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/confirm_auth/ConfirmAuthDialog.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/confirm_auth/ConfirmAuthDialog.kt
@@ -6,7 +6,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import androidx.appcompat.app.AppCompatDialog
 import androidx.core.widget.doAfterTextChanged
-import org.futo.circles.databinding.ConfirmAuthDialogBinding
+import org.futo.circles.databinding.DialogConfirmAuthBinding
 import org.futo.circles.extensions.getText
 
 class ConfirmAuthDialog(
@@ -16,7 +16,7 @@ class ConfirmAuthDialog(
 ) :
     AppCompatDialog(context) {
 
-    private val binding = ConfirmAuthDialogBinding.inflate(LayoutInflater.from(context))
+    private val binding = DialogConfirmAuthBinding.inflate(LayoutInflater.from(context))
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
diff --git a/app/src/main/java/org/futo/circles/feature/settings/edit_profile/EditProfileDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/settings/edit_profile/EditProfileDialogFragment.kt
index 555a67454..9c4772b34 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/edit_profile/EditProfileDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/edit_profile/EditProfileDialogFragment.kt
@@ -5,24 +5,24 @@ import android.view.View
 import androidx.core.widget.doAfterTextChanged
 import androidx.fragment.app.Fragment
 import org.futo.circles.R
-import org.futo.circles.core.picker.MediaPickerHelper
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
 import org.futo.circles.core.fragment.HasLoadingState
-import org.futo.circles.databinding.EditProfileDialogFragmentBinding
+import org.futo.circles.core.picker.MediaPickerHelper
+import org.futo.circles.databinding.DialogFragmentEditProfileBinding
 import org.futo.circles.extensions.*
 import org.futo.circles.mapping.notEmptyDisplayName
 import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.matrix.android.sdk.api.session.user.model.User
 
 class EditProfileDialogFragment :
-    BaseFullscreenDialogFragment(EditProfileDialogFragmentBinding::inflate), HasLoadingState {
+    BaseFullscreenDialogFragment(DialogFragmentEditProfileBinding::inflate), HasLoadingState {
 
     override val fragment: Fragment = this
     private val viewModel by viewModel<EditProfileViewModel>()
     private val mediaPickerHelper = MediaPickerHelper(this)
 
     private val binding by lazy {
-        getBinding() as EditProfileDialogFragmentBinding
+        getBinding() as DialogFragmentEditProfileBinding
     }
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/SignUpFragment.kt b/app/src/main/java/org/futo/circles/feature/sign_up/SignUpFragment.kt
index ffa334408..e1948b5be 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/SignUpFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/SignUpFragment.kt
@@ -11,17 +11,17 @@ import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
 import org.futo.circles.core.fragment.BackPressOwner
 import org.futo.circles.core.matrix.pass_phrase.LoadingDialog
-import org.futo.circles.databinding.SignUpFragmentBinding
+import org.futo.circles.databinding.FragmentSignUpBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
 import org.futo.circles.extensions.showDialog
 import org.futo.circles.extensions.showError
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
-class SignUpFragment : Fragment(R.layout.sign_up_fragment), BackPressOwner {
+class SignUpFragment : Fragment(R.layout.fragment_sign_up), BackPressOwner {
 
     private val viewModel by viewModel<SignUpViewModel>()
-    private val binding by viewBinding(SignUpFragmentBinding::bind)
+    private val binding by viewBinding(FragmentSignUpBinding::bind)
     private val createPassPhraseLoadingDialog by lazy { LoadingDialog(requireContext()) }
 
     private val childNavHostFragment by lazy {
diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/setup_circles/SetupCirclesFragment.kt b/app/src/main/java/org/futo/circles/feature/sign_up/setup_circles/SetupCirclesFragment.kt
index 6e2c9b0cd..231932cae 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/setup_circles/SetupCirclesFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/setup_circles/SetupCirclesFragment.kt
@@ -9,7 +9,7 @@ import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
 import org.futo.circles.core.fragment.HasLoadingState
 import org.futo.circles.core.picker.MediaPickerHelper
-import org.futo.circles.databinding.SetupCirclesFragmentBinding
+import org.futo.circles.databinding.FragmentSetupCirclesBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
 import org.futo.circles.extensions.showSuccess
@@ -17,11 +17,11 @@ import org.futo.circles.feature.sign_up.setup_circles.list.SetupCirclesAdapter
 import org.futo.circles.model.SetupCircleListItem
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
-class SetupCirclesFragment : Fragment(R.layout.setup_circles_fragment), HasLoadingState {
+class SetupCirclesFragment : Fragment(R.layout.fragment_setup_circles), HasLoadingState {
 
     override val fragment: Fragment = this
     private val viewModel by viewModel<SetupCirclesViewModel>()
-    private val binding by viewBinding(SetupCirclesFragmentBinding::bind)
+    private val binding by viewBinding(FragmentSetupCirclesBinding::bind)
     private val listAdapter by lazy { SetupCirclesAdapter(::onCircleListItemClicked) }
     private val mediaPickerHelper = MediaPickerHelper(this)
 
diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/setup_circles/list/SetupCirclesViewHolder.kt b/app/src/main/java/org/futo/circles/feature/sign_up/setup_circles/list/SetupCirclesViewHolder.kt
index fc04ac21f..a53abe8e9 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/setup_circles/list/SetupCirclesViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/setup_circles/list/SetupCirclesViewHolder.kt
@@ -4,18 +4,18 @@ import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.R
 import org.futo.circles.core.list.ViewBindingHolder
-import org.futo.circles.databinding.SetupCircleListItemBinding
+import org.futo.circles.databinding.ListItemSetupCircleBinding
 import org.futo.circles.extensions.onClick
 import org.futo.circles.model.SetupCircleListItem
 
 class SetupCirclesViewHolder(
     parent: ViewGroup,
     onCircleClicked: (Int) -> Unit
-) : RecyclerView.ViewHolder(inflate(parent, SetupCircleListItemBinding::inflate)) {
+) : RecyclerView.ViewHolder(inflate(parent, ListItemSetupCircleBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as SetupCircleListItemBinding
+    private val binding = baseBinding as ListItemSetupCircleBinding
 
     init {
         onClick(itemView) { position -> onCircleClicked(position) }
diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/setup_profile/SetupProfileFragment.kt b/app/src/main/java/org/futo/circles/feature/sign_up/setup_profile/SetupProfileFragment.kt
index 825e06ad1..356636184 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/setup_profile/SetupProfileFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/setup_profile/SetupProfileFragment.kt
@@ -9,17 +9,17 @@ import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
 import org.futo.circles.core.fragment.HasLoadingState
 import org.futo.circles.core.picker.MediaPickerHelper
-import org.futo.circles.databinding.SetupProfileFragmentBinding
+import org.futo.circles.databinding.FragmentSetupProfileBinding
 import org.futo.circles.extensions.getText
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
 import org.futo.circles.extensions.showDialog
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
-class SetupProfileFragment : Fragment(R.layout.setup_profile_fragment), HasLoadingState {
+class SetupProfileFragment : Fragment(R.layout.fragment_setup_profile), HasLoadingState {
 
     override val fragment: Fragment = this
-    private val binding by viewBinding(SetupProfileFragmentBinding::bind)
+    private val binding by viewBinding(FragmentSetupProfileBinding::bind)
     private val viewModel by viewModel<SetupProfileViewModel>()
     private val mediaPickerHelper = MediaPickerHelper(this)
 
diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/sign_up_type/SelectSignUpTypeFragment.kt b/app/src/main/java/org/futo/circles/feature/sign_up/sign_up_type/SelectSignUpTypeFragment.kt
index e77d0dfb4..a2e156551 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/sign_up_type/SelectSignUpTypeFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/sign_up_type/SelectSignUpTypeFragment.kt
@@ -8,7 +8,7 @@ import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.BuildConfig
 import org.futo.circles.R
 import org.futo.circles.core.fragment.HasLoadingState
-import org.futo.circles.databinding.SelectSignUpTypeFragmentBinding
+import org.futo.circles.databinding.FragmentSelectSignUpTypeBinding
 import org.futo.circles.extensions.getText
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
@@ -16,11 +16,11 @@ import org.futo.circles.extensions.setIsVisible
 import org.futo.circles.subscriptions.SubscriptionManagerProvider
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
-class SelectSignUpTypeFragment : Fragment(R.layout.select_sign_up_type_fragment), HasLoadingState {
+class SelectSignUpTypeFragment : Fragment(R.layout.fragment_select_sign_up_type), HasLoadingState {
 
     override val fragment: Fragment = this
 
-    private val binding by viewBinding(SelectSignUpTypeFragmentBinding::bind)
+    private val binding by viewBinding(FragmentSelectSignUpTypeBinding::bind)
     private val viewModel by viewModel<SelectSignUpTypeViewModel>()
 
     private val subscriptionManager by lazy {
diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/SubscriptionStageFragment.kt b/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/SubscriptionStageFragment.kt
index f03bf2ab4..4ec895c5a 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/SubscriptionStageFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/SubscriptionStageFragment.kt
@@ -5,7 +5,7 @@ import android.view.View
 import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
 import org.futo.circles.core.fragment.ParentBackPressOwnerFragment
-import org.futo.circles.databinding.SubscriptionStageFragmentBinding
+import org.futo.circles.databinding.FragmentSubscriptionStageBinding
 import org.futo.circles.extensions.observeResponse
 import org.futo.circles.extensions.showError
 import org.futo.circles.feature.sign_up.subscription_stage.list.SubscriptionsAdapter
@@ -14,9 +14,9 @@ import org.futo.circles.subscriptions.SubscriptionManagerProvider
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
 class SubscriptionStageFragment :
-    ParentBackPressOwnerFragment(R.layout.subscription_stage_fragment) {
+    ParentBackPressOwnerFragment(R.layout.fragment_subscription_stage) {
 
-    private val binding by viewBinding(SubscriptionStageFragmentBinding::bind)
+    private val binding by viewBinding(FragmentSubscriptionStageBinding::bind)
     private val viewModel by viewModel<SubscriptionStageViewModel>()
 
     private val subscriptionManager by lazy {
diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/list/SubscriptionViewHolder.kt b/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/list/SubscriptionViewHolder.kt
index d8c4f7d89..1395c5c19 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/list/SubscriptionViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/list/SubscriptionViewHolder.kt
@@ -3,7 +3,7 @@ package org.futo.circles.feature.sign_up.subscription_stage.list
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.core.list.ViewBindingHolder
-import org.futo.circles.databinding.SubscriptionListItemBinding
+import org.futo.circles.databinding.ListItemSubscriptionBinding
 import org.futo.circles.extensions.onClick
 import org.futo.circles.model.SubscriptionListItem
 
@@ -11,11 +11,11 @@ import org.futo.circles.model.SubscriptionListItem
 class SubscriptionViewHolder(
     parent: ViewGroup,
     private val onSubscriptionClicked: (Int) -> Unit
-) : RecyclerView.ViewHolder(inflate(parent, SubscriptionListItemBinding::inflate)) {
+) : RecyclerView.ViewHolder(inflate(parent, ListItemSubscriptionBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as SubscriptionListItemBinding
+    private val binding = baseBinding as ListItemSubscriptionBinding
 
     init {
         onClick(itemView) { position -> onSubscriptionClicked(position) }
diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/terms/AcceptTermsFragment.kt b/app/src/main/java/org/futo/circles/feature/sign_up/terms/AcceptTermsFragment.kt
index d990712b8..b352e6360 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/terms/AcceptTermsFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/terms/AcceptTermsFragment.kt
@@ -8,7 +8,7 @@ import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
 import org.futo.circles.core.fragment.HasLoadingState
 import org.futo.circles.core.fragment.ParentBackPressOwnerFragment
-import org.futo.circles.databinding.AcceptTermsFragmentBinding
+import org.futo.circles.databinding.FragmentAcceptTermsBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
 import org.futo.circles.extensions.openCustomTabUrl
@@ -16,11 +16,11 @@ import org.futo.circles.feature.sign_up.terms.list.TermsListAdapter
 import org.futo.circles.model.TermsListItem
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
-class AcceptTermsFragment : ParentBackPressOwnerFragment(R.layout.accept_terms_fragment),
+class AcceptTermsFragment : ParentBackPressOwnerFragment(R.layout.fragment_accept_terms),
     HasLoadingState {
 
     override val fragment: Fragment = this
-    private val binding by viewBinding(AcceptTermsFragmentBinding::bind)
+    private val binding by viewBinding(FragmentAcceptTermsBinding::bind)
     private val viewModel by viewModel<AcceptTermsViewModel>()
     private val listAdapter by lazy {
         TermsListAdapter(
diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/terms/list/TermsItemViewHolder.kt b/app/src/main/java/org/futo/circles/feature/sign_up/terms/list/TermsItemViewHolder.kt
index 50d219c05..f9a03e13e 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/terms/list/TermsItemViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/terms/list/TermsItemViewHolder.kt
@@ -3,7 +3,7 @@ package org.futo.circles.feature.sign_up.terms.list
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.core.list.ViewBindingHolder
-import org.futo.circles.databinding.TermsListItemBinding
+import org.futo.circles.databinding.ListItemTermsBinding
 import org.futo.circles.extensions.onClick
 import org.futo.circles.model.TermsListItem
 
@@ -11,11 +11,11 @@ class TermsItemViewHolder(
     parent: ViewGroup,
     onItemClicked: (Int) -> Unit,
     onCheckChanged: (Int) -> Unit
-) : RecyclerView.ViewHolder(inflate(parent, TermsListItemBinding::inflate)) {
+) : RecyclerView.ViewHolder(inflate(parent, ListItemTermsBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as TermsListItemBinding
+    private val binding = baseBinding as ListItemTermsBinding
 
     init {
         onClick(itemView) { position -> onItemClicked(position) }
diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/validate_email/ValidateEmailFragment.kt b/app/src/main/java/org/futo/circles/feature/sign_up/validate_email/ValidateEmailFragment.kt
index f6956da71..c5f912842 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/validate_email/ValidateEmailFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/validate_email/ValidateEmailFragment.kt
@@ -8,15 +8,15 @@ import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
 import org.futo.circles.core.fragment.HasLoadingState
 import org.futo.circles.core.fragment.ParentBackPressOwnerFragment
-import org.futo.circles.databinding.ValidateEmailFragmentBinding
+import org.futo.circles.databinding.FragmentValidateEmailBinding
 import org.futo.circles.extensions.*
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
-class ValidateEmailFragment : ParentBackPressOwnerFragment(R.layout.validate_email_fragment),
+class ValidateEmailFragment : ParentBackPressOwnerFragment(R.layout.fragment_validate_email),
     HasLoadingState {
 
     override val fragment: Fragment = this
-    private val binding by viewBinding(ValidateEmailFragmentBinding::bind)
+    private val binding by viewBinding(FragmentValidateEmailBinding::bind)
     private val viewModel by viewModel<ValidateEmailViewModel>()
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@@ -67,7 +67,8 @@ class ValidateEmailFragment : ParentBackPressOwnerFragment(R.layout.validate_ema
     private fun validationCodeSentState() {
         showSuccess(getString(R.string.validation_code_sent_to_format, getEmailInput()))
         binding.tilValidationCode.visible()
-        binding.btnValidate.isEnabled = binding.tilValidationCode.editText?.text.isNullOrEmpty().not()
+        binding.btnValidate.isEnabled =
+            binding.tilValidationCode.editText?.text.isNullOrEmpty().not()
     }
 
 }
\ No newline at end of file
diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/validate_token/ValidateTokenFragment.kt b/app/src/main/java/org/futo/circles/feature/sign_up/validate_token/ValidateTokenFragment.kt
index 89ad81a8f..1a256cf52 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/validate_token/ValidateTokenFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/validate_token/ValidateTokenFragment.kt
@@ -8,17 +8,17 @@ import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
 import org.futo.circles.core.fragment.HasLoadingState
 import org.futo.circles.core.fragment.ParentBackPressOwnerFragment
-import org.futo.circles.databinding.ValidateTokenFragmentBinding
+import org.futo.circles.databinding.FragmentValidateTokenBinding
 import org.futo.circles.extensions.getText
 import org.futo.circles.extensions.observeResponse
 import org.futo.circles.extensions.showDialog
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
-class ValidateTokenFragment : ParentBackPressOwnerFragment(R.layout.validate_token_fragment),
+class ValidateTokenFragment : ParentBackPressOwnerFragment(R.layout.fragment_validate_token),
     HasLoadingState {
 
     override val fragment: Fragment = this
-    private val binding by viewBinding(ValidateTokenFragmentBinding::bind)
+    private val binding by viewBinding(FragmentValidateTokenBinding::bind)
     private val viewModel by viewModel<ValidateTokenViewModel>()
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
diff --git a/app/src/main/java/org/futo/circles/feature/splash/SplashFragment.kt b/app/src/main/java/org/futo/circles/feature/splash/SplashFragment.kt
index adafeba80..f49d0d246 100644
--- a/app/src/main/java/org/futo/circles/feature/splash/SplashFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/splash/SplashFragment.kt
@@ -7,7 +7,7 @@ import androidx.navigation.fragment.findNavController
 import org.futo.circles.R
 import org.futo.circles.provider.MatrixSessionProvider
 
-class SplashFragment : Fragment(R.layout.splash_fragment) {
+class SplashFragment : Fragment(R.layout.fragment_splash) {
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
diff --git a/app/src/main/java/org/futo/circles/feature/timeline/TimelineFragment.kt b/app/src/main/java/org/futo/circles/feature/timeline/TimelineFragment.kt
index 752039283..bc6569d67 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/TimelineFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/TimelineFragment.kt
@@ -1,5 +1,6 @@
 package org.futo.circles.feature.timeline
 
+import android.annotation.SuppressLint
 import android.os.Bundle
 import android.view.Menu
 import android.view.MenuInflater
@@ -13,13 +14,13 @@ import androidx.navigation.fragment.navArgs
 import by.kirich1409.viewbindingdelegate.viewBinding
 import org.futo.circles.R
 import org.futo.circles.core.list.BaseRvDecoration
-import org.futo.circles.databinding.TimelineFragmentBinding
+import org.futo.circles.databinding.FragmentTimelineBinding
 import org.futo.circles.extensions.*
+import org.futo.circles.feature.share.ShareProvider
 import org.futo.circles.feature.timeline.list.PostViewHolder
 import org.futo.circles.feature.timeline.list.TimelineAdapter
 import org.futo.circles.feature.timeline.post.CreatePostListener
 import org.futo.circles.feature.timeline.post.emoji.EmojiPickerListener
-import org.futo.circles.feature.share.ShareProvider
 import org.futo.circles.model.CircleRoomTypeArg
 import org.futo.circles.model.CreatePostContent
 import org.futo.circles.model.PostContent
@@ -29,7 +30,7 @@ import org.koin.core.parameter.parametersOf
 import org.matrix.android.sdk.api.session.room.model.PowerLevelsContent
 import org.matrix.android.sdk.api.session.room.powerlevels.Role
 
-class TimelineFragment : Fragment(R.layout.timeline_fragment), PostOptionsListener,
+class TimelineFragment : Fragment(R.layout.fragment_timeline), PostOptionsListener,
     CreatePostListener, EmojiPickerListener, MenuProvider {
 
     private val args: TimelineFragmentArgs by navArgs()
@@ -42,7 +43,7 @@ class TimelineFragment : Fragment(R.layout.timeline_fragment), PostOptionsListen
             requireContext().getString(R.string.timeline_not_found)
         )
     }
-    private val binding by viewBinding(TimelineFragmentBinding::bind)
+    private val binding by viewBinding(FragmentTimelineBinding::bind)
     private val listAdapter by lazy {
         TimelineAdapter(getCurrentUserPowerLevel(args.roomId), this) { viewModel.loadMore() }
     }
@@ -56,6 +57,7 @@ class TimelineFragment : Fragment(R.layout.timeline_fragment), PostOptionsListen
         activity?.addMenuProvider(this, viewLifecycleOwner)
     }
 
+    @SuppressLint("RestrictedApi")
     override fun onCreateMenu(menu: Menu, inflater: MenuInflater) {
         menu.clear()
         (menu as? MenuBuilder)?.setOptionalIconsVisible(true)
diff --git a/app/src/main/java/org/futo/circles/feature/timeline/list/TimelineViewHolder.kt b/app/src/main/java/org/futo/circles/feature/timeline/list/TimelineViewHolder.kt
index a46ca34e9..cc6436aa6 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/list/TimelineViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/list/TimelineViewHolder.kt
@@ -6,8 +6,8 @@ import androidx.core.view.updateLayoutParams
 import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.core.list.ViewBindingHolder
 import org.futo.circles.databinding.ImagePostViewBinding
-import org.futo.circles.databinding.TextPostViewBinding
-import org.futo.circles.databinding.VideoPostViewBinding
+import org.futo.circles.databinding.ViewTextPostBinding
+import org.futo.circles.databinding.ViewVideoPostBinding
 import org.futo.circles.extensions.gone
 import org.futo.circles.extensions.loadEncryptedIntoWithAspect
 import org.futo.circles.model.*
@@ -32,11 +32,11 @@ class TextPostViewHolder(
     parent: ViewGroup,
     postOptionsListener: PostOptionsListener,
     userPowerLevel: Int
-) : PostViewHolder(inflate(parent, TextPostViewBinding::inflate), userPowerLevel) {
+) : PostViewHolder(inflate(parent, ViewTextPostBinding::inflate), userPowerLevel) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as TextPostViewBinding
+    private val binding = baseBinding as ViewTextPostBinding
     override val postLayout: PostLayout = binding.lTextPost
 
     init {
@@ -90,12 +90,12 @@ class VideoPostViewHolder(
     parent: ViewGroup,
     postOptionsListener: PostOptionsListener,
     userPowerLevel: Int
-) : PostViewHolder(inflate(parent, VideoPostViewBinding::inflate), userPowerLevel),
+) : PostViewHolder(inflate(parent, ViewVideoPostBinding::inflate), userPowerLevel),
     UploadMediaViewHolder {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as VideoPostViewBinding
+    private val binding = baseBinding as ViewVideoPostBinding
     override val postLayout: PostLayout = binding.lVideoPost
     override val uploadMediaTracker = UploadMediaTracker()
 
diff --git a/app/src/main/java/org/futo/circles/feature/timeline/post/CreatePostDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/timeline/post/CreatePostDialogFragment.kt
index 5c96f26c6..b90788f1a 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/post/CreatePostDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/post/CreatePostDialogFragment.kt
@@ -10,7 +10,7 @@ import org.futo.circles.R
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
 import org.futo.circles.core.picker.MediaPickerHelper
 import org.futo.circles.core.picker.MediaType
-import org.futo.circles.databinding.CreatePostDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentCreatePostBinding
 import org.futo.circles.model.CreatePostContent
 import org.futo.circles.view.PreviewPostListener
 import java.text.DateFormat
@@ -21,11 +21,11 @@ interface CreatePostListener {
 }
 
 class CreatePostDialogFragment :
-    BaseFullscreenDialogFragment(CreatePostDialogFragmentBinding::inflate) {
+    BaseFullscreenDialogFragment(DialogFragmentCreatePostBinding::inflate) {
 
     private val args: CreatePostDialogFragmentArgs by navArgs()
     private val binding by lazy {
-        getBinding() as CreatePostDialogFragmentBinding
+        getBinding() as DialogFragmentCreatePostBinding
     }
 
     private val mediaPickerHelper = MediaPickerHelper(this, true)
diff --git a/app/src/main/java/org/futo/circles/feature/timeline/post/emoji/EmojiBottomSheet.kt b/app/src/main/java/org/futo/circles/feature/timeline/post/emoji/EmojiBottomSheet.kt
index ca9acefc5..bfe8f8668 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/post/emoji/EmojiBottomSheet.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/post/emoji/EmojiBottomSheet.kt
@@ -7,15 +7,15 @@ import android.view.View
 import android.view.ViewGroup
 import android.view.WindowManager
 import androidx.navigation.fragment.navArgs
-import org.futo.circles.databinding.EmojiBottomSheetBinding
-import org.futo.circles.extensions.observeData
-import org.futo.circles.feature.timeline.post.emoji.list.EmojiAdapter
-import org.futo.circles.model.EmojiCategory
-import org.futo.circles.model.EmojiItem
 import com.google.android.material.bottomsheet.BottomSheetBehavior
 import com.google.android.material.bottomsheet.BottomSheetDialog
 import com.google.android.material.bottomsheet.BottomSheetDialogFragment
 import com.google.android.material.tabs.TabLayout
+import org.futo.circles.databinding.BottomSheetEmojiBinding
+import org.futo.circles.extensions.observeData
+import org.futo.circles.feature.timeline.post.emoji.list.EmojiAdapter
+import org.futo.circles.model.EmojiCategory
+import org.futo.circles.model.EmojiItem
 import org.koin.androidx.viewmodel.ext.android.viewModel
 
 interface EmojiPickerListener {
@@ -24,7 +24,7 @@ interface EmojiPickerListener {
 
 class EmojiBottomSheet : BottomSheetDialogFragment() {
 
-    private var binding: EmojiBottomSheetBinding? = null
+    private var binding: BottomSheetEmojiBinding? = null
     private var emojiPickerListener: EmojiPickerListener? = null
     private val args: EmojiBottomSheetArgs by navArgs()
     private val viewModel by viewModel<EmojiViewModel>()
@@ -39,7 +39,7 @@ class EmojiBottomSheet : BottomSheetDialogFragment() {
     override fun onCreateView(
         inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
     ): View? {
-        binding = EmojiBottomSheetBinding.inflate(inflater, container, false)
+        binding = BottomSheetEmojiBinding.inflate(inflater, container, false)
         dialog?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN)
         return binding?.root
     }
diff --git a/app/src/main/java/org/futo/circles/feature/timeline/post/emoji/list/EmojiViewHolder.kt b/app/src/main/java/org/futo/circles/feature/timeline/post/emoji/list/EmojiViewHolder.kt
index f22095e51..798563587 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/post/emoji/list/EmojiViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/post/emoji/list/EmojiViewHolder.kt
@@ -3,18 +3,18 @@ package org.futo.circles.feature.timeline.post.emoji.list
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.core.list.ViewBindingHolder
-import org.futo.circles.databinding.EmojiListItemBinding
+import org.futo.circles.databinding.ListItemEmojiBinding
 import org.futo.circles.extensions.onClick
 import org.futo.circles.model.EmojiItem
 
 class EmojiViewHolder(
     parent: ViewGroup,
     onEmojiSelected: (Int) -> Unit
-) : RecyclerView.ViewHolder(inflate(parent, EmojiListItemBinding::inflate)) {
+) : RecyclerView.ViewHolder(inflate(parent, ListItemEmojiBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as EmojiListItemBinding
+    private val binding = baseBinding as ListItemEmojiBinding
 
     init {
         onClick(binding.tvEmoji) { position -> onEmojiSelected(position) }
diff --git a/app/src/main/java/org/futo/circles/feature/timeline/post/report/ReportDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/timeline/post/report/ReportDialogFragment.kt
index 93797c871..806be596e 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/post/report/ReportDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/post/report/ReportDialogFragment.kt
@@ -7,7 +7,7 @@ import androidx.navigation.fragment.navArgs
 import org.futo.circles.R
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
 import org.futo.circles.core.fragment.HasLoadingState
-import org.futo.circles.databinding.ReportDialogFragmentBinding
+import org.futo.circles.databinding.DialogFragmentReportBinding
 import org.futo.circles.extensions.observeData
 import org.futo.circles.extensions.observeResponse
 import org.futo.circles.extensions.showSuccess
@@ -16,7 +16,7 @@ import org.koin.androidx.viewmodel.ext.android.viewModel
 import org.koin.core.parameter.parametersOf
 
 class ReportDialogFragment :
-    BaseFullscreenDialogFragment(ReportDialogFragmentBinding::inflate), HasLoadingState {
+    BaseFullscreenDialogFragment(DialogFragmentReportBinding::inflate), HasLoadingState {
 
     override val fragment: Fragment = this
     private val args: ReportDialogFragmentArgs by navArgs()
@@ -24,7 +24,7 @@ class ReportDialogFragment :
     private val listAdapter by lazy { ReportCategoryAdapter(::onReportCategorySelected) }
 
     private val binding by lazy {
-        getBinding() as ReportDialogFragmentBinding
+        getBinding() as DialogFragmentReportBinding
     }
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
diff --git a/app/src/main/java/org/futo/circles/feature/timeline/post/report/list/ReportCategoryViewHolder.kt b/app/src/main/java/org/futo/circles/feature/timeline/post/report/list/ReportCategoryViewHolder.kt
index fc9b34552..55942a726 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/post/report/list/ReportCategoryViewHolder.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/post/report/list/ReportCategoryViewHolder.kt
@@ -3,18 +3,18 @@ package org.futo.circles.feature.timeline.post.report.list
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
 import org.futo.circles.core.list.ViewBindingHolder
-import org.futo.circles.databinding.ReportCategoryListItemBinding
+import org.futo.circles.databinding.ListItemReportCategoryBinding
 import org.futo.circles.extensions.onClick
 import org.futo.circles.model.ReportCategoryListItem
 
 class ReportCategoryViewHolder(
     parent: ViewGroup,
     onCategorySelected: (Int) -> Unit
-) : RecyclerView.ViewHolder(inflate(parent, ReportCategoryListItemBinding::inflate)) {
+) : RecyclerView.ViewHolder(inflate(parent, ListItemReportCategoryBinding::inflate)) {
 
     private companion object : ViewBindingHolder
 
-    private val binding = baseBinding as ReportCategoryListItemBinding
+    private val binding = baseBinding as ListItemReportCategoryBinding
 
     init {
         onClick(binding.lItem) { position -> onCategorySelected(position) }
diff --git a/app/src/main/java/org/futo/circles/view/ActiveSessionInfoView.kt b/app/src/main/java/org/futo/circles/view/ActiveSessionInfoView.kt
index f7b7781cb..72a812fc1 100644
--- a/app/src/main/java/org/futo/circles/view/ActiveSessionInfoView.kt
+++ b/app/src/main/java/org/futo/circles/view/ActiveSessionInfoView.kt
@@ -7,7 +7,7 @@ import android.widget.ImageView
 import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.core.content.ContextCompat
 import org.futo.circles.R
-import org.futo.circles.databinding.ActiveSessionInfoViewBinding
+import org.futo.circles.databinding.ViewActiveSessionInfoBinding
 import org.futo.circles.extensions.setIsVisible
 import org.futo.circles.feature.settings.active_sessions.list.ActiveSessionClickListener
 import org.futo.circles.model.ActiveSession
@@ -17,7 +17,7 @@ class ActiveSessionInfoView(
     attrs: AttributeSet? = null,
 ) : ConstraintLayout(context, attrs) {
 
-    private val binding = ActiveSessionInfoViewBinding.inflate(LayoutInflater.from(context), this)
+    private val binding = ViewActiveSessionInfoBinding.inflate(LayoutInflater.from(context), this)
 
     private var activeSessionClickListener: ActiveSessionClickListener? = null
     private var deviceId: String? = null
diff --git a/app/src/main/java/org/futo/circles/view/GroupPostFooterView.kt b/app/src/main/java/org/futo/circles/view/GroupPostFooterView.kt
index 32a0c3d2d..134694df4 100644
--- a/app/src/main/java/org/futo/circles/view/GroupPostFooterView.kt
+++ b/app/src/main/java/org/futo/circles/view/GroupPostFooterView.kt
@@ -6,14 +6,13 @@ import android.view.LayoutInflater
 import android.widget.LinearLayout
 import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.core.content.ContextCompat
+import com.google.android.material.chip.Chip
 import org.futo.circles.R
-import org.futo.circles.databinding.GroupPostFooterViewBinding
-import org.futo.circles.extensions.getAttributes
+import org.futo.circles.databinding.ViewGroupPostFooterBinding
 import org.futo.circles.extensions.setIsEncryptedIcon
 import org.futo.circles.extensions.setIsVisible
 import org.futo.circles.model.Post
 import org.futo.circles.model.ReactionsData
-import com.google.android.material.chip.Chip
 import java.text.DateFormat
 import java.util.*
 
@@ -24,7 +23,7 @@ class GroupPostFooterView(
 ) : ConstraintLayout(context, attrs) {
 
     private val binding =
-        GroupPostFooterViewBinding.inflate(LayoutInflater.from(context), this)
+        ViewGroupPostFooterBinding.inflate(LayoutInflater.from(context), this)
 
     private var optionsListener: PostOptionsListener? = null
     private var post: Post? = null
diff --git a/app/src/main/java/org/futo/circles/view/GroupPostHeaderView.kt b/app/src/main/java/org/futo/circles/view/GroupPostHeaderView.kt
index a4a2f95d1..7867b68eb 100644
--- a/app/src/main/java/org/futo/circles/view/GroupPostHeaderView.kt
+++ b/app/src/main/java/org/futo/circles/view/GroupPostHeaderView.kt
@@ -1,5 +1,6 @@
 package org.futo.circles.view
 
+import android.annotation.SuppressLint
 import android.content.Context
 import android.util.AttributeSet
 import android.view.LayoutInflater
@@ -7,11 +8,10 @@ import androidx.appcompat.view.menu.MenuBuilder
 import androidx.appcompat.widget.PopupMenu
 import androidx.constraintlayout.widget.ConstraintLayout
 import org.futo.circles.R
-import org.futo.circles.databinding.GroupPostHeaderViewBinding
+import org.futo.circles.databinding.ViewGroupPostHeaderBinding
 import org.futo.circles.extensions.getAttributes
 import org.futo.circles.extensions.loadProfileIcon
 import org.futo.circles.extensions.setIsVisible
-import org.futo.circles.model.ImageContent
 import org.futo.circles.model.Post
 import org.matrix.android.sdk.api.session.room.powerlevels.Role
 
@@ -21,7 +21,7 @@ class GroupPostHeaderView(
 ) : ConstraintLayout(context, attrs) {
 
     private val binding =
-        GroupPostHeaderViewBinding.inflate(LayoutInflater.from(context), this)
+        ViewGroupPostHeaderBinding.inflate(LayoutInflater.from(context), this)
 
     private var optionsListener: PostOptionsListener? = null
     private var post: Post? = null
@@ -62,6 +62,7 @@ class GroupPostHeaderView(
         binding.btnMore.setOnClickListener { showMenu() }
     }
 
+    @SuppressLint("RestrictedApi")
     private fun showMenu() {
         val unwrappedPost = post ?: return
         PopupMenu(context, binding.btnMore).apply {
diff --git a/app/src/main/java/org/futo/circles/view/LoadingButton.kt b/app/src/main/java/org/futo/circles/view/LoadingButton.kt
index 54d3a2ace..7919b775b 100644
--- a/app/src/main/java/org/futo/circles/view/LoadingButton.kt
+++ b/app/src/main/java/org/futo/circles/view/LoadingButton.kt
@@ -6,7 +6,7 @@ import android.util.TypedValue
 import android.view.LayoutInflater
 import androidx.constraintlayout.widget.ConstraintLayout
 import org.futo.circles.R
-import org.futo.circles.databinding.LoadingButtonViewBinding
+import org.futo.circles.databinding.ViewLoadingButtonBinding
 import org.futo.circles.extensions.getAttributes
 import org.futo.circles.extensions.setIsVisible
 
@@ -16,7 +16,7 @@ class LoadingButton(
 ) : ConstraintLayout(context, attrs) {
 
     private val binding =
-        LoadingButtonViewBinding.inflate(LayoutInflater.from(context), this)
+        ViewLoadingButtonBinding.inflate(LayoutInflater.from(context), this)
 
     private var buttonText: String = ""
 
diff --git a/app/src/main/java/org/futo/circles/view/LoadingView.kt b/app/src/main/java/org/futo/circles/view/LoadingView.kt
index bb275e4d5..897d58611 100644
--- a/app/src/main/java/org/futo/circles/view/LoadingView.kt
+++ b/app/src/main/java/org/futo/circles/view/LoadingView.kt
@@ -5,9 +5,9 @@ import android.util.AttributeSet
 import android.view.LayoutInflater
 import androidx.annotation.StringRes
 import androidx.constraintlayout.widget.ConstraintLayout
-import org.futo.circles.model.LoadingData
-import org.futo.circles.databinding.LoadingViewBinding
+import org.futo.circles.databinding.ViewLoadingBinding
 import org.futo.circles.extensions.setIsVisible
+import org.futo.circles.model.LoadingData
 
 class LoadingView(
     context: Context,
@@ -15,7 +15,7 @@ class LoadingView(
 ) : ConstraintLayout(context, attrs) {
 
     private val binding =
-        LoadingViewBinding.inflate(LayoutInflater.from(context), this)
+        ViewLoadingBinding.inflate(LayoutInflater.from(context), this)
 
 
     fun setMessage(@StringRes messageId: Int) {
diff --git a/app/src/main/java/org/futo/circles/view/ManageMembersOptionsView.kt b/app/src/main/java/org/futo/circles/view/ManageMembersOptionsView.kt
index cba0c94f2..005496bd1 100644
--- a/app/src/main/java/org/futo/circles/view/ManageMembersOptionsView.kt
+++ b/app/src/main/java/org/futo/circles/view/ManageMembersOptionsView.kt
@@ -4,7 +4,7 @@ import android.content.Context
 import android.util.AttributeSet
 import android.view.LayoutInflater
 import androidx.constraintlayout.widget.ConstraintLayout
-import org.futo.circles.databinding.ManageMembersOptionsViewBinding
+import org.futo.circles.databinding.ViewManageMembersOptionsBinding
 import org.futo.circles.extensions.isCurrentUserAbleToBan
 import org.futo.circles.extensions.isCurrentUserAbleToChangeLevelFor
 import org.futo.circles.extensions.isCurrentUserAbleToKick
@@ -28,7 +28,7 @@ class ManageMembersOptionsView(
 ) : ConstraintLayout(context, attrs) {
 
     private val binding =
-        ManageMembersOptionsViewBinding.inflate(LayoutInflater.from(context), this)
+        ViewManageMembersOptionsBinding.inflate(LayoutInflater.from(context), this)
 
     private var listener: ManageMembersOptionsListener? = null
     private var userId: String? = null
diff --git a/app/src/main/java/org/futo/circles/view/PostLayout.kt b/app/src/main/java/org/futo/circles/view/PostLayout.kt
index 35859fcac..a38b3a93e 100644
--- a/app/src/main/java/org/futo/circles/view/PostLayout.kt
+++ b/app/src/main/java/org/futo/circles/view/PostLayout.kt
@@ -8,7 +8,7 @@ import android.view.ViewGroup
 import android.widget.FrameLayout
 import androidx.constraintlayout.widget.ConstraintLayout
 import org.futo.circles.R
-import org.futo.circles.databinding.PostLayoutBinding
+import org.futo.circles.databinding.LayoutPostBinding
 import org.futo.circles.extensions.gone
 import org.futo.circles.extensions.setIsVisible
 import org.futo.circles.model.*
@@ -34,7 +34,7 @@ class PostLayout(
 ) : ConstraintLayout(context, attrs) {
 
     private val binding =
-        PostLayoutBinding.inflate(LayoutInflater.from(context), this)
+        LayoutPostBinding.inflate(LayoutInflater.from(context), this)
 
     private var optionsListener: PostOptionsListener? = null
     private var post: Post? = null
diff --git a/app/src/main/java/org/futo/circles/view/PreviewPostView.kt b/app/src/main/java/org/futo/circles/view/PreviewPostView.kt
index dbe5c54a0..9041b45fa 100644
--- a/app/src/main/java/org/futo/circles/view/PreviewPostView.kt
+++ b/app/src/main/java/org/futo/circles/view/PreviewPostView.kt
@@ -10,7 +10,7 @@ import androidx.core.widget.doAfterTextChanged
 import org.futo.circles.core.picker.MediaType
 import org.futo.circles.core.utils.VideoUtils.getVideoDuration
 import org.futo.circles.core.utils.VideoUtils.getVideoDurationString
-import org.futo.circles.databinding.PreviewPostViewBinding
+import org.futo.circles.databinding.ViewPreviewPostBinding
 import org.futo.circles.extensions.loadImage
 import org.futo.circles.extensions.setIsVisible
 import org.futo.circles.mapping.notEmptyDisplayName
@@ -31,7 +31,7 @@ class PreviewPostView(
 ) : ConstraintLayout(context, attrs) {
 
     private val binding =
-        PreviewPostViewBinding.inflate(LayoutInflater.from(context), this)
+        ViewPreviewPostBinding.inflate(LayoutInflater.from(context), this)
 
     private var listener: PreviewPostListener? = null
 
diff --git a/app/src/main/java/org/futo/circles/view/ProfileView.kt b/app/src/main/java/org/futo/circles/view/ProfileView.kt
index d183f23f3..b89a3916d 100644
--- a/app/src/main/java/org/futo/circles/view/ProfileView.kt
+++ b/app/src/main/java/org/futo/circles/view/ProfileView.kt
@@ -4,7 +4,7 @@ import android.content.Context
 import android.util.AttributeSet
 import android.view.LayoutInflater
 import androidx.constraintlayout.widget.ConstraintLayout
-import org.futo.circles.databinding.ProfileViewBinding
+import org.futo.circles.databinding.ViewProfileBinding
 import org.futo.circles.extensions.loadProfileIcon
 import org.futo.circles.mapping.notEmptyDisplayName
 import org.matrix.android.sdk.api.session.user.model.User
@@ -15,7 +15,7 @@ class ProfileView(
 ) : ConstraintLayout(context, attrs) {
 
     private val binding =
-        ProfileViewBinding.inflate(LayoutInflater.from(context), this)
+        ViewProfileBinding.inflate(LayoutInflater.from(context), this)
 
 
     fun setData(user: User) {
diff --git a/app/src/main/res/layout/change_access_level_bottom_sheet.xml b/app/src/main/res/layout/bottom_sheet_change_access_level.xml
similarity index 100%
rename from app/src/main/res/layout/change_access_level_bottom_sheet.xml
rename to app/src/main/res/layout/bottom_sheet_change_access_level.xml
diff --git a/app/src/main/res/layout/emoji_bottom_sheet.xml b/app/src/main/res/layout/bottom_sheet_emoji.xml
similarity index 100%
rename from app/src/main/res/layout/emoji_bottom_sheet.xml
rename to app/src/main/res/layout/bottom_sheet_emoji.xml
diff --git a/app/src/main/res/layout/confirm_auth_dialog.xml b/app/src/main/res/layout/dialog_confirm_auth.xml
similarity index 100%
rename from app/src/main/res/layout/confirm_auth_dialog.xml
rename to app/src/main/res/layout/dialog_confirm_auth.xml
diff --git a/app/src/main/res/layout/enter_passphrase_dialog.xml b/app/src/main/res/layout/dialog_enter_passphrase.xml
similarity index 100%
rename from app/src/main/res/layout/enter_passphrase_dialog.xml
rename to app/src/main/res/layout/dialog_enter_passphrase.xml
diff --git a/app/src/main/res/layout/accept_circle_invite_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_accept_circle_invite.xml
similarity index 100%
rename from app/src/main/res/layout/accept_circle_invite_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_accept_circle_invite.xml
diff --git a/app/src/main/res/layout/active_sessions_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_active_sessions.xml
similarity index 100%
rename from app/src/main/res/layout/active_sessions_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_active_sessions.xml
diff --git a/app/src/main/res/layout/change_password_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_change_password.xml
similarity index 100%
rename from app/src/main/res/layout/change_password_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_change_password.xml
diff --git a/app/src/main/res/layout/create_post_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_create_post.xml
similarity index 100%
rename from app/src/main/res/layout/create_post_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_create_post.xml
diff --git a/app/src/main/res/layout/create_room_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_create_room.xml
similarity index 100%
rename from app/src/main/res/layout/create_room_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_create_room.xml
diff --git a/app/src/main/res/layout/edit_profile_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_edit_profile.xml
similarity index 100%
rename from app/src/main/res/layout/edit_profile_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_edit_profile.xml
diff --git a/app/src/main/res/layout/following_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_following.xml
similarity index 100%
rename from app/src/main/res/layout/following_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_following.xml
diff --git a/app/src/main/res/layout/invite_members_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_invite_members.xml
similarity index 100%
rename from app/src/main/res/layout/invite_members_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_invite_members.xml
diff --git a/app/src/main/res/layout/manage_members_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_manage_members.xml
similarity index 100%
rename from app/src/main/res/layout/manage_members_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_manage_members.xml
diff --git a/app/src/main/res/layout/media_preview_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_media_preview.xml
similarity index 100%
rename from app/src/main/res/layout/media_preview_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_media_preview.xml
diff --git a/app/src/main/res/layout/pick_device_media_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_pick_device_media.xml
similarity index 100%
rename from app/src/main/res/layout/pick_device_media_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_pick_device_media.xml
diff --git a/app/src/main/res/layout/pick_gallery_image_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_pick_gallery_image.xml
similarity index 100%
rename from app/src/main/res/layout/pick_gallery_image_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_pick_gallery_image.xml
diff --git a/app/src/main/res/layout/report_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_report.xml
similarity index 100%
rename from app/src/main/res/layout/report_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_report.xml
diff --git a/app/src/main/res/layout/save_to_gallery_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_save_to_gallery.xml
similarity index 100%
rename from app/src/main/res/layout/save_to_gallery_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_save_to_gallery.xml
diff --git a/app/src/main/res/layout/system_notices_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_system_notices.xml
similarity index 100%
rename from app/src/main/res/layout/system_notices_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_system_notices.xml
diff --git a/app/src/main/res/layout/update_room_dialog_fragment.xml b/app/src/main/res/layout/dialog_fragment_update_room.xml
similarity index 100%
rename from app/src/main/res/layout/update_room_dialog_fragment.xml
rename to app/src/main/res/layout/dialog_fragment_update_room.xml
diff --git a/app/src/main/res/layout/loading_dialog.xml b/app/src/main/res/layout/dialog_loading.xml
similarity index 100%
rename from app/src/main/res/layout/loading_dialog.xml
rename to app/src/main/res/layout/dialog_loading.xml
diff --git a/app/src/main/res/layout/pick_image_dialog.xml b/app/src/main/res/layout/dialog_pick_image.xml
similarity index 100%
rename from app/src/main/res/layout/pick_image_dialog.xml
rename to app/src/main/res/layout/dialog_pick_image.xml
diff --git a/app/src/main/res/layout/remove_following_dialog.xml b/app/src/main/res/layout/dialog_remove_following.xml
similarity index 100%
rename from app/src/main/res/layout/remove_following_dialog.xml
rename to app/src/main/res/layout/dialog_remove_following.xml
diff --git a/app/src/main/res/layout/accept_terms_fragment.xml b/app/src/main/res/layout/fragment_accept_terms.xml
similarity index 100%
rename from app/src/main/res/layout/accept_terms_fragment.xml
rename to app/src/main/res/layout/fragment_accept_terms.xml
diff --git a/app/src/main/res/layout/bottom_navigation_fragment.xml b/app/src/main/res/layout/fragment_bottom_navigation.xml
similarity index 100%
rename from app/src/main/res/layout/bottom_navigation_fragment.xml
rename to app/src/main/res/layout/fragment_bottom_navigation.xml
diff --git a/app/src/main/res/layout/gallery_fragment.xml b/app/src/main/res/layout/fragment_gallery.xml
similarity index 100%
rename from app/src/main/res/layout/gallery_fragment.xml
rename to app/src/main/res/layout/fragment_gallery.xml
diff --git a/app/src/main/res/layout/log_in_fragment.xml b/app/src/main/res/layout/fragment_log_in.xml
similarity index 100%
rename from app/src/main/res/layout/log_in_fragment.xml
rename to app/src/main/res/layout/fragment_log_in.xml
diff --git a/app/src/main/res/layout/people_fragment.xml b/app/src/main/res/layout/fragment_people.xml
similarity index 100%
rename from app/src/main/res/layout/people_fragment.xml
rename to app/src/main/res/layout/fragment_people.xml
diff --git a/app/src/main/res/layout/rooms_fragment.xml b/app/src/main/res/layout/fragment_rooms.xml
similarity index 100%
rename from app/src/main/res/layout/rooms_fragment.xml
rename to app/src/main/res/layout/fragment_rooms.xml
diff --git a/app/src/main/res/layout/select_sign_up_type_fragment.xml b/app/src/main/res/layout/fragment_select_sign_up_type.xml
similarity index 100%
rename from app/src/main/res/layout/select_sign_up_type_fragment.xml
rename to app/src/main/res/layout/fragment_select_sign_up_type.xml
diff --git a/app/src/main/res/layout/select_users_fragment.xml b/app/src/main/res/layout/fragment_select_users.xml
similarity index 100%
rename from app/src/main/res/layout/select_users_fragment.xml
rename to app/src/main/res/layout/fragment_select_users.xml
diff --git a/app/src/main/res/layout/settings_fragment.xml b/app/src/main/res/layout/fragment_settings.xml
similarity index 100%
rename from app/src/main/res/layout/settings_fragment.xml
rename to app/src/main/res/layout/fragment_settings.xml
diff --git a/app/src/main/res/layout/setup_circles_fragment.xml b/app/src/main/res/layout/fragment_setup_circles.xml
similarity index 100%
rename from app/src/main/res/layout/setup_circles_fragment.xml
rename to app/src/main/res/layout/fragment_setup_circles.xml
diff --git a/app/src/main/res/layout/setup_profile_fragment.xml b/app/src/main/res/layout/fragment_setup_profile.xml
similarity index 100%
rename from app/src/main/res/layout/setup_profile_fragment.xml
rename to app/src/main/res/layout/fragment_setup_profile.xml
diff --git a/app/src/main/res/layout/sign_up_fragment.xml b/app/src/main/res/layout/fragment_sign_up.xml
similarity index 100%
rename from app/src/main/res/layout/sign_up_fragment.xml
rename to app/src/main/res/layout/fragment_sign_up.xml
diff --git a/app/src/main/res/layout/splash_fragment.xml b/app/src/main/res/layout/fragment_splash.xml
similarity index 100%
rename from app/src/main/res/layout/splash_fragment.xml
rename to app/src/main/res/layout/fragment_splash.xml
diff --git a/app/src/main/res/layout/subscription_stage_fragment.xml b/app/src/main/res/layout/fragment_subscription_stage.xml
similarity index 100%
rename from app/src/main/res/layout/subscription_stage_fragment.xml
rename to app/src/main/res/layout/fragment_subscription_stage.xml
diff --git a/app/src/main/res/layout/timeline_fragment.xml b/app/src/main/res/layout/fragment_timeline.xml
similarity index 100%
rename from app/src/main/res/layout/timeline_fragment.xml
rename to app/src/main/res/layout/fragment_timeline.xml
diff --git a/app/src/main/res/layout/user_fragment.xml b/app/src/main/res/layout/fragment_user.xml
similarity index 100%
rename from app/src/main/res/layout/user_fragment.xml
rename to app/src/main/res/layout/fragment_user.xml
diff --git a/app/src/main/res/layout/validate_email_fragment.xml b/app/src/main/res/layout/fragment_validate_email.xml
similarity index 100%
rename from app/src/main/res/layout/validate_email_fragment.xml
rename to app/src/main/res/layout/fragment_validate_email.xml
diff --git a/app/src/main/res/layout/validate_token_fragment.xml b/app/src/main/res/layout/fragment_validate_token.xml
similarity index 100%
rename from app/src/main/res/layout/validate_token_fragment.xml
rename to app/src/main/res/layout/fragment_validate_token.xml
diff --git a/app/src/main/res/layout/image_post_view.xml b/app/src/main/res/layout/image_post_view.xml
index 3144ec95b..9b0d08f79 100644
--- a/app/src/main/res/layout/image_post_view.xml
+++ b/app/src/main/res/layout/image_post_view.xml
@@ -11,7 +11,7 @@
 
         <include
             android:id="@+id/imageItem"
-            layout="@layout/gallery_image_list_item"
+            layout="@layout/list_item_gallery_image"
             android:layout_width="match_parent"
             android:layout_height="wrap_content" />
 
diff --git a/app/src/main/res/layout/post_layout.xml b/app/src/main/res/layout/layout_post.xml
similarity index 100%
rename from app/src/main/res/layout/post_layout.xml
rename to app/src/main/res/layout/layout_post.xml
diff --git a/app/src/main/res/layout/preview_image_post_content_layout.xml b/app/src/main/res/layout/layout_preview_image_post_content.xml
similarity index 100%
rename from app/src/main/res/layout/preview_image_post_content_layout.xml
rename to app/src/main/res/layout/layout_preview_image_post_content.xml
diff --git a/app/src/main/res/layout/preview_video_post_content_layout.xml b/app/src/main/res/layout/layout_preview_video_post_content.xml
similarity index 100%
rename from app/src/main/res/layout/preview_video_post_content_layout.xml
rename to app/src/main/res/layout/layout_preview_video_post_content.xml
diff --git a/app/src/main/res/layout/accept_circle_invite_list_item.xml b/app/src/main/res/layout/list_item_accept_circle_invite.xml
similarity index 100%
rename from app/src/main/res/layout/accept_circle_invite_list_item.xml
rename to app/src/main/res/layout/list_item_accept_circle_invite.xml
diff --git a/app/src/main/res/layout/access_level_list_item.xml b/app/src/main/res/layout/list_item_access_level.xml
similarity index 100%
rename from app/src/main/res/layout/access_level_list_item.xml
rename to app/src/main/res/layout/list_item_access_level.xml
diff --git a/app/src/main/res/layout/active_session_list_item.xml b/app/src/main/res/layout/list_item_active_session.xml
similarity index 100%
rename from app/src/main/res/layout/active_session_list_item.xml
rename to app/src/main/res/layout/list_item_active_session.xml
diff --git a/app/src/main/res/layout/chip_list_item.xml b/app/src/main/res/layout/list_item_chip.xml
similarity index 100%
rename from app/src/main/res/layout/chip_list_item.xml
rename to app/src/main/res/layout/list_item_chip.xml
diff --git a/app/src/main/res/layout/emoji_list_item.xml b/app/src/main/res/layout/list_item_emoji.xml
similarity index 100%
rename from app/src/main/res/layout/emoji_list_item.xml
rename to app/src/main/res/layout/list_item_emoji.xml
diff --git a/app/src/main/res/layout/following_list_item.xml b/app/src/main/res/layout/list_item_following.xml
similarity index 100%
rename from app/src/main/res/layout/following_list_item.xml
rename to app/src/main/res/layout/list_item_following.xml
diff --git a/app/src/main/res/layout/gallery_list_item.xml b/app/src/main/res/layout/list_item_gallery.xml
similarity index 100%
rename from app/src/main/res/layout/gallery_list_item.xml
rename to app/src/main/res/layout/list_item_gallery.xml
diff --git a/app/src/main/res/layout/gallery_image_list_item.xml b/app/src/main/res/layout/list_item_gallery_image.xml
similarity index 100%
rename from app/src/main/res/layout/gallery_image_list_item.xml
rename to app/src/main/res/layout/list_item_gallery_image.xml
diff --git a/app/src/main/res/layout/gallery_video_list_item.xml b/app/src/main/res/layout/list_item_gallery_video.xml
similarity index 100%
rename from app/src/main/res/layout/gallery_video_list_item.xml
rename to app/src/main/res/layout/list_item_gallery_video.xml
diff --git a/app/src/main/res/layout/invite_header_list_item.xml b/app/src/main/res/layout/list_item_invite_header.xml
similarity index 100%
rename from app/src/main/res/layout/invite_header_list_item.xml
rename to app/src/main/res/layout/list_item_invite_header.xml
diff --git a/app/src/main/res/layout/invited_circle_list_item.xml b/app/src/main/res/layout/list_item_invited_circle.xml
similarity index 100%
rename from app/src/main/res/layout/invited_circle_list_item.xml
rename to app/src/main/res/layout/list_item_invited_circle.xml
diff --git a/app/src/main/res/layout/invited_group_list_item.xml b/app/src/main/res/layout/list_item_invited_group.xml
similarity index 100%
rename from app/src/main/res/layout/invited_group_list_item.xml
rename to app/src/main/res/layout/list_item_invited_group.xml
diff --git a/app/src/main/res/layout/invited_user_list_item.xml b/app/src/main/res/layout/list_item_invited_user.xml
similarity index 97%
rename from app/src/main/res/layout/invited_user_list_item.xml
rename to app/src/main/res/layout/list_item_invited_user.xml
index 3635372bc..b15aebfaa 100644
--- a/app/src/main/res/layout/invited_user_list_item.xml
+++ b/app/src/main/res/layout/list_item_invited_user.xml
@@ -7,7 +7,7 @@
 
     <include
         android:id="@+id/lUser"
-        layout="@layout/user_list_item"
+        layout="@layout/list_item_user"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         app:layout_constraintEnd_toStartOf="@id/tvStatus"
diff --git a/app/src/main/res/layout/joined_circle_list_item.xml b/app/src/main/res/layout/list_item_joined_circle.xml
similarity index 100%
rename from app/src/main/res/layout/joined_circle_list_item.xml
rename to app/src/main/res/layout/list_item_joined_circle.xml
diff --git a/app/src/main/res/layout/joined_group_list_item.xml b/app/src/main/res/layout/list_item_joined_group.xml
similarity index 100%
rename from app/src/main/res/layout/joined_group_list_item.xml
rename to app/src/main/res/layout/list_item_joined_group.xml
diff --git a/app/src/main/res/layout/member_list_item.xml b/app/src/main/res/layout/list_item_member.xml
similarity index 98%
rename from app/src/main/res/layout/member_list_item.xml
rename to app/src/main/res/layout/list_item_member.xml
index e25e108cc..feebcca99 100644
--- a/app/src/main/res/layout/member_list_item.xml
+++ b/app/src/main/res/layout/list_item_member.xml
@@ -20,7 +20,7 @@
 
         <include
             android:id="@+id/lUser"
-            layout="@layout/user_list_item"
+            layout="@layout/list_item_user"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             app:layout_constraintEnd_toStartOf="@id/tvRole"
diff --git a/app/src/main/res/layout/no_results_list_item.xml b/app/src/main/res/layout/list_item_no_results.xml
similarity index 100%
rename from app/src/main/res/layout/no_results_list_item.xml
rename to app/src/main/res/layout/list_item_no_results.xml
diff --git a/app/src/main/res/layout/people_list_item.xml b/app/src/main/res/layout/list_item_people.xml
similarity index 98%
rename from app/src/main/res/layout/people_list_item.xml
rename to app/src/main/res/layout/list_item_people.xml
index ebf51fef1..e3d1137a8 100644
--- a/app/src/main/res/layout/people_list_item.xml
+++ b/app/src/main/res/layout/list_item_people.xml
@@ -11,7 +11,7 @@
 
     <include
         android:id="@+id/userItem"
-        layout="@layout/user_list_item"
+        layout="@layout/list_item_user"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_marginEnd="100dp"
diff --git a/app/src/main/res/layout/report_category_list_item.xml b/app/src/main/res/layout/list_item_report_category.xml
similarity index 100%
rename from app/src/main/res/layout/report_category_list_item.xml
rename to app/src/main/res/layout/list_item_report_category.xml
diff --git a/app/src/main/res/layout/select_gallery_list_item.xml b/app/src/main/res/layout/list_item_select_gallery.xml
similarity index 97%
rename from app/src/main/res/layout/select_gallery_list_item.xml
rename to app/src/main/res/layout/list_item_select_gallery.xml
index 741ea2e0f..f4bf56930 100644
--- a/app/src/main/res/layout/select_gallery_list_item.xml
+++ b/app/src/main/res/layout/list_item_select_gallery.xml
@@ -7,7 +7,7 @@
 
     <include
         android:id="@+id/baseGalleryItem"
-        layout="@layout/gallery_list_item"
+        layout="@layout/list_item_gallery"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/setup_circle_list_item.xml b/app/src/main/res/layout/list_item_setup_circle.xml
similarity index 100%
rename from app/src/main/res/layout/setup_circle_list_item.xml
rename to app/src/main/res/layout/list_item_setup_circle.xml
diff --git a/app/src/main/res/layout/subscription_list_item.xml b/app/src/main/res/layout/list_item_subscription.xml
similarity index 100%
rename from app/src/main/res/layout/subscription_list_item.xml
rename to app/src/main/res/layout/list_item_subscription.xml
diff --git a/app/src/main/res/layout/system_notices_list_item.xml b/app/src/main/res/layout/list_item_system_notices.xml
similarity index 100%
rename from app/src/main/res/layout/system_notices_list_item.xml
rename to app/src/main/res/layout/list_item_system_notices.xml
diff --git a/app/src/main/res/layout/terms_list_item.xml b/app/src/main/res/layout/list_item_terms.xml
similarity index 100%
rename from app/src/main/res/layout/terms_list_item.xml
rename to app/src/main/res/layout/list_item_terms.xml
diff --git a/app/src/main/res/layout/user_list_item.xml b/app/src/main/res/layout/list_item_user.xml
similarity index 100%
rename from app/src/main/res/layout/user_list_item.xml
rename to app/src/main/res/layout/list_item_user.xml
diff --git a/app/src/main/res/layout/active_session_info_view.xml b/app/src/main/res/layout/view_active_session_info.xml
similarity index 100%
rename from app/src/main/res/layout/active_session_info_view.xml
rename to app/src/main/res/layout/view_active_session_info.xml
diff --git a/app/src/main/res/layout/error_snack_bar_view.xml b/app/src/main/res/layout/view_error_snack_bar.xml
similarity index 100%
rename from app/src/main/res/layout/error_snack_bar_view.xml
rename to app/src/main/res/layout/view_error_snack_bar.xml
diff --git a/app/src/main/res/layout/group_post_footer_view.xml b/app/src/main/res/layout/view_group_post_footer.xml
similarity index 100%
rename from app/src/main/res/layout/group_post_footer_view.xml
rename to app/src/main/res/layout/view_group_post_footer.xml
diff --git a/app/src/main/res/layout/group_post_header_view.xml b/app/src/main/res/layout/view_group_post_header.xml
similarity index 100%
rename from app/src/main/res/layout/group_post_header_view.xml
rename to app/src/main/res/layout/view_group_post_header.xml
diff --git a/app/src/main/res/layout/loading_view.xml b/app/src/main/res/layout/view_loading.xml
similarity index 100%
rename from app/src/main/res/layout/loading_view.xml
rename to app/src/main/res/layout/view_loading.xml
diff --git a/app/src/main/res/layout/loading_button_view.xml b/app/src/main/res/layout/view_loading_button.xml
similarity index 100%
rename from app/src/main/res/layout/loading_button_view.xml
rename to app/src/main/res/layout/view_loading_button.xml
diff --git a/app/src/main/res/layout/manage_members_options_view.xml b/app/src/main/res/layout/view_manage_members_options.xml
similarity index 100%
rename from app/src/main/res/layout/manage_members_options_view.xml
rename to app/src/main/res/layout/view_manage_members_options.xml
diff --git a/app/src/main/res/layout/preview_post_view.xml b/app/src/main/res/layout/view_preview_post.xml
similarity index 96%
rename from app/src/main/res/layout/preview_post_view.xml
rename to app/src/main/res/layout/view_preview_post.xml
index c44ec12e4..e4196a3db 100644
--- a/app/src/main/res/layout/preview_post_view.xml
+++ b/app/src/main/res/layout/view_preview_post.xml
@@ -63,7 +63,7 @@
 
         <include
             android:id="@+id/lImageContent"
-            layout="@layout/preview_image_post_content_layout"
+            layout="@layout/layout_preview_image_post_content"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:visibility="gone"
@@ -73,7 +73,7 @@
 
         <include
             android:id="@+id/lVideoContent"
-            layout="@layout/preview_video_post_content_layout"
+            layout="@layout/layout_preview_video_post_content"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:visibility="gone"
diff --git a/app/src/main/res/layout/profile_view.xml b/app/src/main/res/layout/view_profile.xml
similarity index 100%
rename from app/src/main/res/layout/profile_view.xml
rename to app/src/main/res/layout/view_profile.xml
diff --git a/app/src/main/res/layout/success_snack_bar_view.xml b/app/src/main/res/layout/view_success_snack_bar.xml
similarity index 100%
rename from app/src/main/res/layout/success_snack_bar_view.xml
rename to app/src/main/res/layout/view_success_snack_bar.xml
diff --git a/app/src/main/res/layout/text_post_view.xml b/app/src/main/res/layout/view_text_post.xml
similarity index 100%
rename from app/src/main/res/layout/text_post_view.xml
rename to app/src/main/res/layout/view_text_post.xml
diff --git a/app/src/main/res/layout/video_post_view.xml b/app/src/main/res/layout/view_video_post.xml
similarity index 97%
rename from app/src/main/res/layout/video_post_view.xml
rename to app/src/main/res/layout/view_video_post.xml
index 9250b1d10..68756466b 100644
--- a/app/src/main/res/layout/video_post_view.xml
+++ b/app/src/main/res/layout/view_video_post.xml
@@ -13,7 +13,7 @@
 
         <include
             android:id="@+id/videoItem"
-            layout="@layout/gallery_video_list_item"
+            layout="@layout/list_item_gallery_video"
             android:layout_width="match_parent"
             android:layout_height="wrap_content" />
 
diff --git a/app/src/main/res/navigation/circles_nav_graph.xml b/app/src/main/res/navigation/circles_nav_graph.xml
index df1fdc17d..c885f72e1 100644
--- a/app/src/main/res/navigation/circles_nav_graph.xml
+++ b/app/src/main/res/navigation/circles_nav_graph.xml
@@ -9,7 +9,7 @@
         android:id="@+id/circlesFragment"
         android:name="org.futo.circles.feature.circles.CirclesFragment"
         android:label="@string/my_circles"
-        tools:layout="@layout/rooms_fragment">
+        tools:layout="@layout/fragment_rooms">
 
         <action
             android:id="@+id/to_timeline"
@@ -57,7 +57,7 @@
         android:id="@+id/createRoomDialogFragment"
         android:name="org.futo.circles.feature.room.create_room.CreateRoomDialogFragment"
         android:label="CreateCircleDialogFragment"
-        tools:layout="@layout/create_room_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_create_room">
 
         <argument
             android:name="type"
@@ -69,7 +69,7 @@
         android:id="@+id/acceptCircleInviteDialogFragment"
         android:name="org.futo.circles.feature.circles.accept_invite.AcceptCircleInviteDialogFragment"
         android:label="AcceptCircleInviteDialogFragment"
-        tools:layout="@layout/accept_circle_invite_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_accept_circle_invite">
 
         <argument
             android:name="roomId"
diff --git a/app/src/main/res/navigation/groups_nav_graph.xml b/app/src/main/res/navigation/groups_nav_graph.xml
index e9b11da50..f37c4e10d 100644
--- a/app/src/main/res/navigation/groups_nav_graph.xml
+++ b/app/src/main/res/navigation/groups_nav_graph.xml
@@ -9,7 +9,7 @@
         android:id="@+id/groupsFragment"
         android:name="org.futo.circles.feature.groups.GroupsFragment"
         android:label="@string/my_groups"
-        tools:layout="@layout/rooms_fragment">
+        tools:layout="@layout/fragment_rooms">
 
         <action
             android:id="@+id/to_timeline"
@@ -47,7 +47,7 @@
     <dialog
         android:id="@+id/createRoomDialogFragment"
         android:name="org.futo.circles.feature.room.create_room.CreateRoomDialogFragment"
-        tools:layout="@layout/create_room_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_create_room">
 
         <argument
             android:name="type"
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 6c7bbc6b2..6c7147309 100644
--- a/app/src/main/res/navigation/nav_graph_start_host.xml
+++ b/app/src/main/res/navigation/nav_graph_start_host.xml
@@ -9,7 +9,7 @@
         android:id="@+id/splashFragment"
         android:name="org.futo.circles.feature.splash.SplashFragment"
         android:label="Splash"
-        tools:layout="@layout/splash_fragment">
+        tools:layout="@layout/fragment_splash">
 
         <action
             android:id="@+id/to_logInFragment"
@@ -27,7 +27,7 @@
         android:id="@+id/logInFragment"
         android:name="org.futo.circles.feature.log_in.LogInFragment"
         android:label="Log In"
-        tools:layout="@layout/log_in_fragment">
+        tools:layout="@layout/fragment_log_in">
         <action
             android:id="@+id/to_signUpFragment"
             app:destination="@id/signUpFragment" />
@@ -47,7 +47,7 @@
         android:id="@+id/signUpFragment"
         android:name="org.futo.circles.feature.sign_up.SignUpFragment"
         android:label="Sign up"
-        tools:layout="@layout/sign_up_fragment">
+        tools:layout="@layout/fragment_sign_up">
         <action
             android:id="@+id/to_setupProfileFragment"
             app:destination="@id/setupProfileFragment"
@@ -59,7 +59,7 @@
         android:id="@+id/bottomNavigationFragment"
         android:name="org.futo.circles.feature.bottom_navigation.BottomNavigationFragment"
         android:label="Bottom Navigation"
-        tools:layout="@layout/bottom_navigation_fragment">
+        tools:layout="@layout/fragment_bottom_navigation">
 
         <action
             android:id="@+id/to_logInFragment"
@@ -72,7 +72,7 @@
         android:id="@+id/setupProfileFragment"
         android:name="org.futo.circles.feature.sign_up.setup_profile.SetupProfileFragment"
         android:label="SetupProfileFragment"
-        tools:layout="@layout/setup_profile_fragment">
+        tools:layout="@layout/fragment_setup_profile">
         <action
             android:id="@+id/to_setupCirclesFragment"
             app:destination="@id/setupCirclesFragment"
@@ -83,7 +83,7 @@
         android:id="@+id/setupCirclesFragment"
         android:name="org.futo.circles.feature.sign_up.setup_circles.SetupCirclesFragment"
         android:label="SetupCirclesFragment"
-        tools:layout="@layout/setup_circles_fragment">
+        tools:layout="@layout/fragment_setup_circles">
         <action
             android:id="@+id/to_bottomNavigationFragment"
             app:destination="@id/bottomNavigationFragment"
diff --git a/app/src/main/res/navigation/people_nav_graph.xml b/app/src/main/res/navigation/people_nav_graph.xml
index a285bbe58..a65fe08cd 100644
--- a/app/src/main/res/navigation/people_nav_graph.xml
+++ b/app/src/main/res/navigation/people_nav_graph.xml
@@ -9,7 +9,7 @@
         android:id="@+id/peopleFragment"
         android:name="org.futo.circles.feature.people.PeopleFragment"
         android:label="@string/my_people"
-        tools:layout="@layout/people_fragment">
+        tools:layout="@layout/fragment_people">
         <action
             android:id="@+id/to_userFragment"
             app:destination="@id/userFragment">
@@ -25,7 +25,7 @@
     <fragment
         android:id="@+id/userFragment"
         android:name="org.futo.circles.feature.people.user.UserFragment"
-        tools:layout="@layout/user_fragment">
+        tools:layout="@layout/fragment_user">
 
         <argument
             android:name="userId"
diff --git a/app/src/main/res/navigation/photos_nav_graph.xml b/app/src/main/res/navigation/photos_nav_graph.xml
index ed0a80a99..e70836e85 100644
--- a/app/src/main/res/navigation/photos_nav_graph.xml
+++ b/app/src/main/res/navigation/photos_nav_graph.xml
@@ -9,7 +9,7 @@
         android:id="@+id/photosFragment"
         android:name="org.futo.circles.feature.photos.PhotosFragment"
         android:label="@string/photo_galleries"
-        tools:layout="@layout/rooms_fragment">
+        tools:layout="@layout/fragment_rooms">
 
         <action
             android:id="@+id/to_createRoomDialogFragment"
@@ -37,7 +37,7 @@
     <dialog
         android:id="@+id/createRoomDialogFragment"
         android:name="org.futo.circles.feature.room.create_room.CreateRoomDialogFragment"
-        tools:layout="@layout/create_room_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_create_room">
 
         <argument
             android:name="type"
@@ -49,7 +49,7 @@
     <fragment
         android:id="@+id/galleryFragment"
         android:name="org.futo.circles.feature.photos.gallery.GalleryFragment"
-        tools:layout="@layout/gallery_fragment">
+        tools:layout="@layout/fragment_gallery">
 
         <argument
             android:name="roomId"
@@ -94,7 +94,7 @@
     <dialog
         android:id="@+id/updateRoomDialogFragment"
         android:name="org.futo.circles.feature.room.update_room.UpdateRoomDialogFragment"
-        tools:layout="@layout/update_room_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_update_room">
 
         <argument
             android:name="roomId"
@@ -111,7 +111,7 @@
     <dialog
         android:id="@+id/galleryImageDialogFragment"
         android:name="org.futo.circles.feature.photos.preview.MediaPreviewDialogFragment"
-        tools:layout="@layout/media_preview_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_media_preview">
 
         <argument
             android:name="roomId"
diff --git a/app/src/main/res/navigation/settings_nav_graph.xml b/app/src/main/res/navigation/settings_nav_graph.xml
index 8334d09ab..a39e817f2 100644
--- a/app/src/main/res/navigation/settings_nav_graph.xml
+++ b/app/src/main/res/navigation/settings_nav_graph.xml
@@ -9,7 +9,7 @@
         android:id="@+id/settingsFragment"
         android:name="org.futo.circles.feature.settings.SettingsFragment"
         android:label="@string/settings"
-        tools:layout="@layout/settings_fragment">
+        tools:layout="@layout/fragment_settings">
         <action
             android:id="@+id/to_editProfileDialogFragment"
             app:destination="@id/editProfileDialogFragment" />
@@ -41,21 +41,21 @@
         android:id="@+id/editProfileDialogFragment"
         android:name="org.futo.circles.feature.settings.edit_profile.EditProfileDialogFragment"
         android:label="ProfileDialogFragment"
-        tools:layout="@layout/edit_profile_dialog_fragment" />
+        tools:layout="@layout/dialog_fragment_edit_profile" />
     <dialog
         android:id="@+id/changePasswordDialogFragment"
         android:name="org.futo.circles.feature.settings.change_password.ChangePasswordDialogFragment"
         android:label="ChangePasswordDialogFragment"
-        tools:layout="@layout/change_password_dialog_fragment" />
+        tools:layout="@layout/dialog_fragment_change_password" />
     <dialog
         android:id="@+id/activeSessionsDialogFragment"
         android:name="org.futo.circles.feature.settings.active_sessions.ActiveSessionsDialogFragment"
         android:label="ActiveSessionsDialogFragment"
-        tools:layout="@layout/active_sessions_dialog_fragment" />
+        tools:layout="@layout/dialog_fragment_active_sessions" />
     <dialog
         android:id="@+id/systemNoticesDialogFragment"
         android:name="org.futo.circles.feature.notices.SystemNoticesDialogFragment"
-        tools:layout="@layout/system_notices_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_system_notices">
 
         <argument
             android:name="roomId"
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 9f1cd8081..60377b00f 100644
--- a/app/src/main/res/navigation/sign_up_nav_graph.xml
+++ b/app/src/main/res/navigation/sign_up_nav_graph.xml
@@ -24,27 +24,27 @@
     <fragment
         android:id="@+id/selectSignUpTypeFragment"
         android:name="org.futo.circles.feature.sign_up.sign_up_type.SelectSignUpTypeFragment"
-        tools:layout="@layout/select_sign_up_type_fragment" />
+        tools:layout="@layout/fragment_select_sign_up_type" />
 
     <fragment
         android:id="@+id/validateTokenFragment"
         android:name="org.futo.circles.feature.sign_up.validate_token.ValidateTokenFragment"
-        tools:layout="@layout/validate_token_fragment" />
+        tools:layout="@layout/fragment_validate_token" />
 
     <fragment
         android:id="@+id/validateEmailFragment"
         android:name="org.futo.circles.feature.sign_up.validate_email.ValidateEmailFragment"
-        tools:layout="@layout/validate_email_fragment" />
+        tools:layout="@layout/fragment_validate_email" />
 
     <fragment
         android:id="@+id/acceptTermsFragment"
         android:name="org.futo.circles.feature.sign_up.terms.AcceptTermsFragment"
-        tools:layout="@layout/accept_terms_fragment" />
+        tools:layout="@layout/fragment_accept_terms" />
 
     <fragment
         android:id="@+id/subscriptionStageFragment"
         android:name="org.futo.circles.feature.sign_up.subscription_stage.SubscriptionStageFragment"
-        tools:layout="@layout/subscription_stage_fragment" />
+        tools:layout="@layout/fragment_subscription_stage" />
 
 
 </navigation>
\ No newline at end of file
diff --git a/app/src/main/res/navigation/timeline_nav_graph.xml b/app/src/main/res/navigation/timeline_nav_graph.xml
index 685fd22c5..5f99eb6db 100644
--- a/app/src/main/res/navigation/timeline_nav_graph.xml
+++ b/app/src/main/res/navigation/timeline_nav_graph.xml
@@ -9,7 +9,7 @@
     <fragment
         android:id="@+id/timelineFragment"
         android:name="org.futo.circles.feature.timeline.TimelineFragment"
-        tools:layout="@layout/timeline_fragment">
+        tools:layout="@layout/fragment_timeline">
 
         <argument
             android:name="roomId"
@@ -157,7 +157,7 @@
     <dialog
         android:id="@+id/inviteMembersDialogFragment"
         android:name="org.futo.circles.feature.room.invite.InviteMembersDialogFragment"
-        tools:layout="@layout/invite_members_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_invite_members">
 
         <argument
             android:name="roomId"
@@ -169,7 +169,7 @@
     <dialog
         android:id="@+id/manageMembersDialogFragment"
         android:name="org.futo.circles.feature.room.manage_members.ManageMembersDialogFragment"
-        tools:layout="@layout/manage_members_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_manage_members">
 
         <argument
             android:name="roomId"
@@ -207,7 +207,7 @@
         android:id="@+id/changeAccessLevelBottomSheet"
         android:name="org.futo.circles.feature.room.manage_members.change_role.ChangeAccessLevelBottomSheet"
         android:label="ChangeAccessLevelBottomSheet"
-        tools:layout="@layout/change_access_level_bottom_sheet">
+        tools:layout="@layout/bottom_sheet_change_access_level">
 
         <argument
             android:name="userId"
@@ -229,7 +229,7 @@
         android:id="@+id/updateRoomDialogFragment"
         android:name="org.futo.circles.feature.room.update_room.UpdateRoomDialogFragment"
         android:label="UpdateRoomDialogFragment"
-        tools:layout="@layout/update_room_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_update_room">
 
         <argument
             android:name="roomId"
@@ -247,7 +247,7 @@
         android:id="@+id/createPostBottomSheet"
         android:name="org.futo.circles.feature.timeline.post.CreatePostDialogFragment"
         android:label="CreatePostBottomSheet"
-        tools:layout="@layout/create_post_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_create_post">
 
         <argument
             android:name="roomId"
@@ -269,7 +269,7 @@
         android:id="@+id/reportDialogFragment"
         android:name="org.futo.circles.feature.timeline.post.report.ReportDialogFragment"
         android:label="ReportDialogFragment"
-        tools:layout="@layout/report_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_report">
 
         <argument
             android:name="roomId"
@@ -286,7 +286,7 @@
         android:id="@+id/emojiBottomSheet"
         android:name="org.futo.circles.feature.timeline.post.emoji.EmojiBottomSheet"
         android:label="EmojiBottomSheet"
-        tools:layout="@layout/emoji_bottom_sheet">
+        tools:layout="@layout/bottom_sheet_emoji">
 
         <argument
             android:name="roomId"
@@ -303,7 +303,7 @@
         android:id="@+id/followingDialogFragment"
         android:name="org.futo.circles.feature.circles.following.FollowingDialogFragment"
         android:label="FollowingDialogFragment"
-        tools:layout="@layout/following_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_following">
 
         <argument
             android:name="roomId"
@@ -314,7 +314,7 @@
     <dialog
         android:id="@+id/saveToGalleyDialogFragment"
         android:name="org.futo.circles.feature.photos.save.SaveToGalleyDialogFragment"
-        tools:layout="@layout/save_to_gallery_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_save_to_gallery">
 
         <argument
             android:name="roomId"
@@ -330,7 +330,7 @@
     <dialog
         android:id="@+id/mediaPreviewDialogFragment"
         android:name="org.futo.circles.feature.photos.preview.MediaPreviewDialogFragment"
-        tools:layout="@layout/media_preview_dialog_fragment">
+        tools:layout="@layout/dialog_fragment_media_preview">
 
         <argument
             android:name="roomId"
-- 
GitLab