diff --git a/vector/src/main/AndroidManifest.xml b/vector/src/main/AndroidManifest.xml index aca68ab15c..89cdb26dc2 100644 --- a/vector/src/main/AndroidManifest.xml +++ b/vector/src/main/AndroidManifest.xml @@ -165,6 +165,8 @@ + + { + startActivity(RoomMemberListActivity.newIntent(requireContext(), roomDetailArgs.roomId)) + true + } + R.id.show_room_info -> { + navigator.openRoomProfile(requireActivity(), roomDetailArgs.roomId) + true + } else -> super.onOptionsItemSelected(item) } } diff --git a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt index e6288be2c8..c8f4c9208c 100644 --- a/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/home/room/detail/RoomDetailViewModel.kt @@ -421,6 +421,8 @@ class RoomDetailViewModel @AssistedInject constructor( R.id.voice_call, R.id.video_call -> room.canStartCall() && webRtcPeerConnectionManager.currentCall == null R.id.hangup_call -> webRtcPeerConnectionManager.currentCall != null + R.id.show_room_info -> true + R.id.show_participants -> true else -> false } } diff --git a/vector/src/main/java/im/vector/riotx/features/roomprofile/RoomProfileActivity.kt b/vector/src/main/java/im/vector/riotx/features/roomprofile/RoomProfileActivity.kt index b61075be80..6ded77f487 100644 --- a/vector/src/main/java/im/vector/riotx/features/roomprofile/RoomProfileActivity.kt +++ b/vector/src/main/java/im/vector/riotx/features/roomprofile/RoomProfileActivity.kt @@ -37,7 +37,7 @@ import im.vector.riotx.features.roomprofile.settings.RoomSettingsFragment import im.vector.riotx.features.roomprofile.uploads.RoomUploadsFragment import javax.inject.Inject -class RoomProfileActivity : +open class RoomProfileActivity : VectorBaseActivity(), ToolbarConfigurable, RequireActiveMembershipViewModel.Factory { @@ -53,7 +53,7 @@ class RoomProfileActivity : } private lateinit var sharedActionViewModel: RoomProfileSharedActionViewModel - private lateinit var roomProfileArgs: RoomProfileArgs + protected lateinit var roomProfileArgs: RoomProfileArgs private val requireActiveMembershipViewModel: RequireActiveMembershipViewModel by viewModel() @@ -75,7 +75,7 @@ class RoomProfileActivity : sharedActionViewModel = viewModelProvider.get(RoomProfileSharedActionViewModel::class.java) roomProfileArgs = intent?.extras?.getParcelable(MvRx.KEY_ARG) ?: return if (isFirstCreation()) { - addFragment(R.id.simpleFragmentContainer, RoomProfileFragment::class.java, roomProfileArgs) + addInitialFragment() } sharedActionViewModel .observe() @@ -95,6 +95,10 @@ class RoomProfileActivity : } } + open fun addInitialFragment() { + addFragment(R.id.simpleFragmentContainer, RoomProfileFragment::class.java, roomProfileArgs) + } + private fun handleRoomLeft(roomLeft: RequireActiveMembershipViewEvents.RoomLeft) { if (roomLeft.leftMessage != null) { Toast.makeText(this, roomLeft.leftMessage, Toast.LENGTH_LONG).show() diff --git a/vector/src/main/java/im/vector/riotx/features/roomprofile/members/RoomMemberListActivity.kt b/vector/src/main/java/im/vector/riotx/features/roomprofile/members/RoomMemberListActivity.kt new file mode 100644 index 0000000000..0d6e723e3f --- /dev/null +++ b/vector/src/main/java/im/vector/riotx/features/roomprofile/members/RoomMemberListActivity.kt @@ -0,0 +1,27 @@ +package im.vector.riotx.features.roomprofile.members + +import android.content.Context +import android.content.Intent +import com.airbnb.mvrx.MvRx +import im.vector.riotx.R +import im.vector.riotx.core.extensions.addFragment +import im.vector.riotx.features.roomprofile.RoomProfileActivity +import im.vector.riotx.features.roomprofile.RoomProfileArgs + +class RoomMemberListActivity : + RoomProfileActivity() { + + companion object { + + fun newIntent(context: Context, roomId: String): Intent { + val roomProfileArgs = RoomProfileArgs(roomId) + return Intent(context, RoomMemberListActivity::class.java).apply { + putExtra(MvRx.KEY_ARG, roomProfileArgs) + } + } + } + + override fun addInitialFragment() { + addFragment(R.id.simpleFragmentContainer, RoomMemberListFragment::class.java, roomProfileArgs) + } +} diff --git a/vector/src/main/res/menu/menu_timeline.xml b/vector/src/main/res/menu/menu_timeline.xml index faebf9a2aa..9d7c283a2d 100644 --- a/vector/src/main/res/menu/menu_timeline.xml +++ b/vector/src/main/res/menu/menu_timeline.xml @@ -58,4 +58,18 @@ app:showAsAction="never" tools:visible="true" /> + + + + diff --git a/vector/src/main/res/values-de/strings.xml b/vector/src/main/res/values-de/strings.xml index f5912a9368..5cf2903809 100644 --- a/vector/src/main/res/values-de/strings.xml +++ b/vector/src/main/res/values-de/strings.xml @@ -2107,7 +2107,7 @@ Verwahre deinen Wiederherstellungsschlüssel an einem sehr sicheren Ort wie eine Sicherheit Mehr erfahren Mehr - Raum Einstellungen + Raum-Einstellungen Benachrichtigungen Eine Person diff --git a/vector/src/main/res/values-de/strings_sc.xml b/vector/src/main/res/values-de/strings_sc.xml index d39091a830..b04f55f468 100644 --- a/vector/src/main/res/values-de/strings_sc.xml +++ b/vector/src/main/res/values-de/strings_sc.xml @@ -26,4 +26,7 @@ Benutzerdefinierter Server Serveradresse angeben zum Anmelden oder Registrieren + Rauminfo + Teilnehmer + diff --git a/vector/src/main/res/values/strings_sc.xml b/vector/src/main/res/values/strings_sc.xml index 3d1948e504..242c6a763c 100644 --- a/vector/src/main/res/values/strings_sc.xml +++ b/vector/src/main/res/values/strings_sc.xml @@ -26,4 +26,7 @@ Custom server Enter server address to login or register + Room details + Participants +