Design review changes
This commit is contained in:
parent
ea5e48b940
commit
55083a5602
|
@ -59,9 +59,10 @@ internal class RoomChildRelationInfo(private val realm: Realm,
|
|||
*/
|
||||
fun getDirectChildrenDescriptions(): List<SpaceChildInfo> {
|
||||
return CurrentStateEventEntity.whereType(realm, roomId, EventType.STATE_SPACE_CHILD)
|
||||
.findAll().also {
|
||||
Timber.v("## Space: Found ${it.count()} m.space.child state events for $roomId")
|
||||
}
|
||||
.findAll()
|
||||
// .also {
|
||||
// Timber.v("## Space: Found ${it.count()} m.space.child state events for $roomId")
|
||||
// }
|
||||
.mapNotNull {
|
||||
ContentMapper.map(it.root?.content).toModel<SpaceChildContent>()?.let { scc ->
|
||||
Timber.v("## Space child desc state event $scc")
|
||||
|
@ -81,12 +82,13 @@ internal class RoomChildRelationInfo(private val realm: Realm,
|
|||
|
||||
fun getParentDescriptions(): List<SpaceParentInfo> {
|
||||
return CurrentStateEventEntity.whereType(realm, roomId, EventType.STATE_SPACE_PARENT)
|
||||
.findAll().also {
|
||||
Timber.v("## Space: Found ${it.count()} m.space.parent state events for $roomId")
|
||||
}
|
||||
.findAll()
|
||||
// .also {
|
||||
// Timber.v("## Space: Found ${it.count()} m.space.parent state events for $roomId")
|
||||
// }
|
||||
.mapNotNull {
|
||||
ContentMapper.map(it.root?.content).toModel<SpaceParentContent>()?.let { scc ->
|
||||
Timber.v("## Space parent desc state event $scc")
|
||||
// Timber.v("## Space parent desc state event $scc")
|
||||
// Parent where via is not present are ignored.
|
||||
scc.via?.let { via ->
|
||||
SpaceParentInfo(
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package im.vector.app.core.ui.list
|
||||
|
||||
import android.graphics.Typeface
|
||||
import android.view.Gravity
|
||||
import android.widget.TextView
|
||||
import androidx.annotation.ColorInt
|
||||
|
@ -36,7 +37,7 @@ import im.vector.app.features.themes.ThemeUtils
|
|||
abstract class GenericFooterItem : VectorEpoxyModel<GenericFooterItem.Holder>() {
|
||||
|
||||
@EpoxyAttribute
|
||||
var text: String? = null
|
||||
var text: CharSequence? = null
|
||||
|
||||
@EpoxyAttribute
|
||||
var style: GenericItem.STYLE = GenericItem.STYLE.NORMAL_TEXT
|
||||
|
@ -53,10 +54,17 @@ abstract class GenericFooterItem : VectorEpoxyModel<GenericFooterItem.Holder>()
|
|||
|
||||
override fun bind(holder: Holder) {
|
||||
super.bind(holder)
|
||||
|
||||
holder.text.setTextOrHide(text)
|
||||
holder.text.typeface = Typeface.DEFAULT
|
||||
when (style) {
|
||||
GenericItem.STYLE.BIG_TEXT -> holder.text.textSize = 18f
|
||||
GenericItem.STYLE.NORMAL_TEXT -> holder.text.textSize = 14f
|
||||
GenericItem.STYLE.SUBHEADER -> holder.text.textSize = 16f
|
||||
GenericItem.STYLE.TITLE -> {
|
||||
holder.text.textSize = 20f
|
||||
holder.text.typeface = Typeface.DEFAULT_BOLD
|
||||
}
|
||||
}
|
||||
holder.text.gravity = if (centered) Gravity.CENTER_HORIZONTAL else Gravity.START
|
||||
|
||||
|
|
|
@ -40,7 +40,9 @@ abstract class GenericItem : VectorEpoxyModel<GenericItem.Holder>() {
|
|||
|
||||
enum class STYLE {
|
||||
BIG_TEXT,
|
||||
NORMAL_TEXT
|
||||
NORMAL_TEXT,
|
||||
TITLE,
|
||||
SUBHEADER
|
||||
}
|
||||
|
||||
class Action(var title: String) {
|
||||
|
|
|
@ -73,7 +73,7 @@ abstract class FormMultiLineEditTextItem : VectorEpoxyModel<FormMultiLineEditTex
|
|||
holder.textInputLayout.error = errorMessage
|
||||
|
||||
holder.textInputEditText.typeface = typeFace
|
||||
holder.textInputEditText.textSize = textSizeSp?.toFloat() ?: 12f
|
||||
holder.textInputEditText.textSize = textSizeSp?.toFloat() ?: 14f
|
||||
holder.textInputEditText.minLines = minLines
|
||||
|
||||
// Update only if text is different and value is not null
|
||||
|
|
|
@ -27,6 +27,8 @@ import com.airbnb.mvrx.ViewModelContext
|
|||
import im.vector.app.R
|
||||
import im.vector.app.core.extensions.exhaustive
|
||||
import im.vector.app.core.platform.VectorViewModel
|
||||
import im.vector.app.core.utils.DataSource
|
||||
import im.vector.app.features.grouplist.SelectedSpaceDataSource
|
||||
import im.vector.app.core.resources.StringProvider
|
||||
import im.vector.app.features.home.RoomListDisplayMode
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
|
|
|
@ -24,6 +24,8 @@ data class RoomListViewState(
|
|||
val displayMode: RoomListDisplayMode,
|
||||
val roomFilter: String = "",
|
||||
val roomMembershipChanges: Map<String, ChangeMembershipState> = emptyMap()
|
||||
val asyncSuggestedRooms: Async<List<SpaceChildInfo>> = Uninitialized,
|
||||
val suggestedRoomJoiningState: Map<String, Async<Unit>> = emptyMap()
|
||||
) : MvRxState {
|
||||
|
||||
constructor(args: RoomListParams) : this(displayMode = args.displayMode)
|
||||
|
|
|
@ -21,6 +21,7 @@ import android.os.Parcelable
|
|||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import im.vector.app.R
|
||||
import im.vector.app.core.di.ActiveSessionHolder
|
||||
|
@ -64,6 +65,8 @@ class ShareSpaceBottomSheet : VectorBaseBottomSheetDialogFragment<BottomSheetSpa
|
|||
val spaceName = summary?.name
|
||||
views.descriptionText.text = getString(R.string.invite_people_to_your_space_desc, spaceName)
|
||||
|
||||
// XXX enable back when supported
|
||||
views.inviteByMailButton.isVisible = false
|
||||
views.inviteByMailButton.debouncedClicks {
|
||||
}
|
||||
|
||||
|
@ -84,9 +87,9 @@ class ShareSpaceBottomSheet : VectorBaseBottomSheetDialogFragment<BottomSheetSpa
|
|||
}
|
||||
}
|
||||
|
||||
views.skipButton.debouncedClicks {
|
||||
dismiss()
|
||||
}
|
||||
// views.skipButton.debouncedClicks {
|
||||
// dismiss()
|
||||
// }
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -66,6 +66,7 @@ class SpaceCreationActivity : SimpleFragmentActivity(), CreateSpaceViewModel.Fac
|
|||
|
||||
override fun initUiAndData() {
|
||||
super.initUiAndData()
|
||||
|
||||
viewModel.subscribe(this) {
|
||||
renderState(it)
|
||||
}
|
||||
|
|
|
@ -89,7 +89,9 @@ class SpaceSettingsMenuBottomSheet : VectorBaseBottomSheetDialogFragment<BottomS
|
|||
}.disposeOnDestroyView()
|
||||
|
||||
views.invitePeople.views.bottomSheetActionClickableZone.debouncedClicks {
|
||||
navigator.openInviteUsersToRoom(requireContext(), spaceArgs.spaceId)
|
||||
// navigator.openInviteUsersToRoom(requireContext(), spaceArgs.spaceId)
|
||||
dismiss()
|
||||
ShareSpaceBottomSheet.show(requireFragmentManager(), spaceArgs.spaceId)
|
||||
}
|
||||
|
||||
views.showMemberList.views.bottomSheetActionClickableZone.debouncedClicks {
|
||||
|
|
|
@ -22,13 +22,17 @@ import android.view.View
|
|||
import android.view.ViewGroup
|
||||
import com.airbnb.mvrx.activityViewModel
|
||||
import im.vector.app.core.extensions.configureWith
|
||||
import im.vector.app.core.extensions.hideKeyboard
|
||||
import im.vector.app.core.platform.OnBackPressed
|
||||
import im.vector.app.core.platform.VectorBaseFragment
|
||||
import im.vector.app.databinding.FragmentSpaceCreateGenericEpoxyFormBinding
|
||||
import javax.inject.Inject
|
||||
|
||||
class CreateSpaceDefaultRoomsFragment @Inject constructor(
|
||||
private val epoxyController: SpaceDefaultRoomEpoxyController
|
||||
) : VectorBaseFragment<FragmentSpaceCreateGenericEpoxyFormBinding>(), SpaceDefaultRoomEpoxyController.Listener {
|
||||
) : VectorBaseFragment<FragmentSpaceCreateGenericEpoxyFormBinding>(),
|
||||
SpaceDefaultRoomEpoxyController.Listener,
|
||||
OnBackPressed {
|
||||
|
||||
private val sharedViewModel: CreateSpaceViewModel by activityViewModel()
|
||||
|
||||
|
@ -46,6 +50,7 @@ class CreateSpaceDefaultRoomsFragment @Inject constructor(
|
|||
}
|
||||
|
||||
views.nextButton.debouncedClicks {
|
||||
view.hideKeyboard()
|
||||
sharedViewModel.handle(CreateSpaceAction.NextFromDefaultRooms)
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +59,8 @@ class CreateSpaceDefaultRoomsFragment @Inject constructor(
|
|||
sharedViewModel.handle(CreateSpaceAction.DefaultRoomNameChanged(index, newName))
|
||||
}
|
||||
|
||||
// -----------------------------
|
||||
// Epoxy controller listener methods
|
||||
// -----------------------------
|
||||
override fun onBackPressed(toolbarButton: Boolean): Boolean {
|
||||
sharedViewModel.handle(CreateSpaceAction.OnBackPressed)
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,6 +24,8 @@ import android.view.ViewGroup
|
|||
import com.airbnb.mvrx.activityViewModel
|
||||
import im.vector.app.core.dialogs.GalleryOrCameraDialogHelper
|
||||
import im.vector.app.core.extensions.configureWith
|
||||
import im.vector.app.core.extensions.hideKeyboard
|
||||
import im.vector.app.core.platform.OnBackPressed
|
||||
import im.vector.app.core.platform.VectorBaseFragment
|
||||
import im.vector.app.core.resources.ColorProvider
|
||||
import im.vector.app.databinding.FragmentSpaceCreateGenericEpoxyFormBinding
|
||||
|
@ -33,7 +35,7 @@ class CreateSpaceDetailsFragment @Inject constructor(
|
|||
private val epoxyController: SpaceDetailEpoxyController,
|
||||
private val colorProvider: ColorProvider
|
||||
) : VectorBaseFragment<FragmentSpaceCreateGenericEpoxyFormBinding>(), SpaceDetailEpoxyController.Listener,
|
||||
GalleryOrCameraDialogHelper.Listener {
|
||||
GalleryOrCameraDialogHelper.Listener, OnBackPressed {
|
||||
|
||||
private val sharedViewModel: CreateSpaceViewModel by activityViewModel()
|
||||
|
||||
|
@ -53,6 +55,7 @@ class CreateSpaceDetailsFragment @Inject constructor(
|
|||
}
|
||||
|
||||
views.nextButton.debouncedClicks {
|
||||
view.hideKeyboard()
|
||||
sharedViewModel.handle(CreateSpaceAction.NextFromDetails)
|
||||
}
|
||||
}
|
||||
|
@ -60,6 +63,7 @@ class CreateSpaceDetailsFragment @Inject constructor(
|
|||
override fun onImageReady(uri: Uri?) {
|
||||
sharedViewModel.handle(CreateSpaceAction.SetAvatar(uri))
|
||||
}
|
||||
|
||||
// -----------------------------
|
||||
// Epoxy controller listener methods
|
||||
// -----------------------------
|
||||
|
@ -79,4 +83,9 @@ class CreateSpaceDetailsFragment @Inject constructor(
|
|||
override fun onTopicChange(newTopic: String) {
|
||||
sharedViewModel.handle(CreateSpaceAction.TopicChanged(newTopic))
|
||||
}
|
||||
|
||||
override fun onBackPressed(toolbarButton: Boolean): Boolean {
|
||||
sharedViewModel.handle(CreateSpaceAction.OnBackPressed)
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,10 +33,12 @@ class SpaceDefaultRoomEpoxyController @Inject constructor(
|
|||
|
||||
var listener: Listener? = null
|
||||
|
||||
// var shouldForceFocusOnce = true
|
||||
|
||||
override fun buildModels(data: CreateSpaceState?) {
|
||||
genericFooterItem {
|
||||
id("info_help_header")
|
||||
style(GenericItem.STYLE.BIG_TEXT)
|
||||
style(GenericItem.STYLE.TITLE)
|
||||
text(stringProvider.getString(R.string.create_spaces_room_public_header, data?.name))
|
||||
textColor(colorProvider.getColorFromAttribute(R.attr.riot_primary_text_color))
|
||||
}
|
||||
|
@ -47,10 +49,12 @@ class SpaceDefaultRoomEpoxyController @Inject constructor(
|
|||
textColor(colorProvider.getColorFromAttribute(R.attr.riotx_text_secondary))
|
||||
}
|
||||
|
||||
val firstRoomName = data?.defaultRooms?.get(0)
|
||||
formEditTextItem {
|
||||
id("roomName1")
|
||||
enabled(true)
|
||||
value(data?.defaultRooms?.get(0))
|
||||
value(firstRoomName)
|
||||
singleLine(true)
|
||||
hint(stringProvider.getString(R.string.create_room_name_section))
|
||||
endIconMode(TextInputLayout.END_ICON_CLEAR_TEXT)
|
||||
showBottomSeparator(false)
|
||||
|
@ -59,10 +63,12 @@ class SpaceDefaultRoomEpoxyController @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
val secondRoomName = data?.defaultRooms?.get(1)
|
||||
formEditTextItem {
|
||||
id("roomName2")
|
||||
enabled(true)
|
||||
value(data?.defaultRooms?.get(1))
|
||||
value(secondRoomName)
|
||||
singleLine(true)
|
||||
hint(stringProvider.getString(R.string.create_room_name_section))
|
||||
endIconMode(TextInputLayout.END_ICON_CLEAR_TEXT)
|
||||
showBottomSeparator(false)
|
||||
|
@ -71,23 +77,35 @@ class SpaceDefaultRoomEpoxyController @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
val thirdRoomName = data?.defaultRooms?.get(2)
|
||||
formEditTextItem {
|
||||
id("roomName3")
|
||||
enabled(true)
|
||||
value(data?.defaultRooms?.get(2))
|
||||
value(thirdRoomName)
|
||||
singleLine(true)
|
||||
hint(stringProvider.getString(R.string.create_room_name_section))
|
||||
endIconMode(TextInputLayout.END_ICON_CLEAR_TEXT)
|
||||
showBottomSeparator(false)
|
||||
onTextChange { text ->
|
||||
listener?.onNameChange(2, text)
|
||||
}
|
||||
// onBind { _, view, _ ->
|
||||
// if (shouldForceFocusOnce
|
||||
// && thirdRoomName.isNullOrBlank()
|
||||
// && firstRoomName.isNullOrBlank().not()
|
||||
// && secondRoomName.isNullOrBlank().not()
|
||||
// ) {
|
||||
// shouldForceFocusOnce = false
|
||||
// // sad face :(
|
||||
// view.textInputEditText.post {
|
||||
// view.textInputEditText.showKeyboard(true)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
interface Listener {
|
||||
// fun onAvatarDelete()
|
||||
// fun onAvatarChange()
|
||||
fun onNameChange(index: Int, newName: String)
|
||||
// fun onTopicChange(newTopic: String)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,6 +34,8 @@ class SpaceDetailEpoxyController @Inject constructor(
|
|||
|
||||
var listener: Listener? = null
|
||||
|
||||
// var shouldForceFocusOnce = true
|
||||
|
||||
override fun buildModels(data: CreateSpaceState?) {
|
||||
genericFooterItem {
|
||||
id("info_help")
|
||||
|
@ -61,8 +63,18 @@ class SpaceDetailEpoxyController @Inject constructor(
|
|||
enabled(true)
|
||||
value(data?.name)
|
||||
hint(stringProvider.getString(R.string.create_room_name_hint))
|
||||
singleLine(true)
|
||||
showBottomSeparator(false)
|
||||
errorMessage(data?.nameInlineError)
|
||||
// onBind { _, view, _ ->
|
||||
// if (shouldForceFocusOnce && data?.name.isNullOrBlank()) {
|
||||
// shouldForceFocusOnce = false
|
||||
// // sad face :(
|
||||
// view.textInputEditText.post {
|
||||
// view.textInputEditText.showKeyboard(true)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
onTextChange { text ->
|
||||
listener?.onNameChange(text)
|
||||
}
|
||||
|
@ -72,9 +84,9 @@ class SpaceDetailEpoxyController @Inject constructor(
|
|||
id("topic")
|
||||
enabled(true)
|
||||
value(data?.topic)
|
||||
hint(stringProvider.getString(R.string.create_room_topic_hint))
|
||||
hint(stringProvider.getString(R.string.create_space_topic_hint))
|
||||
showBottomSeparator(false)
|
||||
textSizeSp(15)
|
||||
textSizeSp(16)
|
||||
onTextChange { text ->
|
||||
listener?.onTopicChange(text)
|
||||
}
|
||||
|
|
|
@ -69,8 +69,8 @@ class WizardButtonView @JvmOverloads constructor(context: Context, attrs: Attrib
|
|||
// var action: (() -> Unit)? = null
|
||||
|
||||
init {
|
||||
inflate(context, R.layout.view_space_type_button, this)
|
||||
views = ViewSpaceTypeButtonBinding.bind(this)
|
||||
val content = inflate(context, R.layout.view_space_type_button, this)
|
||||
views = ViewSpaceTypeButtonBinding.bind(content)
|
||||
|
||||
views.subTitle.setTextOrHide(null)
|
||||
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
|
||||
<size android:width="40dp" android:height="40dp"/>
|
||||
|
||||
<solid android:color="?vctr_list_header_background_color" />
|
||||
|
||||
<corners android:radius="16dp" />
|
||||
|
||||
</shape>
|
|
@ -14,11 +14,11 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:layout_marginBottom="12dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/invite_people_to_your_space"
|
||||
android:textColor="?riotx_text_primary"
|
||||
android:textSize="18sp"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
@ -26,10 +26,10 @@
|
|||
android:id="@+id/descriptionText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:gravity="center"
|
||||
android:textColor="?riotx_text_secondary"
|
||||
android:textSize="18sp"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintBottom_toTopOf="@id/joinInfoHelpText"
|
||||
app:layout_constraintTop_toBottomOf="@id/headerText"
|
||||
app:layout_constraintVertical_bias="1"
|
||||
|
@ -40,40 +40,50 @@
|
|||
android:id="@+id/inviteByMailButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:icon="@drawable/ic_mail"
|
||||
app:iconTint="?riotx_text_secondary"
|
||||
app:title="@string/invite_by_email" />
|
||||
|
||||
<Space
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="16dp" />
|
||||
|
||||
<im.vector.app.features.spaces.create.WizardButtonView
|
||||
android:id="@+id/inviteByMxidButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:icon="@drawable/ic_add_people"
|
||||
app:iconTint="?riotx_text_secondary"
|
||||
app:title="@string/invite_by_mxid" />
|
||||
|
||||
<Space
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="16dp" />
|
||||
|
||||
|
||||
<im.vector.app.features.spaces.create.WizardButtonView
|
||||
android:id="@+id/inviteByLinkButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
app:icon="@drawable/ic_share_link"
|
||||
app:iconTint="?riotx_text_secondary"
|
||||
app:title="@string/invite_by_link">
|
||||
|
||||
</im.vector.app.features.spaces.create.WizardButtonView>
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/skipButton"
|
||||
style="@style/VectorButtonStyleOutlined"
|
||||
android:textAllCaps="true"
|
||||
|
||||
<Space
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/layout_vertical_margin"
|
||||
android:textColor="?colorAccent"
|
||||
android:text="@string/skip_for_now"/>
|
||||
android:layout_height="20dp" />
|
||||
|
||||
<!-- <com.google.android.material.button.MaterialButton-->
|
||||
<!-- android:id="@+id/skipButton"-->
|
||||
<!-- style="@style/VectorButtonStyleOutlined"-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_marginTop="@dimen/layout_vertical_margin"-->
|
||||
<!-- android:text="@string/skip_for_now"-->
|
||||
<!-- android:textAllCaps="true"-->
|
||||
<!-- android:textColor="?colorAccent" />-->
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -17,17 +17,17 @@
|
|||
android:gravity="center"
|
||||
android:text="@string/create_spaces_type_header"
|
||||
android:textColor="?riotx_text_secondary"
|
||||
android:textSize="18sp"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:gravity="start"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/create_spaces_choose_type_label"
|
||||
android:textColor="?riotx_text_primary"
|
||||
android:textSize="18sp"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toTopOf="@id/joinInfoHelpText"
|
||||
app:layout_constraintTop_toBottomOf="@id/headerText"
|
||||
|
@ -37,18 +37,18 @@
|
|||
android:id="@+id/joinInfoHelpText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:gravity="start"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/create_spaces_join_info_help"
|
||||
android:textColor="?riotx_text_secondary"
|
||||
android:textSize="16sp"
|
||||
android:textSize="14sp"
|
||||
app:layout_constraintBottom_toTopOf="@id/publicButton" />
|
||||
|
||||
<im.vector.app.features.spaces.create.WizardButtonView
|
||||
android:id="@+id/publicButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:icon="@drawable/ic_public_room"
|
||||
app:layout_constraintBottom_toTopOf="@id/privateButton"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
@ -61,11 +61,23 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:icon="@drawable/ic_room_private"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:layout_marginBottom="16dp"
|
||||
app:layout_constraintBottom_toTopOf="@id/changeLaterText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:subTitle="@string/space_type_private_desc"
|
||||
app:title="@string/space_type_private" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/changeLaterText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="24dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/create_spaces_you_can_change_later"
|
||||
android:textColor="?riotx_text_secondary"
|
||||
android:textSize="14sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</ScrollView>
|
|
@ -21,7 +21,6 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:background="?riotx_background"
|
||||
android:elevation="2dp"
|
||||
android:padding="8dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
|
@ -29,6 +28,9 @@
|
|||
style="@style/VectorButtonStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="14dp"
|
||||
android:layout_marginEnd="14dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:text="@string/next_pf" />
|
||||
|
||||
</FrameLayout>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
android:id="@+id/itemEditableAvatarImageContainer"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="80dp"
|
||||
android:background="@drawable/rounded_rect_shape_8"
|
||||
android:background="@drawable/rounded_rect_shape_16"
|
||||
android:contentDescription="@string/a11y_change_avatar"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
|
|
@ -6,12 +6,13 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/rounded_rect_shape_8"
|
||||
android:padding="4dp">
|
||||
android:padding="8dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/buttonImageView"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:minHeight="56dp"
|
||||
android:layout_margin="8dp"
|
||||
android:importantForAccessibility="no"
|
||||
android:src="@drawable/ic_public_room"
|
||||
|
@ -24,9 +25,7 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:gravity="start"
|
||||
android:textColor="?riotx_text_primary"
|
||||
android:textSize="16sp"
|
||||
|
@ -34,6 +33,7 @@
|
|||
app:layout_constraintEnd_toStartOf="@id/rightChevron"
|
||||
app:layout_constraintStart_toEndOf="@id/buttonImageView"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/subTitle"
|
||||
app:layout_goneMarginBottom="0dp"
|
||||
tools:text="Public" />
|
||||
|
||||
|
@ -44,7 +44,6 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:gravity="start"
|
||||
android:textColor="?riotx_text_secondary"
|
||||
android:textSize="12sp"
|
||||
|
@ -53,7 +52,6 @@
|
|||
app:layout_constraintEnd_toStartOf="@id/rightChevron"
|
||||
app:layout_constraintStart_toEndOf="@id/buttonImageView"
|
||||
app:layout_constraintTop_toBottomOf="@id/title"
|
||||
app:layout_goneMarginBottom="8dp"
|
||||
tools:text="Open to anyone, best for communities"
|
||||
tools:visibility="visible" />
|
||||
|
||||
|
|
|
@ -3266,6 +3266,7 @@
|
|||
<string name="your_public_space">Your public space</string>
|
||||
<string name="create_spaces_type_header">Spaces are a new way to group rooms and people</string>
|
||||
<string name="create_spaces_choose_type_label">What type of space do you want to create?</string>
|
||||
<string name="create_spaces_you_can_change_later">You can change this later</string>
|
||||
<string name="create_spaces_join_info_help">To join an existing space, you need an invite.</string>
|
||||
<string name="space_type_public">Public</string>
|
||||
<string name="space_type_public_desc">Open to anyone, best for communities</string>
|
||||
|
@ -3276,10 +3277,11 @@
|
|||
<string name="create_spaces_details_private_header">Add some details to help people identify it. You can change these at any point.</string>
|
||||
<string name="create_space_error_empty_field_space_name">Give it a name to continue.</string>
|
||||
<string name="create_spaces_room_public_header">What are some discussions you want to have in %s?</string>
|
||||
<string name="create_spaces_room_public_header_desc">We’ll create rooms for them, and auto-join everyone. You can add more later too.</string>
|
||||
<string name="create_spaces_room_public_header_desc">We’ll create rooms for them. You can add more later too.</string>
|
||||
<string name="create_spaces_default_public_room_name">General</string>
|
||||
<string name="create_spaces_default_public_random_room_name">Random</string>
|
||||
<string name="create_spaces_loading_message">Creating Space…</string>
|
||||
<string name="create_space_topic_hint">Description</string>
|
||||
<string name="invite_people_to_your_space">Invite people to your space</string>
|
||||
<string name="invite_people_menu">Invite people</string>
|
||||
<string name="invite_people_to_your_space_desc">It’s just you at the moment. %s will be even better with others.</string>
|
||||
|
@ -3294,6 +3296,8 @@
|
|||
<string name="room_alias_preview_not_found">This alias is not accessible at this time.\nTry again later, or ask a room admin to check if you have access.</string>
|
||||
|
||||
<string name="suggested_rooms_pills_on_empty_text">You’re not in any rooms yet. Below are some suggested rooms, but you can see more with the green button bottom right.</string>
|
||||
<!-- First one is the space name, and the second one is user name -->
|
||||
<string name="suggested_rooms_pills_on_empty_header">Welcome to %1$s, %2$s.</string>
|
||||
|
||||
<string name="space_explore_activity_title">Explore rooms</string>
|
||||
<string name="leave_space">Leave Space</string>
|
||||
|
|
Loading…
Reference in New Issue