diff --git a/vector/src/main/java/im/vector/app/features/spaces/LeaveSpaceBottomSheet.kt b/vector/src/main/java/im/vector/app/features/spaces/LeaveSpaceBottomSheet.kt index 07cba21180..792c1e2081 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/LeaveSpaceBottomSheet.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/LeaveSpaceBottomSheet.kt @@ -26,6 +26,7 @@ import android.view.ViewGroup import androidx.core.text.toSpannable import androidx.core.view.isInvisible import androidx.core.view.isVisible +import com.airbnb.mvrx.Fail import com.airbnb.mvrx.Loading import com.airbnb.mvrx.args import com.airbnb.mvrx.parentFragmentViewModel @@ -33,6 +34,7 @@ import com.airbnb.mvrx.withState import com.jakewharton.rxbinding3.widget.checkedChanges import im.vector.app.R import im.vector.app.core.di.ScreenComponent +import im.vector.app.core.error.ErrorFormatter import im.vector.app.core.extensions.registerStartForActivityResult import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.VectorBaseBottomSheetDialogFragment @@ -55,6 +57,7 @@ class LeaveSpaceBottomSheet : VectorBaseBottomSheetDialogFragment { - settingsViewModel.handle(SpaceMenuViewAction.SetAutoLeaveAll) + settingsViewModel.handle(SpaceLeaveViewAction.SetAutoLeaveAll) } views.leaveNone.id -> { - settingsViewModel.handle(SpaceMenuViewAction.SetAutoLeaveNone) + settingsViewModel.handle(SpaceLeaveViewAction.SetAutoLeaveNone) } views.leaveSelected.id -> { - settingsViewModel.handle(SpaceMenuViewAction.SetAutoLeaveSelected) + settingsViewModel.handle(SpaceLeaveViewAction.SetAutoLeaveSelected) // launch dedicated activity cherryPickLeaveActivityResult.launch( SpaceLeaveAdvancedActivity.newIntent(requireContext(), spaceArgs.spaceId) @@ -102,7 +105,7 @@ class LeaveSpaceBottomSheet : VectorBaseBottomSheetDialogFragment 0 diff --git a/vector/src/main/java/im/vector/app/features/spaces/SpaceMenuViewAction.kt b/vector/src/main/java/im/vector/app/features/spaces/SpaceLeaveViewAction.kt similarity index 72% rename from vector/src/main/java/im/vector/app/features/spaces/SpaceMenuViewAction.kt rename to vector/src/main/java/im/vector/app/features/spaces/SpaceLeaveViewAction.kt index 1c5de35861..0d17dddca9 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/SpaceMenuViewAction.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/SpaceLeaveViewAction.kt @@ -18,9 +18,9 @@ package im.vector.app.features.spaces import im.vector.app.core.platform.VectorViewModelAction -sealed class SpaceMenuViewAction : VectorViewModelAction { - object SetAutoLeaveAll : SpaceMenuViewAction() - object SetAutoLeaveNone : SpaceMenuViewAction() - object SetAutoLeaveSelected : SpaceMenuViewAction() - object LeaveSpace : SpaceMenuViewAction() +sealed class SpaceLeaveViewAction : VectorViewModelAction { + object SetAutoLeaveAll : SpaceLeaveViewAction() + object SetAutoLeaveNone : SpaceLeaveViewAction() + object SetAutoLeaveSelected : SpaceLeaveViewAction() + object LeaveSpace : SpaceLeaveViewAction() } diff --git a/vector/src/main/java/im/vector/app/features/spaces/SpaceMenuState.kt b/vector/src/main/java/im/vector/app/features/spaces/SpaceMenuState.kt index 23ce9c90b8..395fcc9df1 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/SpaceMenuState.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/SpaceMenuState.kt @@ -28,7 +28,7 @@ data class SpaceMenuState( val canInvite: Boolean = false, val canAddChild: Boolean = false, val isLastAdmin: Boolean = false, - val leaveMode: LeaveMode = LeaveMode.LEAVE_ALL, + val leaveMode: LeaveMode = LeaveMode.LEAVE_NONE, val leavingState: Async = Uninitialized ) : MvRxState { constructor(args: SpaceBottomSheetSettingsArgs) : this(spaceId = args.spaceId) diff --git a/vector/src/main/java/im/vector/app/features/spaces/SpaceMenuViewModel.kt b/vector/src/main/java/im/vector/app/features/spaces/SpaceMenuViewModel.kt index d514fd86aa..24ca218942 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/SpaceMenuViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/SpaceMenuViewModel.kt @@ -22,6 +22,7 @@ import com.airbnb.mvrx.FragmentViewModelContext import com.airbnb.mvrx.Loading import com.airbnb.mvrx.MvRxViewModelFactory import com.airbnb.mvrx.Success +import com.airbnb.mvrx.Uninitialized import com.airbnb.mvrx.ViewModelContext import dagger.assisted.Assisted import dagger.assisted.AssistedFactory @@ -46,7 +47,7 @@ class SpaceMenuViewModel @AssistedInject constructor( @Assisted val initialState: SpaceMenuState, val session: Session, val appStateHandler: AppStateHandler -) : VectorViewModel(initialState) { +) : VectorViewModel(initialState) { @AssistedFactory interface Factory { @@ -84,7 +85,8 @@ class SpaceMenuViewModel @AssistedInject constructor( } } } - } + }.disposeOnClear() + PowerLevelsObservableFactory(room) .createObservable() .subscribe { @@ -117,12 +119,18 @@ class SpaceMenuViewModel @AssistedInject constructor( } } - override fun handle(action: SpaceMenuViewAction) { + override fun handle(action: SpaceLeaveViewAction) { when (action) { - SpaceMenuViewAction.SetAutoLeaveAll -> setState { copy(leaveMode = SpaceMenuState.LeaveMode.LEAVE_ALL) } - SpaceMenuViewAction.SetAutoLeaveNone -> setState { copy(leaveMode = SpaceMenuState.LeaveMode.LEAVE_NONE) } - SpaceMenuViewAction.SetAutoLeaveSelected -> setState { copy(leaveMode = SpaceMenuState.LeaveMode.LEAVE_SELECTED) } - SpaceMenuViewAction.LeaveSpace -> handleLeaveSpace() + SpaceLeaveViewAction.SetAutoLeaveAll -> setState { + copy(leaveMode = SpaceMenuState.LeaveMode.LEAVE_ALL, leavingState = Uninitialized) + } + SpaceLeaveViewAction.SetAutoLeaveNone -> setState { + copy(leaveMode = SpaceMenuState.LeaveMode.LEAVE_NONE, leavingState = Uninitialized) + } + SpaceLeaveViewAction.SetAutoLeaveSelected -> setState { + copy(leaveMode = SpaceMenuState.LeaveMode.LEAVE_SELECTED, leavingState = Uninitialized) + } + SpaceLeaveViewAction.LeaveSpace -> handleLeaveSpace() } } @@ -136,19 +144,20 @@ class SpaceMenuViewModel @AssistedInject constructor( session.getRoom(initialState.spaceId)?.leave(null) } else if (state.leaveMode == SpaceMenuState.LeaveMode.LEAVE_ALL) { // need to find all child rooms that i have joined - try { - session.getRoomSummaries( - roomSummaryQueryParams { - excludeType = null - activeSpaceFilter = ActiveSpaceFilter.ActiveSpace(initialState.spaceId) - memberships = listOf(Membership.JOIN) - } - ).forEach { + + session.getRoomSummaries( + roomSummaryQueryParams { + excludeType = null + activeSpaceFilter = ActiveSpaceFilter.ActiveSpace(initialState.spaceId) + memberships = listOf(Membership.JOIN) + } + ).forEach { + try { session.getRoom(it.roomId)?.leave(null) + } catch (failure: Throwable) { + // silently ignore? + Timber.e(failure, "Fail to leave sub rooms/spaces") } - } catch (failure: Throwable) { - // silently ignore? - Timber.e(failure, "Fail to leave sub rooms/spaces") } session.getRoom(initialState.spaceId)?.leave(null) } diff --git a/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvanceViewAction.kt b/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvanceViewAction.kt index 2626fb69f9..68b313ec7f 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvanceViewAction.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvanceViewAction.kt @@ -22,4 +22,5 @@ sealed class SpaceLeaveAdvanceViewAction : VectorViewModelAction { data class ToggleSelection(val roomId: String) : SpaceLeaveAdvanceViewAction() data class UpdateFilter(val filter: String) : SpaceLeaveAdvanceViewAction() object DoLeave : SpaceLeaveAdvanceViewAction() + object ClearError : SpaceLeaveAdvanceViewAction() } diff --git a/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedActivity.kt b/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedActivity.kt index 63ca3011c2..cb66708324 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedActivity.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedActivity.kt @@ -27,11 +27,13 @@ import com.airbnb.mvrx.MvRx import com.airbnb.mvrx.Success import com.airbnb.mvrx.viewModel import com.google.android.material.appbar.MaterialToolbar +import com.google.android.material.dialog.MaterialAlertDialogBuilder import im.vector.app.R import im.vector.app.core.di.ScreenComponent import im.vector.app.core.error.ErrorFormatter import im.vector.app.core.extensions.commitTransaction import im.vector.app.core.extensions.hideKeyboard +import im.vector.app.core.extensions.setTextOrHide import im.vector.app.core.platform.ToolbarConfigurable import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.databinding.ActivitySimpleLoadingBinding @@ -63,8 +65,7 @@ class SpaceLeaveAdvancedActivity : VectorBaseActivity { hideWaitingView() - showSnackbar(errorFormatter.toHumanReadable(state.leaveState.error)) + MaterialAlertDialogBuilder(this) + .setTitle(R.string.dialog_title_error) + .setMessage(errorFormatter.toHumanReadable(state.leaveState.error)) + .setPositiveButton(R.string.ok) { _, _ -> + leaveViewModel.handle(SpaceLeaveAdvanceViewAction.ClearError) + } + .show() } else -> { hideWaitingView() diff --git a/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedFragment.kt index 3ec493a020..e78d90c6d9 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedFragment.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedFragment.kt @@ -25,7 +25,6 @@ import com.airbnb.mvrx.withState import com.jakewharton.rxbinding3.appcompat.queryTextChanges import im.vector.app.core.extensions.cleanup import im.vector.app.core.extensions.configureWith -import im.vector.app.core.platform.OnBackPressed import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentSpaceLeaveAdvancedBinding import io.reactivex.rxkotlin.subscribeBy @@ -36,7 +35,6 @@ import javax.inject.Inject class SpaceLeaveAdvancedFragment @Inject constructor( val controller: SelectChildrenController ) : VectorBaseFragment(), - OnBackPressed, SelectChildrenController.Listener { override fun getBinding(inflater: LayoutInflater, container: ViewGroup?) = @@ -77,9 +75,4 @@ class SpaceLeaveAdvancedFragment @Inject constructor( override fun onItemSelected(roomSummary: RoomSummary) { viewModel.handle(SpaceLeaveAdvanceViewAction.ToggleSelection(roomSummary.roomId)) } - - override fun onBackPressed(toolbarButton: Boolean): Boolean { - requireActivity().finish() - return true - } } diff --git a/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedViewModel.kt b/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedViewModel.kt index 7a8d7b893e..7461d09b8b 100644 --- a/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/spaces/leave/SpaceLeaveAdvancedViewModel.kt @@ -23,6 +23,7 @@ import com.airbnb.mvrx.FragmentViewModelContext import com.airbnb.mvrx.Loading import com.airbnb.mvrx.MvRxViewModelFactory import com.airbnb.mvrx.Success +import com.airbnb.mvrx.Uninitialized import com.airbnb.mvrx.ViewModelContext import dagger.assisted.Assisted import dagger.assisted.AssistedFactory @@ -31,6 +32,7 @@ import im.vector.app.AppStateHandler import im.vector.app.core.platform.EmptyViewEvents import im.vector.app.core.platform.VectorViewModel import kotlinx.coroutines.launch +import okhttp3.internal.toImmutableList import org.matrix.android.sdk.api.query.ActiveSpaceFilter import org.matrix.android.sdk.api.query.RoomCategoryFilter import org.matrix.android.sdk.api.session.Session @@ -56,7 +58,7 @@ class SpaceLeaveAdvancedViewModel @AssistedInject constructor( } setState { copy( - selectedRooms = existing.toList() + selectedRooms = existing.toImmutableList() ) } } @@ -67,14 +69,15 @@ class SpaceLeaveAdvancedViewModel @AssistedInject constructor( setState { copy(leaveState = Loading()) } viewModelScope.launch { try { - try { - state.selectedRooms.forEach { + state.selectedRooms.forEach { + try { session.getRoom(it)?.leave(null) + } catch (failure: Throwable) { + // silently ignore? + Timber.e(failure, "Fail to leave sub rooms/spaces") } - } catch (failure: Throwable) { - // silently ignore? - Timber.e(failure, "Fail to leave sub rooms/spaces") } + session.getRoom(initialState.spaceId)?.leave(null) // We observe the membership and to dismiss when we have remote echo of leaving } catch (failure: Throwable) { @@ -82,6 +85,9 @@ class SpaceLeaveAdvancedViewModel @AssistedInject constructor( } } } + SpaceLeaveAdvanceViewAction.ClearError -> { + setState { copy(leaveState = Uninitialized) } + } } } diff --git a/vector/src/main/res/layout/bottom_sheet_leave_space.xml b/vector/src/main/res/layout/bottom_sheet_leave_space.xml index 6157de0d60..b9626bf785 100644 --- a/vector/src/main/res/layout/bottom_sheet_leave_space.xml +++ b/vector/src/main/res/layout/bottom_sheet_leave_space.xml @@ -3,7 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="?colorSurface" + android:background="?android:colorBackground" android:orientation="vertical"> + tools:text="@string/space_leave_prompt_msg_with_name" /> استكشِف الغُرف أضف غُرف غادر المساحة + هل أنت متأكد أنك تريد مغادرة المساحة؟ انت الشخص الوحيد هنا إذا غادرت، فلن يتمكن أي شخص من الانضمام في المستقبل، بما في ذلك أنت. هذه المساحة ليست عامة. لن تتمكن من الانضمام مرة أخرى بدون دعوة. diff --git a/vector/src/main/res/values-cs/strings.xml b/vector/src/main/res/values-cs/strings.xml index ca31bad408..7d004fb3e0 100644 --- a/vector/src/main/res/values-cs/strings.xml +++ b/vector/src/main/res/values-cs/strings.xml @@ -2737,6 +2737,7 @@ Jste zváni Vítejte v prostorech! Přidat existující místnosti a prostor + Jste si jisti, že chcete opustit tento prostor\? Opustit prostor Přidat místnosti diff --git a/vector/src/main/res/values-de/strings.xml b/vector/src/main/res/values-de/strings.xml index bfa44cf467..0710840c51 100644 --- a/vector/src/main/res/values-de/strings.xml +++ b/vector/src/main/res/values-de/strings.xml @@ -2770,6 +2770,7 @@ Verlasse den Raum mit der angegebenen ID (oder den aktuellen Raum, wenn keine ID angegeben wird) Name suchen Du wurdest eingeladen + Bist du dir sicher, dass du den Space verlassen willst\? Space verlassen Räume hinzufügen diff --git a/vector/src/main/res/values-eo/strings.xml b/vector/src/main/res/values-eo/strings.xml index e7ede2e900..c5e1149baa 100644 --- a/vector/src/main/res/values-eo/strings.xml +++ b/vector/src/main/res/values-eo/strings.xml @@ -2674,6 +2674,7 @@ Vi estas administranto de ĉi tiu aro. Certigu, ke vi transdonis administrajn rajtojn al alia ano, antaŭ ol vi vere foriros. Ĉi tiu aro ne estas publika. Vi ne povos ree aliĝi sen invito. Vi estas la sola persono ĉi tie. Se vi foriros, neniu plu povos aliĝi, inkluzive vin mem. + Ĉu vi certe volas foriri de la aro\? Foriri de aro Aldoni ĉambrojn diff --git a/vector/src/main/res/values-es/strings.xml b/vector/src/main/res/values-es/strings.xml index 7d7a24febe..7af1373a53 100644 --- a/vector/src/main/res/values-es/strings.xml +++ b/vector/src/main/res/values-es/strings.xml @@ -2619,6 +2619,7 @@ Por favor permite el acceso en la próxima ventana emergente para descubrir usua Espacio Experimental - Sala Restringida. Estas invitado Añadir salas + Estas seguro de que quieres salir de este espacio\? Salir de este espacio Añadir salas diff --git a/vector/src/main/res/values-et/strings.xml b/vector/src/main/res/values-et/strings.xml index 4413737c23..161f57357e 100644 --- a/vector/src/main/res/values-et/strings.xml +++ b/vector/src/main/res/values-et/strings.xml @@ -2679,6 +2679,7 @@ Kogukonnakeskused on uus võimalus siduda jututubasid ja inimesi. Tere tulemast kasutama kogukonnakeskuseid! Lisa olemasolevaid jututubasid ja kogukonnakeskuseid + Kas oled kindel, et soovid lahkuda kogukonnakeskusest\? Lahku kogukonnakeskusest Lisa jututuba diff --git a/vector/src/main/res/values-fa/strings.xml b/vector/src/main/res/values-fa/strings.xml index ec45a40abf..f59512f8cf 100644 --- a/vector/src/main/res/values-fa/strings.xml +++ b/vector/src/main/res/values-fa/strings.xml @@ -2679,6 +2679,7 @@ فضاها شیوه‌ای جدید برای گروه‌بندی اتاق‌ها و افراد است. به فضاها خوش آمدید! افزودن فضا و اتاق‌های موجود + مطمئنید که می‌خواهید فضا را ترک کنید؟ ترک فضا افزودن اتاق diff --git a/vector/src/main/res/values-fr-rCA/strings.xml b/vector/src/main/res/values-fr-rCA/strings.xml index ab6e988870..204580c842 100644 --- a/vector/src/main/res/values-fr-rCA/strings.xml +++ b/vector/src/main/res/values-fr-rCA/strings.xml @@ -2748,6 +2748,7 @@ Vous êtes admin de cet espace, assurez-vous d’avoir transféré les droits d’admin à un autre membre avant de partir. Cet espace n’est pas public. Vous ne pourrez pas le rejoindre sans invitation. Vous êtes la seule personne ici. Si vous partez, personne ne pourra entrer à l’avenir, même pas vous. + Voulez-vous vraiment quitter l’espace\? Quitter l’espace Ajouter des salons diff --git a/vector/src/main/res/values-fr/strings.xml b/vector/src/main/res/values-fr/strings.xml index 57c19f0488..1ffcbe6745 100644 --- a/vector/src/main/res/values-fr/strings.xml +++ b/vector/src/main/res/values-fr/strings.xml @@ -2708,6 +2708,7 @@ Les espaces sont une nouvelle manière de regrouper les salons et les gens. Bienvenue dans les espaces ! Ajouter des salons et espaces existants + Voulez-vous vraiment quitter l’espace \? Quitter l’espace Ajouter des salons diff --git a/vector/src/main/res/values-hu/strings.xml b/vector/src/main/res/values-hu/strings.xml index 4113f38efe..19bb84ff53 100644 --- a/vector/src/main/res/values-hu/strings.xml +++ b/vector/src/main/res/values-hu/strings.xml @@ -2490,6 +2490,7 @@ Ha nem te állítottad be a visszaállítási metódust, akkor egy támadó pró Most te vagy a tér adminisztrátora, bizonyosodj meg arról, hogy kineveztél mást adminisztrátornak mielőtt elhagyod. Ez a tér nem nyilvános. Kilépés után csak újabb meghívóval lehet újra belépni. Csak te van itt. Ha kilépsz, akkor a jövőben senki nem tud majd ide belépni, beleértve téged is. + Biztos el akarod hagyni a teret\? Tér elhagyása Szobák hozzáadása diff --git a/vector/src/main/res/values-it/strings.xml b/vector/src/main/res/values-it/strings.xml index 8d69b4ded9..d39e96946f 100644 --- a/vector/src/main/res/values-it/strings.xml +++ b/vector/src/main/res/values-it/strings.xml @@ -2732,6 +2732,7 @@ Gli Spazi sono un nuovo modo per raggruppare stanze e contatti. Benvenuto negli Spazi! Aggiungi stanze e Spazi esistenti + Vuoi veramente uscire dallo Spazio\? Esci dallo Spazio Aggiungi stanze diff --git a/vector/src/main/res/values-pt-rBR/strings.xml b/vector/src/main/res/values-pt-rBR/strings.xml index 0cec8007b5..8239b68b97 100644 --- a/vector/src/main/res/values-pt-rBR/strings.xml +++ b/vector/src/main/res/values-pt-rBR/strings.xml @@ -2815,6 +2815,7 @@ Você é admin deste espaço, assegure-se que você tem transferido direito de admin a um outro membro antes de sair. Este espaço não é público. Você não vai ser capaz de se rejuntar sem um convite. Você é a única pessoa aqui. Se você sair, ninguém vai ser capaz de se juntar no futuro, incluindo você. + Você tem certeza que você quer sair do espaço\? Sair de Espaço Adicionar salas diff --git a/vector/src/main/res/values-ru/strings.xml b/vector/src/main/res/values-ru/strings.xml index 9220273767..3d829e9cbc 100644 --- a/vector/src/main/res/values-ru/strings.xml +++ b/vector/src/main/res/values-ru/strings.xml @@ -2868,6 +2868,7 @@ Вы являетесь администратором этого пространства, перед уходом убедитесь, что передали права администратора другому пользователю. Это пространство не является публичным. Вы не сможете присоединиться к нему без приглашения. Вы здесь единственный человек. Если вы уйдёте, никто не сможет присоединиться в будущем, включая вас. + Вы уверены, что хотите покинуть пространство\? Покинуть пространство Добавить комнаты diff --git a/vector/src/main/res/values-sq/strings.xml b/vector/src/main/res/values-sq/strings.xml index f8d08d2c6a..8f7144d965 100644 --- a/vector/src/main/res/values-sq/strings.xml +++ b/vector/src/main/res/values-sq/strings.xml @@ -2668,6 +2668,7 @@ Jeni ftuar Mirë se vini te Hapësira! Shtoni dhoma ekzistuese dhe hapësira + Jeni i sigurt se doni të dilni nga hapësira\? Braktiseni Hapësirën Shtoni dhoma diff --git a/vector/src/main/res/values-sv/strings.xml b/vector/src/main/res/values-sv/strings.xml index 9a560e5611..0310c056eb 100644 --- a/vector/src/main/res/values-sv/strings.xml +++ b/vector/src/main/res/values-sv/strings.xml @@ -2737,6 +2737,7 @@ Utrymmen är ett nytt sätt att gruppera rum och personer. Välkommen till utrymmen! Lägg till existerande rum och utrymme + Är du säker på att du vill lämna utrymmet\? Lämna utrymme Lägg till rum diff --git a/vector/src/main/res/values-zh-rCN/strings.xml b/vector/src/main/res/values-zh-rCN/strings.xml index 3e6451b3c7..148790d93a 100644 --- a/vector/src/main/res/values-zh-rCN/strings.xml +++ b/vector/src/main/res/values-zh-rCN/strings.xml @@ -2602,6 +2602,7 @@ 你是此空间的管理员,请确保你在离开前已将管理权限转让给另一位成员。 此空间并非公开空间。你将无法在没有邀请的情况下重新加入。 你是这唯一的人。如果你离开,包括你在内的所有人都将无法加入此空间。 + 你确定你想要离开此空间吗? 离开空间 添加聊天室 diff --git a/vector/src/main/res/values-zh-rTW/strings.xml b/vector/src/main/res/values-zh-rTW/strings.xml index e05a234dea..b1c60f51fd 100644 --- a/vector/src/main/res/values-zh-rTW/strings.xml +++ b/vector/src/main/res/values-zh-rTW/strings.xml @@ -2628,6 +2628,7 @@ 空間是將聊天室與人們分組的新方式。 歡迎使用空間! 新增既有的聊天室與空間 + 您確定您想要離開空間嗎? 離開空間 新增聊天室 diff --git a/vector/src/main/res/values/strings.xml b/vector/src/main/res/values/strings.xml index 69b67d9375..2e7c561295 100644 --- a/vector/src/main/res/values/strings.xml +++ b/vector/src/main/res/values/strings.xml @@ -3479,14 +3479,15 @@ Explore rooms Add rooms Leave Space - Are you sure you want to leave %s? + + Are you sure you want to leave the space? You are the only person here. If you leave, no one will be able to join in the future, including you. You won\'t be able to rejoin unless you are re-invited. You\'re the only admin of this space. Leaving it will mean no one has control over it. Leave all rooms and spaces You will leave all rooms and spaces in %s. Don’t leave any rooms and spaces - Leave specific rooms and spaces + Leave specific rooms and spaces… Pick things to leave Add existing rooms and space