Clarify aliasLocalPart
This commit is contained in:
parent
50ddd3cf31
commit
9c53f0f881
@ -19,11 +19,14 @@ package org.matrix.android.sdk.api.session.room.alias
|
|||||||
interface AliasService {
|
interface AliasService {
|
||||||
/**
|
/**
|
||||||
* Get list of local alias of the room
|
* Get list of local alias of the room
|
||||||
|
* @return the list of the aliases (full aliases, not only the local part)
|
||||||
*/
|
*/
|
||||||
suspend fun getRoomAliases(): List<String>
|
suspend fun getRoomAliases(): List<String>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add local alias to the room
|
* Add local alias to the room
|
||||||
|
* @param aliasLocalPart the local part of the alias.
|
||||||
|
* Ex: for the alias "#my_alias:example.org", the local part is "my_alias"
|
||||||
*/
|
*/
|
||||||
suspend fun addAlias(aliasLocalPart: String)
|
suspend fun addAlias(aliasLocalPart: String)
|
||||||
}
|
}
|
||||||
|
@ -20,13 +20,17 @@ import org.greenrobot.eventbus.EventBus
|
|||||||
import org.matrix.android.sdk.internal.di.UserId
|
import org.matrix.android.sdk.internal.di.UserId
|
||||||
import org.matrix.android.sdk.internal.network.executeRequest
|
import org.matrix.android.sdk.internal.network.executeRequest
|
||||||
import org.matrix.android.sdk.internal.session.directory.DirectoryAPI
|
import org.matrix.android.sdk.internal.session.directory.DirectoryAPI
|
||||||
import org.matrix.android.sdk.internal.session.room.alias.RoomAliasAvailabilityChecker.Companion.toFullAlias
|
import org.matrix.android.sdk.internal.session.room.alias.RoomAliasAvailabilityChecker.Companion.toFullLocalAlias
|
||||||
import org.matrix.android.sdk.internal.task.Task
|
import org.matrix.android.sdk.internal.task.Task
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
internal interface AddRoomAliasTask : Task<AddRoomAliasTask.Params, Unit> {
|
internal interface AddRoomAliasTask : Task<AddRoomAliasTask.Params, Unit> {
|
||||||
data class Params(
|
data class Params(
|
||||||
val roomId: String,
|
val roomId: String,
|
||||||
|
/**
|
||||||
|
* the local part of the alias.
|
||||||
|
* Ex: for the alias "#my_alias:example.org", the local part is "my_alias"
|
||||||
|
*/
|
||||||
val aliasLocalPart: String
|
val aliasLocalPart: String
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -43,7 +47,7 @@ internal class DefaultAddRoomAliasTask @Inject constructor(
|
|||||||
|
|
||||||
executeRequest<Unit>(eventBus) {
|
executeRequest<Unit>(eventBus) {
|
||||||
apiCall = directoryAPI.addRoomAlias(
|
apiCall = directoryAPI.addRoomAlias(
|
||||||
roomAlias = params.aliasLocalPart.toFullAlias(userId),
|
roomAlias = params.aliasLocalPart.toFullLocalAlias(userId),
|
||||||
body = AddRoomAliasBody(
|
body = AddRoomAliasBody(
|
||||||
roomId = params.roomId
|
roomId = params.roomId
|
||||||
)
|
)
|
||||||
|
@ -29,13 +29,17 @@ internal class RoomAliasAvailabilityChecker @Inject constructor(
|
|||||||
private val directoryAPI: DirectoryAPI,
|
private val directoryAPI: DirectoryAPI,
|
||||||
private val eventBus: EventBus
|
private val eventBus: EventBus
|
||||||
) {
|
) {
|
||||||
|
/**
|
||||||
|
* @param aliasLocalPart the local part of the alias.
|
||||||
|
* Ex: for the alias "#my_alias:example.org", the local part is "my_alias"
|
||||||
|
*/
|
||||||
@Throws(RoomAliasError::class)
|
@Throws(RoomAliasError::class)
|
||||||
suspend fun check(aliasLocalPart: String?) {
|
suspend fun check(aliasLocalPart: String?) {
|
||||||
if (aliasLocalPart.isNullOrEmpty()) {
|
if (aliasLocalPart.isNullOrEmpty()) {
|
||||||
throw RoomAliasError.AliasEmpty
|
throw RoomAliasError.AliasEmpty
|
||||||
}
|
}
|
||||||
// Check alias availability
|
// Check alias availability
|
||||||
val fullAlias = aliasLocalPart.toFullAlias(userId)
|
val fullAlias = aliasLocalPart.toFullLocalAlias(userId)
|
||||||
try {
|
try {
|
||||||
executeRequest<RoomAliasDescription>(eventBus) {
|
executeRequest<RoomAliasDescription>(eventBus) {
|
||||||
apiCall = directoryAPI.getRoomIdByAlias(fullAlias)
|
apiCall = directoryAPI.getRoomIdByAlias(fullAlias)
|
||||||
@ -56,6 +60,6 @@ internal class RoomAliasAvailabilityChecker @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
internal fun String.toFullAlias(userId: String) = "#" + this + ":" + userId.substringAfter(":")
|
internal fun String.toFullLocalAlias(userId: String) = "#" + this + ":" + userId.substringAfter(":")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,11 +49,11 @@ class RoomAliasController @Inject constructor(
|
|||||||
|
|
||||||
interface Callback {
|
interface Callback {
|
||||||
fun toggleManualPublishForm()
|
fun toggleManualPublishForm()
|
||||||
fun setNewAlias(value: String)
|
fun setNewAlias(alias: String)
|
||||||
fun addAlias()
|
fun addAlias()
|
||||||
fun setRoomDirectoryVisibility(roomDirectoryVisibility: RoomDirectoryVisibility)
|
fun setRoomDirectoryVisibility(roomDirectoryVisibility: RoomDirectoryVisibility)
|
||||||
fun toggleLocalAliasForm()
|
fun toggleLocalAliasForm()
|
||||||
fun setNewLocalAliasLocalPart(value: String)
|
fun setNewLocalAliasLocalPart(aliasLocalPart: String)
|
||||||
fun addLocalAlias()
|
fun addLocalAlias()
|
||||||
fun openAliasDetail(alias: String)
|
fun openAliasDetail(alias: String)
|
||||||
}
|
}
|
||||||
|
@ -143,8 +143,8 @@ class RoomAliasFragment @Inject constructor(
|
|||||||
viewModel.handle(RoomAliasAction.ToggleManualPublishForm)
|
viewModel.handle(RoomAliasAction.ToggleManualPublishForm)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun setNewAlias(value: String) {
|
override fun setNewAlias(alias: String) {
|
||||||
viewModel.handle(RoomAliasAction.SetNewAlias(value))
|
viewModel.handle(RoomAliasAction.SetNewAlias(alias))
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun addAlias() {
|
override fun addAlias() {
|
||||||
@ -159,8 +159,8 @@ class RoomAliasFragment @Inject constructor(
|
|||||||
viewModel.handle(RoomAliasAction.ToggleAddLocalAliasForm)
|
viewModel.handle(RoomAliasAction.ToggleAddLocalAliasForm)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun setNewLocalAliasLocalPart(value: String) {
|
override fun setNewLocalAliasLocalPart(aliasLocalPart: String) {
|
||||||
viewModel.handle(RoomAliasAction.SetNewLocalAliasLocalPart(value))
|
viewModel.handle(RoomAliasAction.SetNewLocalAliasLocalPart(aliasLocalPart))
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun addLocalAlias() {
|
override fun addLocalAlias() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user