Skip to content

Commit a19999a

Browse files
authored
Merge pull request #4345 from vector-im/feature/adm/unable-to-join-by-name
Unable to join room by name
2 parents 31abf44 + 272baa5 commit a19999a

File tree

9 files changed

+40
-11
lines changed

9 files changed

+40
-11
lines changed

changelog.d/4255.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fixes being unable to join rooms by name

vector/src/debug/java/im/vector/app/features/debug/DebugPermissionActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import android.os.Build
2222
import android.widget.Toast
2323
import androidx.core.app.ActivityCompat
2424
import androidx.core.content.ContextCompat
25+
import dagger.hilt.android.AndroidEntryPoint
2526
import im.vector.app.R
2627
import im.vector.app.core.platform.VectorBaseActivity
2728
import im.vector.app.core.utils.checkPermissions
@@ -31,6 +32,7 @@ import im.vector.app.core.utils.registerForPermissionsResult
3132
import im.vector.app.databinding.ActivityDebugPermissionBinding
3233
import timber.log.Timber
3334

35+
@AndroidEntryPoint
3436
class DebugPermissionActivity : VectorBaseActivity<ActivityDebugPermissionBinding>() {
3537

3638
override fun getBinding() = ActivityDebugPermissionBinding.inflate(layoutInflater)

vector/src/main/java/im/vector/app/features/permalink/PermalinkHandler.kt

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,14 @@ class PermalinkHandler @Inject constructor(private val activeSessionHolder: Acti
7979
return when (permalinkData) {
8080
is PermalinkData.RoomLink -> {
8181
val roomId = permalinkData.getRoomId()
82-
if (navigationInterceptor?.navToRoom(roomId, permalinkData.eventId, rawLink) != true) {
83-
openRoom(
84-
context = context,
85-
roomId = roomId,
86-
permalinkData = permalinkData,
87-
rawLink = rawLink,
88-
buildTask = buildTask
89-
)
90-
}
82+
openRoom(
83+
navigationInterceptor,
84+
context = context,
85+
roomId = roomId,
86+
permalinkData = permalinkData,
87+
rawLink = rawLink,
88+
buildTask = buildTask
89+
)
9190
true
9291
}
9392
is PermalinkData.GroupLink -> {
@@ -146,6 +145,7 @@ class PermalinkHandler @Inject constructor(private val activeSessionHolder: Acti
146145
* Open room either joined, or not
147146
*/
148147
private fun openRoom(
148+
navigationInterceptor: NavigationInterceptor?,
149149
context: Context,
150150
roomId: String?,
151151
permalinkData: PermalinkData.RoomLink,
@@ -167,7 +167,7 @@ class PermalinkHandler @Inject constructor(private val activeSessionHolder: Acti
167167
membership?.isActive().orFalse() -> {
168168
if (!isSpace && membership == Membership.JOIN) {
169169
// If it's a room you're in, let's just open it, you can tap back if needed
170-
navigator.openRoom(context, roomId, eventId, buildTask)
170+
navigationInterceptor.openJoinedRoomScreen(buildTask, roomId, eventId, rawLink, context)
171171
} else {
172172
// maybe open space preview navigator.openSpacePreview(context, roomId)? if already joined?
173173
navigator.openMatrixToBottomSheet(context, rawLink.toString())
@@ -180,6 +180,12 @@ class PermalinkHandler @Inject constructor(private val activeSessionHolder: Acti
180180
}
181181
}
182182

183+
private fun NavigationInterceptor?.openJoinedRoomScreen(buildTask: Boolean, roomId: String, eventId: String?, rawLink: Uri, context: Context) {
184+
if (this?.navToRoom(roomId, eventId, rawLink) != true) {
185+
navigator.openRoom(context, roomId, eventId, buildTask)
186+
}
187+
}
188+
183189
companion object {
184190
const val MATRIX_TO_CUSTOM_SCHEME_URL_BASE = "element://"
185191
const val ROOM_LINK_PREFIX = "${MATRIX_TO_CUSTOM_SCHEME_URL_BASE}room/"

vector/src/main/java/im/vector/app/features/pin/PinActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,14 @@ import android.content.Context
2020
import android.content.Intent
2121
import com.airbnb.mvrx.Mavericks
2222
import com.google.android.material.appbar.MaterialToolbar
23+
import dagger.hilt.android.AndroidEntryPoint
2324
import im.vector.app.R
2425
import im.vector.app.core.extensions.addFragment
2526
import im.vector.app.core.platform.ToolbarConfigurable
2627
import im.vector.app.core.platform.VectorBaseActivity
2728
import im.vector.app.databinding.ActivitySimpleBinding
2829

30+
@AndroidEntryPoint
2931
class PinActivity : VectorBaseActivity<ActivitySimpleBinding>(), ToolbarConfigurable, UnlockedActivity {
3032

3133
companion object {

vector/src/main/java/im/vector/app/features/roomdirectory/RoomDirectoryActivity.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,15 @@ import im.vector.app.core.extensions.addFragmentToBackstack
2828
import im.vector.app.core.extensions.popBackstack
2929
import im.vector.app.core.platform.VectorBaseActivity
3030
import im.vector.app.databinding.ActivitySimpleBinding
31+
import im.vector.app.features.matrixto.MatrixToBottomSheet
32+
import im.vector.app.features.navigation.Navigator
3133
import im.vector.app.features.roomdirectory.createroom.CreateRoomArgs
3234
import im.vector.app.features.roomdirectory.createroom.CreateRoomFragment
3335
import im.vector.app.features.roomdirectory.picker.RoomDirectoryPickerFragment
3436
import javax.inject.Inject
3537

3638
@AndroidEntryPoint
37-
class RoomDirectoryActivity : VectorBaseActivity<ActivitySimpleBinding>() {
39+
class RoomDirectoryActivity : VectorBaseActivity<ActivitySimpleBinding>(), MatrixToBottomSheet.InteractionListener {
3840

3941
@Inject lateinit var roomDirectoryViewModelFactory: RoomDirectoryViewModel.Factory
4042
private val roomDirectoryViewModel: RoomDirectoryViewModel by viewModel()
@@ -81,6 +83,14 @@ class RoomDirectoryActivity : VectorBaseActivity<ActivitySimpleBinding>() {
8183
}
8284
}
8385

86+
override fun mxToBottomSheetNavigateToRoom(roomId: String) {
87+
navigator.openRoom(this, roomId)
88+
}
89+
90+
override fun mxToBottomSheetSwitchToSpace(spaceId: String) {
91+
navigator.switchToSpace(this, spaceId, Navigator.PostSwitchSpaceAction.None)
92+
}
93+
8494
companion object {
8595
private const val INITIAL_FILTER = "INITIAL_FILTER"
8696

vector/src/main/java/im/vector/app/features/roomdirectory/roompreview/RoomPreviewActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import android.content.Context
2020
import android.content.Intent
2121
import android.os.Parcelable
2222
import com.google.android.material.appbar.MaterialToolbar
23+
import dagger.hilt.android.AndroidEntryPoint
2324
import im.vector.app.R
2425
import im.vector.app.core.extensions.addFragment
2526
import im.vector.app.core.platform.ToolbarConfigurable
@@ -51,6 +52,7 @@ data class RoomPreviewData(
5152
get() = MatrixItem.RoomItem(roomId, roomName ?: roomAlias, avatarUrl)
5253
}
5354

55+
@AndroidEntryPoint
5456
class RoomPreviewActivity : VectorBaseActivity<ActivitySimpleBinding>(), ToolbarConfigurable {
5557

5658
companion object {

vector/src/main/java/im/vector/app/features/signout/hard/SignedOutActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package im.vector.app.features.signout.hard
1919
import android.content.Context
2020
import android.content.Intent
2121
import android.os.Bundle
22+
import dagger.hilt.android.AndroidEntryPoint
2223
import im.vector.app.core.platform.VectorBaseActivity
2324
import im.vector.app.databinding.ActivitySignedOutBinding
2425
import im.vector.app.features.MainActivity
@@ -29,6 +30,7 @@ import timber.log.Timber
2930
/**
3031
* In this screen, the user is viewing a message informing that he has been logged out
3132
*/
33+
@AndroidEntryPoint
3234
class SignedOutActivity : VectorBaseActivity<ActivitySignedOutBinding>() {
3335

3436
override fun getBinding() = ActivitySignedOutBinding.inflate(layoutInflater)

vector/src/main/java/im/vector/app/features/spaces/SpacePreviewActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@ import android.content.Context
2020
import android.content.Intent
2121
import android.os.Bundle
2222
import com.airbnb.mvrx.Mavericks
23+
import dagger.hilt.android.AndroidEntryPoint
2324
import im.vector.app.R
2425
import im.vector.app.core.extensions.commitTransaction
2526
import im.vector.app.core.platform.VectorBaseActivity
2627
import im.vector.app.databinding.ActivitySimpleBinding
2728
import im.vector.app.features.spaces.preview.SpacePreviewArgs
2829
import im.vector.app.features.spaces.preview.SpacePreviewFragment
2930

31+
@AndroidEntryPoint
3032
class SpacePreviewActivity : VectorBaseActivity<ActivitySimpleBinding>() {
3133

3234
lateinit var sharedActionViewModel: SpacePreviewSharedActionViewModel

vector/src/main/java/im/vector/app/features/spaces/people/SpacePeopleActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import android.os.Bundle
2222
import androidx.core.view.isGone
2323
import androidx.core.view.isVisible
2424
import com.airbnb.mvrx.Mavericks
25+
import dagger.hilt.android.AndroidEntryPoint
2526
import im.vector.app.R
2627
import im.vector.app.core.extensions.commitTransaction
2728
import im.vector.app.core.extensions.hideKeyboard
@@ -30,6 +31,7 @@ import im.vector.app.core.platform.VectorBaseActivity
3031
import im.vector.app.databinding.ActivitySimpleLoadingBinding
3132
import im.vector.app.features.spaces.share.ShareSpaceBottomSheet
3233

34+
@AndroidEntryPoint
3335
class SpacePeopleActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>() {
3436

3537
override fun getBinding() = ActivitySimpleLoadingBinding.inflate(layoutInflater)

0 commit comments

Comments
 (0)