diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/details/SessionDetailsContentItem.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/details/SessionDetailsContentItem.kt index e0f433af35..665ba5126c 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/details/SessionDetailsContentItem.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/details/SessionDetailsContentItem.kt @@ -18,6 +18,7 @@ package im.vector.app.features.settings.devices.v2.details import android.view.View import android.widget.TextView +import androidx.core.view.isVisible import com.airbnb.epoxy.EpoxyAttribute import com.airbnb.epoxy.EpoxyModelClass import im.vector.app.R @@ -33,6 +34,9 @@ abstract class SessionDetailsContentItem : VectorEpoxyModel(R.id.sessionDetailsContentTitle) val sessionDetailsContentDescription by bind(R.id.sessionDetailsContentDescription) + val sessionDetailsContentDivider by bind(R.id.sessionDetailsContentDivider) } } diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/details/SessionDetailsController.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/details/SessionDetailsController.kt index 72e558bddb..8c53b07ce7 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/details/SessionDetailsController.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/details/SessionDetailsController.kt @@ -63,13 +63,14 @@ class SessionDetailsController @Inject constructor( } } - private fun buildContentItem(@StringRes titleResId: Int, value: String) { + private fun buildContentItem(@StringRes titleResId: Int, value: String, hasDivider: Boolean) { val host = this // TODO bind the longClickListener to copy the description to the clipboard sessionDetailsContentItem { id(titleResId) title(host.stringProvider.getString(titleResId)) description(value) + hasDivider(hasDivider) } } @@ -84,16 +85,18 @@ class SessionDetailsController @Inject constructor( buildHeaderItem(R.string.device_manager_session_details_section_session_title) - // TODO hide divider on the last visible item sessionName?.let { - buildContentItem(R.string.device_manager_session_details_session_name, it) + val hasDivider = sessionId != null || sessionLastSeenTs != null + buildContentItem(R.string.device_manager_session_details_session_name, it, hasDivider) } sessionId?.let { - buildContentItem(R.string.device_manager_session_details_session_id, it) + val hasDivider = sessionLastSeenTs != null + buildContentItem(R.string.device_manager_session_details_session_id, it, hasDivider) } sessionLastSeenTs?.let { val formattedDate = dateFormatter.format(it, DateFormatKind.MESSAGE_DETAIL) - buildContentItem(R.string.device_manager_session_details_session_last_activity, formattedDate) + val hasDivider = false + buildContentItem(R.string.device_manager_session_details_session_last_activity, formattedDate, hasDivider) } } @@ -106,9 +109,9 @@ class SessionDetailsController @Inject constructor( buildHeaderItem(R.string.device_manager_session_details_section_device_title, addExtraTopMargin) - // TODO hide divider on the last visible item lastSeenIp?.let { - buildContentItem(R.string.device_manager_session_details_device_ip_address, it) + val hasDivider = false + buildContentItem(R.string.device_manager_session_details_device_ip_address, it, hasDivider) } } }