From 82f639b91fb3266c5e320db3aef358cc97f4a187 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 8 Nov 2019 12:09:01 +0100 Subject: [PATCH] Rename to Shared --- .../core/platform/VectorEventViewModel.kt | 4 +- .../riotx/features/home/HomeActivity.kt | 8 ++-- ...yAction.kt => HomeActivitySharedAction.kt} | 8 ++-- .../riotx/features/home/HomeDetailFragment.kt | 6 +-- ...wModel.kt => HomeSharedActionViewModel.kt} | 4 +- .../createdirect/CreateDirectRoomActivity.kt | 10 ++--- .../CreateDirectRoomDirectoryUsersFragment.kt | 8 ++-- .../CreateDirectRoomKnownUsersFragment.kt | 6 +-- ...ion.kt => CreateDirectRoomSharedAction.kt} | 10 ++--- ... CreateDirectRoomSharedActionViewModel.kt} | 4 +- .../features/home/group/GroupListFragment.kt | 10 ++--- .../home/room/detail/RoomDetailFragment.kt | 44 +++++++++---------- .../{EventAction.kt => EventSharedAction.kt} | 44 +++++++++---------- .../action/MessageActionsBottomSheet.kt | 4 +- .../action/MessageActionsDispatcher.kt | 4 +- .../action/MessageActionsEpoxyController.kt | 14 +++--- .../action/MessageActionsViewModel.kt | 38 ++++++++-------- .../home/room/list/RoomListFragment.kt | 16 +++---- .../RoomListQuickActionsBottomSheet.kt | 2 +- .../RoomListQuickActionsEpoxyController.kt | 28 ++++++------ .../list/actions/RoomListQuickActionsStore.kt | 4 +- ...Action.kt => RoomListQuickSharedAction.kt} | 16 +++---- .../roomdirectory/PublicRoomsFragment.kt | 8 ++-- .../roomdirectory/RoomDirectoryActivity.kt | 12 ++--- ...Action.kt => RoomDirectorySharedAction.kt} | 12 ++--- ... => RoomDirectorySharedActionViewModel.kt} | 4 +- .../createroom/CreateRoomActivity.kt | 12 ++--- .../createroom/CreateRoomFragment.kt | 12 ++--- .../picker/RoomDirectoryPickerFragment.kt | 10 ++--- 29 files changed, 181 insertions(+), 181 deletions(-) rename vector/src/main/java/im/vector/riotx/features/home/{HomeActivityAction.kt => HomeActivitySharedAction.kt} (76%) rename vector/src/main/java/im/vector/riotx/features/home/{HomeActionViewModel.kt => HomeSharedActionViewModel.kt} (80%) rename vector/src/main/java/im/vector/riotx/features/home/createdirect/{CreateDirectRoomAction.kt => CreateDirectRoomSharedAction.kt} (69%) rename vector/src/main/java/im/vector/riotx/features/home/createdirect/{CreateDirectRoomActionViewModel.kt => CreateDirectRoomSharedActionViewModel.kt} (79%) rename vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/{EventAction.kt => EventSharedAction.kt} (54%) rename vector/src/main/java/im/vector/riotx/features/home/room/list/actions/{RoomListQuickAction.kt => RoomListQuickSharedAction.kt} (80%) rename vector/src/main/java/im/vector/riotx/features/roomdirectory/{RoomDirectoryAction.kt => RoomDirectorySharedAction.kt} (69%) rename vector/src/main/java/im/vector/riotx/features/roomdirectory/{RoomDirectoryActionViewModel.kt => RoomDirectorySharedActionViewModel.kt} (79%) diff --git a/vector/src/main/java/im/vector/riotx/core/platform/VectorEventViewModel.kt b/vector/src/main/java/im/vector/riotx/core/platform/VectorEventViewModel.kt index 977991cd4a..4bf21c9aa9 100644 --- a/vector/src/main/java/im/vector/riotx/core/platform/VectorEventViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/core/platform/VectorEventViewModel.kt @@ -21,10 +21,10 @@ import im.vector.riotx.core.utils.MutableDataSource import im.vector.riotx.core.utils.PublishDataSource -interface VectorAction +interface VectorSharedAction /** * Parent class to handle navigation events, action events, or other any events */ -open class VectorActionViewModel(private val store: MutableDataSource = PublishDataSource()) +open class VectorSharedActionViewModel(private val store: MutableDataSource = PublishDataSource()) : ViewModel(), MutableDataSource by store diff --git a/vector/src/main/java/im/vector/riotx/features/home/HomeActivity.kt b/vector/src/main/java/im/vector/riotx/features/home/HomeActivity.kt index 7b86cfe67f..f4694bff38 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/HomeActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/HomeActivity.kt @@ -47,7 +47,7 @@ import javax.inject.Inject class HomeActivity : VectorBaseActivity(), ToolbarConfigurable { - private lateinit var actionViewModel: HomeActionViewModel + private lateinit var actionViewModel: HomeSharedActionViewModel @Inject lateinit var activeSessionHolder: ActiveSessionHolder @Inject lateinit var vectorUncaughtExceptionHandler: VectorUncaughtExceptionHandler @@ -69,7 +69,7 @@ class HomeActivity : VectorBaseActivity(), ToolbarConfigurable { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) FcmHelper.ensureFcmTokenIsRetrieved(this, pushManager) - actionViewModel = ViewModelProviders.of(this).get(HomeActionViewModel::class.java) + actionViewModel = ViewModelProviders.of(this).get(HomeSharedActionViewModel::class.java) drawerLayout.addDrawerListener(drawerListener) if (isFirstCreation()) { replaceFragment(R.id.homeDetailFragmentContainer, LoadingFragment::class.java) @@ -79,8 +79,8 @@ class HomeActivity : VectorBaseActivity(), ToolbarConfigurable { actionViewModel.observe() .subscribe { navigation -> when (navigation) { - is HomeActivityAction.OpenDrawer -> drawerLayout.openDrawer(GravityCompat.START) - is HomeActivityAction.OpenGroup -> { + is HomeActivitySharedAction.OpenDrawer -> drawerLayout.openDrawer(GravityCompat.START) + is HomeActivitySharedAction.OpenGroup -> { drawerLayout.closeDrawer(GravityCompat.START) replaceFragment(R.id.homeDetailFragmentContainer, HomeDetailFragment::class.java) } diff --git a/vector/src/main/java/im/vector/riotx/features/home/HomeActivityAction.kt b/vector/src/main/java/im/vector/riotx/features/home/HomeActivitySharedAction.kt similarity index 76% rename from vector/src/main/java/im/vector/riotx/features/home/HomeActivityAction.kt rename to vector/src/main/java/im/vector/riotx/features/home/HomeActivitySharedAction.kt index 91612fa7b6..493a14512d 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/HomeActivityAction.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/HomeActivitySharedAction.kt @@ -16,12 +16,12 @@ package im.vector.riotx.features.home -import im.vector.riotx.core.platform.VectorAction +import im.vector.riotx.core.platform.VectorSharedAction /** * Supported navigation actions for [HomeActivity] */ -sealed class HomeActivityAction : VectorAction { - object OpenDrawer : HomeActivityAction() - object OpenGroup : HomeActivityAction() +sealed class HomeActivitySharedAction : VectorSharedAction { + object OpenDrawer : HomeActivitySharedAction() + object OpenGroup : HomeActivitySharedAction() } diff --git a/vector/src/main/java/im/vector/riotx/features/home/HomeDetailFragment.kt b/vector/src/main/java/im/vector/riotx/features/home/HomeDetailFragment.kt index 6b642a31eb..c6b7280f0c 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/HomeDetailFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/HomeDetailFragment.kt @@ -54,7 +54,7 @@ class HomeDetailFragment @Inject constructor( private val unreadCounterBadgeViews = arrayListOf() private val viewModel: HomeDetailViewModel by fragmentViewModel() - private lateinit var actionViewModel: HomeActionViewModel + private lateinit var actionViewModel: HomeSharedActionViewModel override fun getLayoutResId(): Int { return R.layout.fragment_home_detail @@ -63,7 +63,7 @@ class HomeDetailFragment @Inject constructor( override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) - actionViewModel = ViewModelProviders.of(requireActivity()).get(HomeActionViewModel::class.java) + actionViewModel = ViewModelProviders.of(requireActivity()).get(HomeSharedActionViewModel::class.java) setupBottomNavigationView() setupToolbar() @@ -129,7 +129,7 @@ class HomeDetailFragment @Inject constructor( } groupToolbar.title = "" groupToolbarAvatarImageView.setOnClickListener { - actionViewModel.post(HomeActivityAction.OpenDrawer) + actionViewModel.post(HomeActivitySharedAction.OpenDrawer) } } diff --git a/vector/src/main/java/im/vector/riotx/features/home/HomeActionViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/HomeSharedActionViewModel.kt similarity index 80% rename from vector/src/main/java/im/vector/riotx/features/home/HomeActionViewModel.kt rename to vector/src/main/java/im/vector/riotx/features/home/HomeSharedActionViewModel.kt index 3d9f13e20a..23baa53e3b 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/HomeActionViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/HomeSharedActionViewModel.kt @@ -16,6 +16,6 @@ package im.vector.riotx.features.home -import im.vector.riotx.core.platform.VectorActionViewModel +import im.vector.riotx.core.platform.VectorSharedActionViewModel -class HomeActionViewModel : VectorActionViewModel() +class HomeSharedActionViewModel : VectorSharedActionViewModel() diff --git a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomActivity.kt b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomActivity.kt index c1f71dfe08..379611d970 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomActivity.kt @@ -39,7 +39,7 @@ import javax.inject.Inject class CreateDirectRoomActivity : SimpleFragmentActivity() { private val viewModel: CreateDirectRoomViewModel by viewModel() - private lateinit var actionViewModel: CreateDirectRoomActionViewModel + private lateinit var actionViewModel: CreateDirectRoomSharedActionViewModel @Inject lateinit var createDirectRoomViewModelFactory: CreateDirectRoomViewModel.Factory @Inject lateinit var errorFormatter: ErrorFormatter @@ -51,13 +51,13 @@ class CreateDirectRoomActivity : SimpleFragmentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) toolbar.visibility = View.GONE - actionViewModel = ViewModelProviders.of(this, viewModelFactory).get(CreateDirectRoomActionViewModel::class.java) + actionViewModel = ViewModelProviders.of(this, viewModelFactory).get(CreateDirectRoomSharedActionViewModel::class.java) actionViewModel.observe() .subscribe { navigation -> when (navigation) { - CreateDirectRoomAction.OpenUsersDirectory -> addFragmentToBackstack(R.id.container, CreateDirectRoomDirectoryUsersFragment::class.java) - CreateDirectRoomAction.Close -> finish() - CreateDirectRoomAction.GoBack -> onBackPressed() + CreateDirectRoomSharedAction.OpenUsersDirectory -> addFragmentToBackstack(R.id.container, CreateDirectRoomDirectoryUsersFragment::class.java) + CreateDirectRoomSharedAction.Close -> finish() + CreateDirectRoomSharedAction.GoBack -> onBackPressed() } } .disposeOnDestroy() diff --git a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomDirectoryUsersFragment.kt b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomDirectoryUsersFragment.kt index 2e8d7ea00d..7e8e5a16d4 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomDirectoryUsersFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomDirectoryUsersFragment.kt @@ -39,11 +39,11 @@ class CreateDirectRoomDirectoryUsersFragment @Inject constructor( private val viewModel: CreateDirectRoomViewModel by activityViewModel() - private lateinit var actionViewModel: CreateDirectRoomActionViewModel + private lateinit var actionViewModel: CreateDirectRoomSharedActionViewModel override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) - actionViewModel = ViewModelProviders.of(requireActivity(), viewModelFactory).get(CreateDirectRoomActionViewModel::class.java) + actionViewModel = ViewModelProviders.of(requireActivity(), viewModelFactory).get(CreateDirectRoomSharedActionViewModel::class.java) setupRecyclerView() setupSearchByMatrixIdView() setupCloseView() @@ -70,7 +70,7 @@ class CreateDirectRoomDirectoryUsersFragment @Inject constructor( private fun setupCloseView() { createDirectRoomClose.setOnClickListener { - actionViewModel.post(CreateDirectRoomAction.GoBack) + actionViewModel.post(CreateDirectRoomSharedAction.GoBack) } } @@ -81,7 +81,7 @@ class CreateDirectRoomDirectoryUsersFragment @Inject constructor( override fun onItemClick(user: User) { view?.hideKeyboard() viewModel.handle(CreateDirectRoomActions.SelectUser(user)) - actionViewModel.post(CreateDirectRoomAction.GoBack) + actionViewModel.post(CreateDirectRoomSharedAction.GoBack) } override fun retryDirectoryUsersRequest() { diff --git a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomKnownUsersFragment.kt b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomKnownUsersFragment.kt index 9b0a289a48..bbfab88528 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomKnownUsersFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomKnownUsersFragment.kt @@ -49,11 +49,11 @@ class CreateDirectRoomKnownUsersFragment @Inject constructor( override fun getMenuRes() = R.menu.vector_create_direct_room private val viewModel: CreateDirectRoomViewModel by activityViewModel() - private lateinit var actionViewModel: CreateDirectRoomActionViewModel + private lateinit var actionViewModel: CreateDirectRoomSharedActionViewModel override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) - actionViewModel = ViewModelProviders.of(requireActivity(), viewModelFactory).get(CreateDirectRoomActionViewModel::class.java) + actionViewModel = ViewModelProviders.of(requireActivity(), viewModelFactory).get(CreateDirectRoomSharedActionViewModel::class.java) vectorBaseActivity.setSupportActionBar(createDirectRoomToolbar) setupRecyclerView() setupFilterView() @@ -89,7 +89,7 @@ class CreateDirectRoomKnownUsersFragment @Inject constructor( private fun setupAddByMatrixIdView() { addByMatrixId.setOnClickListener { - actionViewModel.post(CreateDirectRoomAction.OpenUsersDirectory) + actionViewModel.post(CreateDirectRoomSharedAction.OpenUsersDirectory) } } diff --git a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomAction.kt b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomSharedAction.kt similarity index 69% rename from vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomAction.kt rename to vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomSharedAction.kt index 3cd06aa63f..0df6720734 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomAction.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomSharedAction.kt @@ -16,10 +16,10 @@ package im.vector.riotx.features.home.createdirect -import im.vector.riotx.core.platform.VectorAction +import im.vector.riotx.core.platform.VectorSharedAction -sealed class CreateDirectRoomAction : VectorAction { - object OpenUsersDirectory : CreateDirectRoomAction() - object Close : CreateDirectRoomAction() - object GoBack : CreateDirectRoomAction() +sealed class CreateDirectRoomSharedAction : VectorSharedAction { + object OpenUsersDirectory : CreateDirectRoomSharedAction() + object Close : CreateDirectRoomSharedAction() + object GoBack : CreateDirectRoomSharedAction() } diff --git a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomActionViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomSharedActionViewModel.kt similarity index 79% rename from vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomActionViewModel.kt rename to vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomSharedActionViewModel.kt index 66f50829f8..7e5a2bbe93 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomActionViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/createdirect/CreateDirectRoomSharedActionViewModel.kt @@ -16,6 +16,6 @@ package im.vector.riotx.features.home.createdirect -import im.vector.riotx.core.platform.VectorActionViewModel +import im.vector.riotx.core.platform.VectorSharedActionViewModel -class CreateDirectRoomActionViewModel : VectorActionViewModel() +class CreateDirectRoomSharedActionViewModel : VectorSharedActionViewModel() diff --git a/vector/src/main/java/im/vector/riotx/features/home/group/GroupListFragment.kt b/vector/src/main/java/im/vector/riotx/features/home/group/GroupListFragment.kt index 7f115ecc56..9972e7ac1c 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/group/GroupListFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/group/GroupListFragment.kt @@ -26,8 +26,8 @@ import im.vector.riotx.R import im.vector.riotx.core.extensions.observeEvent import im.vector.riotx.core.platform.StateView import im.vector.riotx.core.platform.VectorBaseFragment -import im.vector.riotx.features.home.HomeActionViewModel -import im.vector.riotx.features.home.HomeActivityAction +import im.vector.riotx.features.home.HomeSharedActionViewModel +import im.vector.riotx.features.home.HomeActivitySharedAction import kotlinx.android.synthetic.main.fragment_group_list.* import javax.inject.Inject @@ -36,20 +36,20 @@ class GroupListFragment @Inject constructor( private val groupController: GroupSummaryController ) : VectorBaseFragment(), GroupSummaryController.Callback { - private lateinit var actionViewModel: HomeActionViewModel + private lateinit var actionViewModel: HomeSharedActionViewModel private val viewModel: GroupListViewModel by fragmentViewModel() override fun getLayoutResId() = R.layout.fragment_group_list override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) - actionViewModel = ViewModelProviders.of(requireActivity()).get(HomeActionViewModel::class.java) + actionViewModel = ViewModelProviders.of(requireActivity()).get(HomeSharedActionViewModel::class.java) groupController.callback = this stateView.contentView = groupListEpoxyRecyclerView groupListEpoxyRecyclerView.setController(groupController) viewModel.subscribe { renderState(it) } viewModel.openGroupLiveData.observeEvent(this) { - actionViewModel.post(HomeActivityAction.OpenGroup) + actionViewModel.post(HomeActivitySharedAction.OpenGroup) } } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt index 83004a35de..473b131348 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailFragment.kt @@ -99,7 +99,7 @@ import im.vector.riotx.features.home.room.detail.readreceipts.DisplayReadReceipt import im.vector.riotx.features.home.room.detail.timeline.TimelineEventController import im.vector.riotx.features.home.room.detail.timeline.action.MessageActionsBottomSheet import im.vector.riotx.features.home.room.detail.timeline.action.MessageActionsDispatcher -import im.vector.riotx.features.home.room.detail.timeline.action.EventAction +import im.vector.riotx.features.home.room.detail.timeline.action.EventSharedAction import im.vector.riotx.features.home.room.detail.timeline.edithistory.ViewEditHistoryBottomSheet import im.vector.riotx.features.home.room.detail.timeline.item.* import im.vector.riotx.features.home.room.detail.timeline.reactions.ViewReactionsBottomSheet @@ -749,7 +749,7 @@ class RoomDetailFragment @Inject constructor( .show() } - private fun promptReasonToReportContent(action: EventAction.ReportContentCustom) { + private fun promptReasonToReportContent(action: EventSharedAction.ReportContentCustom) { val inflater = requireActivity().layoutInflater val layout = inflater.inflate(R.layout.dialog_report_content, null) @@ -1037,25 +1037,25 @@ class RoomDetailFragment @Inject constructor( textComposerViewModel.process(TextComposerActions.QueryUsers(query)) } - private fun handleActions(action: EventAction) { + private fun handleActions(action: EventSharedAction) { when (action) { - is EventAction.AddReaction -> { + is EventSharedAction.AddReaction -> { startActivityForResult(EmojiReactionPickerActivity.intent(requireContext(), action.eventId), REACTION_SELECT_REQUEST_CODE) } - is EventAction.ViewReactions -> { + is EventSharedAction.ViewReactions -> { ViewReactionsBottomSheet.newInstance(roomDetailArgs.roomId, action.messageInformationData) .show(requireActivity().supportFragmentManager, "DISPLAY_REACTIONS") } - is EventAction.Copy -> { + is EventSharedAction.Copy -> { // I need info about the current selected message :/ copyToClipboard(requireContext(), action.content, false) val msg = requireContext().getString(R.string.copied_to_clipboard) showSnackWithMessage(msg, Snackbar.LENGTH_SHORT) } - is EventAction.Delete -> { + is EventSharedAction.Delete -> { roomDetailViewModel.process(RoomDetailActions.RedactAction(action.eventId, context?.getString(R.string.event_redacted_by_user_reason))) } - is EventAction.Share -> { + is EventSharedAction.Share -> { // TODO current data communication is too limited // Need to now the media type // TODO bad, just POC @@ -1083,10 +1083,10 @@ class RoomDetailFragment @Inject constructor( } ) } - is EventAction.ViewEditHistory -> { + is EventSharedAction.ViewEditHistory -> { onEditedDecorationClicked(action.messageInformationData) } - is EventAction.ViewSource -> { + is EventSharedAction.ViewSource -> { val view = LayoutInflater.from(requireContext()).inflate(R.layout.dialog_event_content, null) view.findViewById(R.id.event_content_text_view)?.let { it.text = action.content @@ -1097,7 +1097,7 @@ class RoomDetailFragment @Inject constructor( .setPositiveButton(R.string.ok, null) .show() } - is EventAction.ViewDecryptedSource -> { + is EventSharedAction.ViewDecryptedSource -> { val view = LayoutInflater.from(requireContext()).inflate(R.layout.dialog_event_content, null) view.findViewById(R.id.event_content_text_view)?.let { it.text = action.content @@ -1108,42 +1108,42 @@ class RoomDetailFragment @Inject constructor( .setPositiveButton(R.string.ok, null) .show() } - is EventAction.QuickReact -> { + is EventSharedAction.QuickReact -> { // eventId,ClickedOn,Add roomDetailViewModel.process(RoomDetailActions.UpdateQuickReactAction(action.eventId, action.clickedOn, action.add)) } - is EventAction.Edit -> { + is EventSharedAction.Edit -> { roomDetailViewModel.process(RoomDetailActions.EnterEditMode(action.eventId, composerLayout.composerEditText.text.toString())) } - is EventAction.Quote -> { + is EventSharedAction.Quote -> { roomDetailViewModel.process(RoomDetailActions.EnterQuoteMode(action.eventId, composerLayout.composerEditText.text.toString())) } - is EventAction.Reply -> { + is EventSharedAction.Reply -> { roomDetailViewModel.process(RoomDetailActions.EnterReplyMode(action.eventId, composerLayout.composerEditText.text.toString())) } - is EventAction.CopyPermalink -> { + is EventSharedAction.CopyPermalink -> { val permalink = PermalinkFactory.createPermalink(roomDetailArgs.roomId, action.eventId) copyToClipboard(requireContext(), permalink, false) showSnackWithMessage(requireContext().getString(R.string.copied_to_clipboard), Snackbar.LENGTH_SHORT) } - is EventAction.Resend -> { + is EventSharedAction.Resend -> { roomDetailViewModel.process(RoomDetailActions.ResendMessage(action.eventId)) } - is EventAction.Remove -> { + is EventSharedAction.Remove -> { roomDetailViewModel.process(RoomDetailActions.RemoveFailedEcho(action.eventId)) } - is EventAction.ReportContentSpam -> { + is EventSharedAction.ReportContentSpam -> { roomDetailViewModel.process(RoomDetailActions.ReportContent( action.eventId, action.senderId, "This message is spam", spam = true)) } - is EventAction.ReportContentInappropriate -> { + is EventSharedAction.ReportContentInappropriate -> { roomDetailViewModel.process(RoomDetailActions.ReportContent( action.eventId, action.senderId, "This message is inappropriate", inappropriate = true)) } - is EventAction.ReportContentCustom -> { + is EventSharedAction.ReportContentCustom -> { promptReasonToReportContent(action) } - else -> { + else -> { Toast.makeText(context, "Action $action is not implemented yet", Toast.LENGTH_LONG).show() } } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/EventAction.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/EventSharedAction.kt similarity index 54% rename from vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/EventAction.kt rename to vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/EventSharedAction.kt index 79d615112c..73a4e245d0 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/EventAction.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/EventSharedAction.kt @@ -19,67 +19,67 @@ package im.vector.riotx.features.home.room.detail.timeline.action import androidx.annotation.DrawableRes import androidx.annotation.StringRes import im.vector.riotx.R -import im.vector.riotx.core.platform.VectorAction +import im.vector.riotx.core.platform.VectorSharedAction import im.vector.riotx.features.home.room.detail.timeline.item.MessageInformationData -sealed class EventAction(@StringRes val titleRes: Int, @DrawableRes val iconResId: Int) : VectorAction { +sealed class EventSharedAction(@StringRes val titleRes: Int, @DrawableRes val iconResId: Int) : VectorSharedAction { data class AddReaction(val eventId: String) : - EventAction(R.string.message_add_reaction, R.drawable.ic_add_reaction) + EventSharedAction(R.string.message_add_reaction, R.drawable.ic_add_reaction) data class Copy(val content: String) : - EventAction(R.string.copy, R.drawable.ic_copy) + EventSharedAction(R.string.copy, R.drawable.ic_copy) data class Edit(val eventId: String) : - EventAction(R.string.edit, R.drawable.ic_edit) + EventSharedAction(R.string.edit, R.drawable.ic_edit) data class Quote(val eventId: String) : - EventAction(R.string.quote, R.drawable.ic_quote) + EventSharedAction(R.string.quote, R.drawable.ic_quote) data class Reply(val eventId: String) : - EventAction(R.string.reply, R.drawable.ic_reply) + EventSharedAction(R.string.reply, R.drawable.ic_reply) data class Share(val imageUrl: String) : - EventAction(R.string.share, R.drawable.ic_share) + EventSharedAction(R.string.share, R.drawable.ic_share) data class Resend(val eventId: String) : - EventAction(R.string.global_retry, R.drawable.ic_refresh_cw) + EventSharedAction(R.string.global_retry, R.drawable.ic_refresh_cw) data class Remove(val eventId: String) : - EventAction(R.string.remove, R.drawable.ic_trash) + EventSharedAction(R.string.remove, R.drawable.ic_trash) data class Delete(val eventId: String) : - EventAction(R.string.delete, R.drawable.ic_delete) + EventSharedAction(R.string.delete, R.drawable.ic_delete) data class Cancel(val eventId: String) : - EventAction(R.string.cancel, R.drawable.ic_close_round) + EventSharedAction(R.string.cancel, R.drawable.ic_close_round) data class ViewSource(val content: String) : - EventAction(R.string.view_source, R.drawable.ic_view_source) + EventSharedAction(R.string.view_source, R.drawable.ic_view_source) data class ViewDecryptedSource(val content: String) : - EventAction(R.string.view_decrypted_source, R.drawable.ic_view_source) + EventSharedAction(R.string.view_decrypted_source, R.drawable.ic_view_source) data class CopyPermalink(val eventId: String) : - EventAction(R.string.permalink, R.drawable.ic_permalink) + EventSharedAction(R.string.permalink, R.drawable.ic_permalink) data class ReportContent(val eventId: String, val senderId: String?) : - EventAction(R.string.report_content, R.drawable.ic_flag) + EventSharedAction(R.string.report_content, R.drawable.ic_flag) data class ReportContentSpam(val eventId: String, val senderId: String?) : - EventAction(R.string.report_content_spam, R.drawable.ic_report_spam) + EventSharedAction(R.string.report_content_spam, R.drawable.ic_report_spam) data class ReportContentInappropriate(val eventId: String, val senderId: String?) : - EventAction(R.string.report_content_inappropriate, R.drawable.ic_report_inappropriate) + EventSharedAction(R.string.report_content_inappropriate, R.drawable.ic_report_inappropriate) data class ReportContentCustom(val eventId: String, val senderId: String?) : - EventAction(R.string.report_content_custom, R.drawable.ic_report_custom) + EventSharedAction(R.string.report_content_custom, R.drawable.ic_report_custom) data class QuickReact(val eventId: String, val clickedOn: String, val add: Boolean) : - EventAction(0, 0) + EventSharedAction(0, 0) data class ViewReactions(val messageInformationData: MessageInformationData) : - EventAction(R.string.message_view_reaction, R.drawable.ic_view_reactions) + EventSharedAction(R.string.message_view_reaction, R.drawable.ic_view_reactions) data class ViewEditHistory(val messageInformationData: MessageInformationData) : - EventAction(R.string.message_view_edit_history, R.drawable.ic_view_edit_history) + EventSharedAction(R.string.message_view_edit_history, R.drawable.ic_view_edit_history) } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsBottomSheet.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsBottomSheet.kt index fa738e5c42..479a9dd05c 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsBottomSheet.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsBottomSheet.kt @@ -69,8 +69,8 @@ class MessageActionsBottomSheet : VectorBaseBottomSheetDialogFragment(), Message messageActionsEpoxyController.listener = this } - override fun didSelectMenuAction(eventAction: EventAction) { - if (eventAction is EventAction.ReportContent) { + override fun didSelectMenuAction(eventAction: EventSharedAction) { + if (eventAction is EventSharedAction.ReportContent) { // Toggle report menu viewModel.toggleReportMenu() } else { diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsDispatcher.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsDispatcher.kt index 54f9d0d583..0d4cd201d8 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsDispatcher.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsDispatcher.kt @@ -15,9 +15,9 @@ */ package im.vector.riotx.features.home.room.detail.timeline.action -import im.vector.riotx.core.platform.VectorActionViewModel +import im.vector.riotx.core.platform.VectorSharedActionViewModel /** * Activity shared view model to handle message actions */ -class MessageActionsDispatcher : VectorActionViewModel() +class MessageActionsDispatcher : VectorSharedActionViewModel() diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsEpoxyController.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsEpoxyController.kt index e30a383087..0917f52779 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsEpoxyController.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsEpoxyController.kt @@ -84,7 +84,7 @@ class MessageActionsEpoxyController @Inject constructor(private val stringProvid selecteds(state.quickStates.invoke().map { it.isSelected }) listener(object : BottomSheetItemQuickReactions.Listener { override fun didSelect(emoji: String, selected: Boolean) { - listener?.didSelectMenuAction(EventAction.QuickReact(state.eventId, emoji, selected)) + listener?.didSelectMenuAction(EventSharedAction.QuickReact(state.eventId, emoji, selected)) } }) } @@ -101,17 +101,17 @@ class MessageActionsEpoxyController @Inject constructor(private val stringProvid id("action_$index") iconRes(action.iconResId) textRes(action.titleRes) - showExpand(action is EventAction.ReportContent) + showExpand(action is EventSharedAction.ReportContent) expanded(state.expendedReportContentMenu) listener(View.OnClickListener { listener?.didSelectMenuAction(action) }) } - if (action is EventAction.ReportContent && state.expendedReportContentMenu) { + if (action is EventSharedAction.ReportContent && state.expendedReportContentMenu) { // Special case for report content menu: add the submenu listOf( - EventAction.ReportContentSpam(action.eventId, action.senderId), - EventAction.ReportContentInappropriate(action.eventId, action.senderId), - EventAction.ReportContentCustom(action.eventId, action.senderId) + EventSharedAction.ReportContentSpam(action.eventId, action.senderId), + EventSharedAction.ReportContentInappropriate(action.eventId, action.senderId), + EventSharedAction.ReportContentCustom(action.eventId, action.senderId) ).forEachIndexed { indexReport, actionReport -> bottomSheetItemAction { id("actionReport_$indexReport") @@ -126,6 +126,6 @@ class MessageActionsEpoxyController @Inject constructor(private val stringProvid } interface MessageActionsEpoxyControllerListener { - fun didSelectMenuAction(eventAction: EventAction) + fun didSelectMenuAction(eventAction: EventSharedAction) } } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsViewModel.kt index 92be124940..42d0c1d201 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/timeline/action/MessageActionsViewModel.kt @@ -62,7 +62,7 @@ data class MessageActionState( // For quick reactions val quickStates: Async> = Uninitialized, // For actions - val actions: Async> = Uninitialized, + val actions: Async> = Uninitialized, val expendedReportContentMenu: Boolean = false ) : MvRxState { @@ -184,63 +184,63 @@ class MessageActionsViewModel @AssistedInject constructor(@Assisted } } - private fun actionsForEvent(optionalEvent: Optional): List { + private fun actionsForEvent(optionalEvent: Optional): List { val event = optionalEvent.getOrNull() ?: return emptyList() val messageContent: MessageContent? = event.annotations?.editSummary?.aggregatedContent.toModel() ?: event.root.getClearContent().toModel() val type = messageContent?.type - return arrayListOf().apply { + return arrayListOf().apply { if (event.root.sendState.hasFailed()) { if (canRetry(event)) { - add(EventAction.Resend(eventId)) + add(EventSharedAction.Resend(eventId)) } - add(EventAction.Remove(eventId)) + add(EventSharedAction.Remove(eventId)) } else if (event.root.sendState.isSending()) { // TODO is uploading attachment? if (canCancel(event)) { - add(EventAction.Cancel(eventId)) + add(EventSharedAction.Cancel(eventId)) } } else if (event.root.sendState == SendState.SYNCED) { if (!event.root.isRedacted()) { if (canReply(event, messageContent)) { - add(EventAction.Reply(eventId)) + add(EventSharedAction.Reply(eventId)) } if (canEdit(event, session.myUserId)) { - add(EventAction.Edit(eventId)) + add(EventSharedAction.Edit(eventId)) } if (canRedact(event, session.myUserId)) { - add(EventAction.Delete(eventId)) + add(EventSharedAction.Delete(eventId)) } if (canCopy(type)) { // TODO copy images? html? see ClipBoard - add(EventAction.Copy(messageContent!!.body)) + add(EventSharedAction.Copy(messageContent!!.body)) } if (event.canReact()) { - add(EventAction.AddReaction(eventId)) + add(EventSharedAction.AddReaction(eventId)) } if (canQuote(event, messageContent)) { - add(EventAction.Quote(eventId)) + add(EventSharedAction.Quote(eventId)) } if (canViewReactions(event)) { - add(EventAction.ViewReactions(informationData)) + add(EventSharedAction.ViewReactions(informationData)) } if (event.hasBeenEdited()) { - add(EventAction.ViewEditHistory(informationData)) + add(EventSharedAction.ViewEditHistory(informationData)) } if (canShare(type)) { if (messageContent is MessageImageContent) { session.contentUrlResolver().resolveFullSize(messageContent.url)?.let { url -> - add(EventAction.Share(url)) + add(EventSharedAction.Share(url)) } } // TODO @@ -253,17 +253,17 @@ class MessageActionsViewModel @AssistedInject constructor(@Assisted } } - add(EventAction.ViewSource(event.root.toContentStringWithIndent())) + add(EventSharedAction.ViewSource(event.root.toContentStringWithIndent())) if (event.isEncrypted()) { val decryptedContent = event.root.toClearContentStringWithIndent() ?: stringProvider.getString(R.string.encryption_information_decryption_error) - add(EventAction.ViewDecryptedSource(decryptedContent)) + add(EventSharedAction.ViewDecryptedSource(decryptedContent)) } - add(EventAction.CopyPermalink(eventId)) + add(EventSharedAction.CopyPermalink(eventId)) if (session.myUserId != event.root.senderId && event.root.getClearType() == EventType.MESSAGE) { // not sent by me - add(EventAction.ReportContent(eventId, event.root.senderId)) + add(EventSharedAction.ReportContent(eventId, event.root.senderId)) } } } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListFragment.kt b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListFragment.kt index 64c8214236..23fabe4b97 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/list/RoomListFragment.kt @@ -39,7 +39,7 @@ import im.vector.riotx.core.error.ErrorFormatter import im.vector.riotx.core.platform.OnBackPressed import im.vector.riotx.core.platform.StateView import im.vector.riotx.core.platform.VectorBaseFragment -import im.vector.riotx.features.home.room.list.actions.RoomListQuickAction +import im.vector.riotx.features.home.room.list.actions.RoomListQuickSharedAction import im.vector.riotx.features.home.room.list.actions.RoomListQuickActionsBottomSheet import im.vector.riotx.features.home.room.list.actions.RoomListQuickActionsStore import im.vector.riotx.features.home.room.list.widget.FabMenuView @@ -216,24 +216,24 @@ class RoomListFragment @Inject constructor( } } - private fun handleQuickActions(quickAction: RoomListQuickAction) { + private fun handleQuickActions(quickAction: RoomListQuickSharedAction) { when (quickAction) { - is RoomListQuickAction.NotificationsAllNoisy -> { + is RoomListQuickSharedAction.NotificationsAllNoisy -> { roomListViewModel.accept(RoomListActions.ChangeRoomNotificationState(quickAction.roomId, RoomNotificationState.ALL_MESSAGES_NOISY)) } - is RoomListQuickAction.NotificationsAll -> { + is RoomListQuickSharedAction.NotificationsAll -> { roomListViewModel.accept(RoomListActions.ChangeRoomNotificationState(quickAction.roomId, RoomNotificationState.ALL_MESSAGES)) } - is RoomListQuickAction.NotificationsMentionsOnly -> { + is RoomListQuickSharedAction.NotificationsMentionsOnly -> { roomListViewModel.accept(RoomListActions.ChangeRoomNotificationState(quickAction.roomId, RoomNotificationState.MENTIONS_ONLY)) } - is RoomListQuickAction.NotificationsMute -> { + is RoomListQuickSharedAction.NotificationsMute -> { roomListViewModel.accept(RoomListActions.ChangeRoomNotificationState(quickAction.roomId, RoomNotificationState.MUTE)) } - is RoomListQuickAction.Settings -> { + is RoomListQuickSharedAction.Settings -> { vectorBaseActivity.notImplemented("Opening room settings") } - is RoomListQuickAction.Leave -> { + is RoomListQuickSharedAction.Leave -> { AlertDialog.Builder(requireContext()) .setTitle(R.string.room_participants_leave_prompt_title) .setMessage(R.string.room_participants_leave_prompt_msg) diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickActionsBottomSheet.kt b/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickActionsBottomSheet.kt index 03fb5f5a00..50d0503693 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickActionsBottomSheet.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickActionsBottomSheet.kt @@ -82,7 +82,7 @@ class RoomListQuickActionsBottomSheet : VectorBaseBottomSheetDialogFragment(), R super.invalidate() } - override fun didSelectMenuAction(quickAction: RoomListQuickAction) { + override fun didSelectMenuAction(quickAction: RoomListQuickSharedAction) { actionsDispatcher.post(quickAction) dismiss() } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickActionsEpoxyController.kt b/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickActionsEpoxyController.kt index 16d96e8dba..d54edce712 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickActionsEpoxyController.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickActionsEpoxyController.kt @@ -42,7 +42,7 @@ class RoomListQuickActionsEpoxyController @Inject constructor(private val avatar roomName(roomSummary.displayName) avatarUrl(roomSummary.avatarUrl) roomId(roomSummary.roomId) - settingsClickListener(View.OnClickListener { listener?.didSelectMenuAction(RoomListQuickAction.Settings(roomSummary.roomId)) }) + settingsClickListener(View.OnClickListener { listener?.didSelectMenuAction(RoomListQuickSharedAction.Settings(roomSummary.roomId)) }) } // Notifications @@ -51,26 +51,26 @@ class RoomListQuickActionsEpoxyController @Inject constructor(private val avatar } val selectedRoomState = state.roomNotificationState() - RoomListQuickAction.NotificationsAllNoisy(roomSummary.roomId).toBottomSheetItem(0, selectedRoomState) - RoomListQuickAction.NotificationsAll(roomSummary.roomId).toBottomSheetItem(1, selectedRoomState) - RoomListQuickAction.NotificationsMentionsOnly(roomSummary.roomId).toBottomSheetItem(2, selectedRoomState) - RoomListQuickAction.NotificationsMute(roomSummary.roomId).toBottomSheetItem(3, selectedRoomState) + RoomListQuickSharedAction.NotificationsAllNoisy(roomSummary.roomId).toBottomSheetItem(0, selectedRoomState) + RoomListQuickSharedAction.NotificationsAll(roomSummary.roomId).toBottomSheetItem(1, selectedRoomState) + RoomListQuickSharedAction.NotificationsMentionsOnly(roomSummary.roomId).toBottomSheetItem(2, selectedRoomState) + RoomListQuickSharedAction.NotificationsMute(roomSummary.roomId).toBottomSheetItem(3, selectedRoomState) // Leave bottomSheetItemSeparator { id("leave_separator") } - RoomListQuickAction.Leave(roomSummary.roomId).toBottomSheetItem(5) + RoomListQuickSharedAction.Leave(roomSummary.roomId).toBottomSheetItem(5) } - private fun RoomListQuickAction.toBottomSheetItem(index: Int, roomNotificationState: RoomNotificationState? = null) { + private fun RoomListQuickSharedAction.toBottomSheetItem(index: Int, roomNotificationState: RoomNotificationState? = null) { val selected = when (this) { - is RoomListQuickAction.NotificationsAllNoisy -> roomNotificationState == RoomNotificationState.ALL_MESSAGES_NOISY - is RoomListQuickAction.NotificationsAll -> roomNotificationState == RoomNotificationState.ALL_MESSAGES - is RoomListQuickAction.NotificationsMentionsOnly -> roomNotificationState == RoomNotificationState.MENTIONS_ONLY - is RoomListQuickAction.NotificationsMute -> roomNotificationState == RoomNotificationState.MUTE - is RoomListQuickAction.Settings, - is RoomListQuickAction.Leave -> false + is RoomListQuickSharedAction.NotificationsAllNoisy -> roomNotificationState == RoomNotificationState.ALL_MESSAGES_NOISY + is RoomListQuickSharedAction.NotificationsAll -> roomNotificationState == RoomNotificationState.ALL_MESSAGES + is RoomListQuickSharedAction.NotificationsMentionsOnly -> roomNotificationState == RoomNotificationState.MENTIONS_ONLY + is RoomListQuickSharedAction.NotificationsMute -> roomNotificationState == RoomNotificationState.MUTE + is RoomListQuickSharedAction.Settings, + is RoomListQuickSharedAction.Leave -> false } return bottomSheetItemAction { id("action_$index") @@ -83,6 +83,6 @@ class RoomListQuickActionsEpoxyController @Inject constructor(private val avatar } interface Listener { - fun didSelectMenuAction(quickAction: RoomListQuickAction) + fun didSelectMenuAction(quickAction: RoomListQuickSharedAction) } } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickActionsStore.kt b/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickActionsStore.kt index 503a3b0327..891ffc81f0 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickActionsStore.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickActionsStore.kt @@ -16,9 +16,9 @@ */ package im.vector.riotx.features.home.room.list.actions -import im.vector.riotx.core.platform.VectorActionViewModel +import im.vector.riotx.core.platform.VectorSharedActionViewModel /** * Activity shared view model to handle room list quick actions */ -class RoomListQuickActionsStore : VectorActionViewModel() +class RoomListQuickActionsStore : VectorSharedActionViewModel() diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickAction.kt b/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickSharedAction.kt similarity index 80% rename from vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickAction.kt rename to vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickSharedAction.kt index c0de0a9d7b..4033434327 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickAction.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/list/actions/RoomListQuickSharedAction.kt @@ -19,36 +19,36 @@ package im.vector.riotx.features.home.room.list.actions import androidx.annotation.DrawableRes import androidx.annotation.StringRes import im.vector.riotx.R -import im.vector.riotx.core.platform.VectorAction +import im.vector.riotx.core.platform.VectorSharedAction -sealed class RoomListQuickAction(@StringRes val titleRes: Int, @DrawableRes val iconResId: Int, val destructive: Boolean = false) : VectorAction { +sealed class RoomListQuickSharedAction(@StringRes val titleRes: Int, @DrawableRes val iconResId: Int, val destructive: Boolean = false) : VectorSharedAction { - data class NotificationsAllNoisy(val roomId: String) : RoomListQuickAction( + data class NotificationsAllNoisy(val roomId: String) : RoomListQuickSharedAction( R.string.room_list_quick_actions_notifications_all_noisy, R.drawable.ic_room_actions_notifications_all_noisy ) - data class NotificationsAll(val roomId: String) : RoomListQuickAction( + data class NotificationsAll(val roomId: String) : RoomListQuickSharedAction( R.string.room_list_quick_actions_notifications_all, R.drawable.ic_room_actions_notifications_all ) - data class NotificationsMentionsOnly(val roomId: String) : RoomListQuickAction( + data class NotificationsMentionsOnly(val roomId: String) : RoomListQuickSharedAction( R.string.room_list_quick_actions_notifications_mentions, R.drawable.ic_room_actions_notifications_mentions ) - data class NotificationsMute(val roomId: String) : RoomListQuickAction( + data class NotificationsMute(val roomId: String) : RoomListQuickSharedAction( R.string.room_list_quick_actions_notifications_mute, R.drawable.ic_room_actions_notifications_mutes ) - data class Settings(val roomId: String) : RoomListQuickAction( + data class Settings(val roomId: String) : RoomListQuickSharedAction( R.string.room_list_quick_actions_settings, R.drawable.ic_room_actions_settings ) - data class Leave(val roomId: String) : RoomListQuickAction( + data class Leave(val roomId: String) : RoomListQuickSharedAction( R.string.room_list_quick_actions_leave, R.drawable.ic_room_actions_leave, true diff --git a/vector/src/main/java/im/vector/riotx/features/roomdirectory/PublicRoomsFragment.kt b/vector/src/main/java/im/vector/riotx/features/roomdirectory/PublicRoomsFragment.kt index 6e6a47cdc6..2840dc7e89 100644 --- a/vector/src/main/java/im/vector/riotx/features/roomdirectory/PublicRoomsFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/roomdirectory/PublicRoomsFragment.kt @@ -47,7 +47,7 @@ class PublicRoomsFragment @Inject constructor( ) : VectorBaseFragment(), PublicRoomsController.Callback { private val viewModel: RoomDirectoryViewModel by activityViewModel() - private lateinit var actionViewModel: RoomDirectoryActionViewModel + private lateinit var actionViewModel: RoomDirectorySharedActionViewModel override fun getLayoutResId() = R.layout.fragment_public_rooms @@ -71,7 +71,7 @@ class PublicRoomsFragment @Inject constructor( .disposeOnDestroy() publicRoomsCreateNewRoom.setOnClickListener { - actionViewModel.post(RoomDirectoryAction.CreateRoom) + actionViewModel.post(RoomDirectorySharedAction.CreateRoom) } viewModel.joinRoomErrorLiveData.observeEvent(this) { throwable -> @@ -83,7 +83,7 @@ class PublicRoomsFragment @Inject constructor( override fun onOptionsItemSelected(item: MenuItem): Boolean { return when (item.itemId) { R.id.menu_room_directory_change_protocol -> { - actionViewModel.post(RoomDirectoryAction.ChangeProtocol) + actionViewModel.post(RoomDirectorySharedAction.ChangeProtocol) true } else -> @@ -93,7 +93,7 @@ class PublicRoomsFragment @Inject constructor( override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) - actionViewModel = ViewModelProviders.of(requireActivity()).get(RoomDirectoryActionViewModel::class.java) + actionViewModel = ViewModelProviders.of(requireActivity()).get(RoomDirectorySharedActionViewModel::class.java) setupRecyclerView() } diff --git a/vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectoryActivity.kt b/vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectoryActivity.kt index c7d0d19c2c..b0b1a86275 100644 --- a/vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectoryActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectoryActivity.kt @@ -37,7 +37,7 @@ class RoomDirectoryActivity : VectorBaseActivity() { @Inject lateinit var roomDirectoryViewModelFactory: RoomDirectoryViewModel.Factory private val roomDirectoryViewModel: RoomDirectoryViewModel by viewModel() private val createRoomViewModel: CreateRoomViewModel by viewModel() - private lateinit var actionViewModel: RoomDirectoryActionViewModel + private lateinit var actionViewModel: RoomDirectorySharedActionViewModel override fun getLayoutRes() = R.layout.activity_simple @@ -47,7 +47,7 @@ class RoomDirectoryActivity : VectorBaseActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - actionViewModel = ViewModelProviders.of(this, viewModelFactory).get(RoomDirectoryActionViewModel::class.java) + actionViewModel = ViewModelProviders.of(this, viewModelFactory).get(RoomDirectorySharedActionViewModel::class.java) if (isFirstCreation()) { roomDirectoryViewModel.filterWith(intent?.getStringExtra(INITIAL_FILTER) ?: "") @@ -56,10 +56,10 @@ class RoomDirectoryActivity : VectorBaseActivity() { actionViewModel.observe() .subscribe { navigation -> when (navigation) { - is RoomDirectoryAction.Back -> onBackPressed() - is RoomDirectoryAction.CreateRoom -> addFragmentToBackstack(R.id.simpleFragmentContainer, CreateRoomFragment::class.java) - is RoomDirectoryAction.ChangeProtocol -> addFragmentToBackstack(R.id.simpleFragmentContainer, RoomDirectoryPickerFragment::class.java) - is RoomDirectoryAction.Close -> finish() + is RoomDirectorySharedAction.Back -> onBackPressed() + is RoomDirectorySharedAction.CreateRoom -> addFragmentToBackstack(R.id.simpleFragmentContainer, CreateRoomFragment::class.java) + is RoomDirectorySharedAction.ChangeProtocol -> addFragmentToBackstack(R.id.simpleFragmentContainer, RoomDirectoryPickerFragment::class.java) + is RoomDirectorySharedAction.Close -> finish() } } .disposeOnDestroy() diff --git a/vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectoryAction.kt b/vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectorySharedAction.kt similarity index 69% rename from vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectoryAction.kt rename to vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectorySharedAction.kt index 3c05dedb04..b257f82595 100644 --- a/vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectoryAction.kt +++ b/vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectorySharedAction.kt @@ -16,14 +16,14 @@ package im.vector.riotx.features.roomdirectory -import im.vector.riotx.core.platform.VectorAction +import im.vector.riotx.core.platform.VectorSharedAction /** * Supported navigation actions for [RoomDirectoryActivity] */ -sealed class RoomDirectoryAction : VectorAction { - object Back : RoomDirectoryAction() - object CreateRoom : RoomDirectoryAction() - object Close : RoomDirectoryAction() - object ChangeProtocol : RoomDirectoryAction() +sealed class RoomDirectorySharedAction : VectorSharedAction { + object Back : RoomDirectorySharedAction() + object CreateRoom : RoomDirectorySharedAction() + object Close : RoomDirectorySharedAction() + object ChangeProtocol : RoomDirectorySharedAction() } diff --git a/vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectoryActionViewModel.kt b/vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectorySharedActionViewModel.kt similarity index 79% rename from vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectoryActionViewModel.kt rename to vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectorySharedActionViewModel.kt index 32b3ccf022..257ad782fe 100644 --- a/vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectoryActionViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/roomdirectory/RoomDirectorySharedActionViewModel.kt @@ -16,6 +16,6 @@ package im.vector.riotx.features.roomdirectory -import im.vector.riotx.core.platform.VectorActionViewModel +import im.vector.riotx.core.platform.VectorSharedActionViewModel -class RoomDirectoryActionViewModel : VectorActionViewModel() +class RoomDirectorySharedActionViewModel : VectorSharedActionViewModel() diff --git a/vector/src/main/java/im/vector/riotx/features/roomdirectory/createroom/CreateRoomActivity.kt b/vector/src/main/java/im/vector/riotx/features/roomdirectory/createroom/CreateRoomActivity.kt index 71b5d9527e..4d0938814a 100644 --- a/vector/src/main/java/im/vector/riotx/features/roomdirectory/createroom/CreateRoomActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/roomdirectory/createroom/CreateRoomActivity.kt @@ -26,8 +26,8 @@ import im.vector.riotx.R import im.vector.riotx.core.extensions.addFragment import im.vector.riotx.core.platform.ToolbarConfigurable import im.vector.riotx.core.platform.VectorBaseActivity -import im.vector.riotx.features.roomdirectory.RoomDirectoryAction -import im.vector.riotx.features.roomdirectory.RoomDirectoryActionViewModel +import im.vector.riotx.features.roomdirectory.RoomDirectorySharedAction +import im.vector.riotx.features.roomdirectory.RoomDirectorySharedActionViewModel import javax.inject.Inject /** @@ -38,7 +38,7 @@ class CreateRoomActivity : VectorBaseActivity(), ToolbarConfigurable { @Inject lateinit var createRoomViewModelFactory: CreateRoomViewModel.Factory private val createRoomViewModel: CreateRoomViewModel by viewModel() - private lateinit var actionViewModel: RoomDirectoryActionViewModel + private lateinit var actionViewModel: RoomDirectorySharedActionViewModel override fun getLayoutRes() = R.layout.activity_simple @@ -55,12 +55,12 @@ class CreateRoomActivity : VectorBaseActivity(), ToolbarConfigurable { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - actionViewModel = ViewModelProviders.of(this, viewModelFactory).get(RoomDirectoryActionViewModel::class.java) + actionViewModel = ViewModelProviders.of(this, viewModelFactory).get(RoomDirectorySharedActionViewModel::class.java) actionViewModel.observe() .subscribe { navigation -> when (navigation) { - is RoomDirectoryAction.Back, - is RoomDirectoryAction.Close -> finish() + is RoomDirectorySharedAction.Back, + is RoomDirectorySharedAction.Close -> finish() } } .disposeOnDestroy() diff --git a/vector/src/main/java/im/vector/riotx/features/roomdirectory/createroom/CreateRoomFragment.kt b/vector/src/main/java/im/vector/riotx/features/roomdirectory/createroom/CreateRoomFragment.kt index ff18b0f402..a421398322 100644 --- a/vector/src/main/java/im/vector/riotx/features/roomdirectory/createroom/CreateRoomFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/roomdirectory/createroom/CreateRoomFragment.kt @@ -25,15 +25,15 @@ import com.airbnb.mvrx.activityViewModel import com.airbnb.mvrx.withState import im.vector.riotx.R import im.vector.riotx.core.platform.VectorBaseFragment -import im.vector.riotx.features.roomdirectory.RoomDirectoryAction -import im.vector.riotx.features.roomdirectory.RoomDirectoryActionViewModel +import im.vector.riotx.features.roomdirectory.RoomDirectorySharedAction +import im.vector.riotx.features.roomdirectory.RoomDirectorySharedActionViewModel import kotlinx.android.synthetic.main.fragment_create_room.* import timber.log.Timber import javax.inject.Inject class CreateRoomFragment @Inject constructor(private val createRoomController: CreateRoomController): VectorBaseFragment(), CreateRoomController.Listener { - private lateinit var actionViewModel: RoomDirectoryActionViewModel + private lateinit var actionViewModel: RoomDirectorySharedActionViewModel private val viewModel: CreateRoomViewModel by activityViewModel() override fun getLayoutResId() = R.layout.fragment_create_room @@ -43,10 +43,10 @@ class CreateRoomFragment @Inject constructor(private val createRoomController: C override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) vectorBaseActivity.setSupportActionBar(createRoomToolbar) - actionViewModel = ViewModelProviders.of(requireActivity()).get(RoomDirectoryActionViewModel::class.java) + actionViewModel = ViewModelProviders.of(requireActivity()).get(RoomDirectorySharedActionViewModel::class.java) setupRecyclerView() createRoomClose.setOnClickListener { - actionViewModel.post(RoomDirectoryAction.Back) + actionViewModel.post(RoomDirectorySharedAction.Back) } } @@ -93,7 +93,7 @@ class CreateRoomFragment @Inject constructor(private val createRoomController: C // Navigate to freshly created room navigator.openRoom(requireActivity(), async()) - actionViewModel.post(RoomDirectoryAction.Close) + actionViewModel.post(RoomDirectorySharedAction.Close) } else { // Populate list with Epoxy createRoomController.setData(state) diff --git a/vector/src/main/java/im/vector/riotx/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt b/vector/src/main/java/im/vector/riotx/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt index ac86fe29bf..18be8498da 100644 --- a/vector/src/main/java/im/vector/riotx/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/roomdirectory/picker/RoomDirectoryPickerFragment.kt @@ -27,8 +27,8 @@ import com.airbnb.mvrx.withState import im.vector.matrix.android.api.session.room.model.thirdparty.RoomDirectoryData import im.vector.riotx.R import im.vector.riotx.core.platform.VectorBaseFragment -import im.vector.riotx.features.roomdirectory.RoomDirectoryAction -import im.vector.riotx.features.roomdirectory.RoomDirectoryActionViewModel +import im.vector.riotx.features.roomdirectory.RoomDirectorySharedAction +import im.vector.riotx.features.roomdirectory.RoomDirectorySharedActionViewModel import im.vector.riotx.features.roomdirectory.RoomDirectoryViewModel import kotlinx.android.synthetic.main.fragment_room_directory_picker.* import timber.log.Timber @@ -41,7 +41,7 @@ class RoomDirectoryPickerFragment @Inject constructor(val roomDirectoryPickerVie ) : VectorBaseFragment(), RoomDirectoryPickerController.Callback { private val viewModel: RoomDirectoryViewModel by activityViewModel() - private lateinit var actionViewModel: RoomDirectoryActionViewModel + private lateinit var actionViewModel: RoomDirectorySharedActionViewModel private val pickerViewModel: RoomDirectoryPickerViewModel by fragmentViewModel() override fun getLayoutResId() = R.layout.fragment_room_directory_picker @@ -71,7 +71,7 @@ class RoomDirectoryPickerFragment @Inject constructor(val roomDirectoryPickerVie override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) - actionViewModel = ViewModelProviders.of(requireActivity()).get(RoomDirectoryActionViewModel::class.java) + actionViewModel = ViewModelProviders.of(requireActivity()).get(RoomDirectorySharedActionViewModel::class.java) setupRecyclerView() } @@ -88,7 +88,7 @@ class RoomDirectoryPickerFragment @Inject constructor(val roomDirectoryPickerVie Timber.v("onRoomDirectoryClicked: $roomDirectoryData") viewModel.setRoomDirectoryData(roomDirectoryData) - actionViewModel.post(RoomDirectoryAction.Back) + actionViewModel.post(RoomDirectorySharedAction.Back) } override fun retry() {