mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2024-11-22 09:25:49 +03:00
Toggle ip address on others section of the main screen.
This commit is contained in:
parent
456762a464
commit
eed2a74d07
4 changed files with 24 additions and 5 deletions
|
@ -316,10 +316,11 @@ class VectorSettingsDevicesFragment :
|
|||
multiSignoutItem.title = stringProvider.getQuantityString(R.plurals.device_manager_other_sessions_multi_signout_all, nbDevices, nbDevices)
|
||||
multiSignoutItem.setTextColor(color)
|
||||
views.deviceListOtherSessions.isVisible = true
|
||||
val devices = if (isShowingIpAddress) otherDevices else otherDevices.map { it.copy(deviceInfo = it.deviceInfo.copy(lastSeenIp = null)) }
|
||||
views.deviceListOtherSessions.render(
|
||||
devices = otherDevices.take(NUMBER_OF_OTHER_DEVICES_TO_RENDER),
|
||||
totalNumberOfDevices = otherDevices.size,
|
||||
showViewAll = otherDevices.size > NUMBER_OF_OTHER_DEVICES_TO_RENDER
|
||||
devices = devices.take(NUMBER_OF_OTHER_DEVICES_TO_RENDER),
|
||||
totalNumberOfDevices = devices.size,
|
||||
showViewAll = devices.size > NUMBER_OF_OTHER_DEVICES_TO_RENDER
|
||||
)
|
||||
views.deviceListHeaderOtherSessions.menu.findItem(R.id.otherSessionsHeaderToggleIpAddress).title = if (isShowingIpAddress) {
|
||||
stringProvider.getString(R.string.device_manager_other_sessions_hide_ip_address)
|
||||
|
|
|
@ -29,6 +29,7 @@ import im.vector.app.core.epoxy.ClickListener
|
|||
import im.vector.app.core.epoxy.VectorEpoxyHolder
|
||||
import im.vector.app.core.epoxy.VectorEpoxyModel
|
||||
import im.vector.app.core.epoxy.onClick
|
||||
import im.vector.app.core.extensions.setTextOrHide
|
||||
import im.vector.app.core.resources.ColorProvider
|
||||
import im.vector.app.core.resources.DrawableProvider
|
||||
import im.vector.app.core.resources.StringProvider
|
||||
|
@ -69,6 +70,9 @@ abstract class OtherSessionItem : VectorEpoxyModel<OtherSessionItem.Holder>(R.la
|
|||
@EpoxyAttribute
|
||||
var selected: Boolean = false
|
||||
|
||||
@EpoxyAttribute
|
||||
var ipAddress: String? = null
|
||||
|
||||
@EpoxyAttribute(EpoxyAttribute.Option.DoNotHash)
|
||||
var clickListener: ClickListener? = null
|
||||
|
||||
|
@ -100,6 +104,7 @@ abstract class OtherSessionItem : VectorEpoxyModel<OtherSessionItem.Holder>(R.la
|
|||
holder.otherSessionDescriptionTextView.setTextColor(it)
|
||||
}
|
||||
holder.otherSessionDescriptionTextView.setCompoundDrawablesWithIntrinsicBounds(sessionDescriptionDrawable, null, null, null)
|
||||
holder.otherSessionIpAddressTextView.setTextOrHide(ipAddress)
|
||||
holder.otherSessionItemBackgroundView.isSelected = selected
|
||||
}
|
||||
|
||||
|
@ -108,6 +113,7 @@ abstract class OtherSessionItem : VectorEpoxyModel<OtherSessionItem.Holder>(R.la
|
|||
val otherSessionVerificationStatusImageView by bind<ShieldImageView>(R.id.otherSessionVerificationStatusImageView)
|
||||
val otherSessionNameTextView by bind<TextView>(R.id.otherSessionNameTextView)
|
||||
val otherSessionDescriptionTextView by bind<TextView>(R.id.otherSessionDescriptionTextView)
|
||||
val otherSessionIpAddressTextView by bind<TextView>(R.id.otherSessionIpAddressTextView)
|
||||
val otherSessionItemBackgroundView by bind<View>(R.id.otherSessionItemBackground)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -72,6 +72,7 @@ class OtherSessionsController @Inject constructor(
|
|||
sessionDescription(description)
|
||||
sessionDescriptionDrawable(descriptionDrawable)
|
||||
sessionDescriptionColor(descriptionColor)
|
||||
ipAddress(device.deviceInfo.lastSeenIp)
|
||||
stringProvider(host.stringProvider)
|
||||
colorProvider(host.colorProvider)
|
||||
drawableProvider(host.drawableProvider)
|
||||
|
|
|
@ -67,12 +67,23 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:drawablePadding="8dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/otherSessionDeviceTypeImageView"
|
||||
app:layout_constraintEnd_toEndOf="@id/otherSessionNameTextView"
|
||||
app:layout_constraintStart_toStartOf="@id/otherSessionNameTextView"
|
||||
app:layout_constraintTop_toBottomOf="@id/otherSessionNameTextView"
|
||||
tools:text="@string/device_manager_verification_status_verified" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/otherSessionIpAddressTextView"
|
||||
style="@style/TextAppearance.Vector.Body.DevicesManagement"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:drawablePadding="8dp"
|
||||
app:layout_constraintEnd_toEndOf="@id/otherSessionNameTextView"
|
||||
app:layout_constraintStart_toStartOf="@id/otherSessionNameTextView"
|
||||
app:layout_constraintTop_toBottomOf="@id/otherSessionDescriptionTextView"
|
||||
tools:text="0.0.0.0" />
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1dp"
|
||||
|
@ -80,6 +91,6 @@
|
|||
android:background="?vctr_content_quinary"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/otherSessionNameTextView"
|
||||
app:layout_constraintTop_toBottomOf="@id/otherSessionItemBackground" />
|
||||
app:layout_constraintTop_toBottomOf="@id/otherSessionIpAddressTextView" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
Loading…
Reference in a new issue