Skip to content
Snippets Groups Projects
Verified Commit c3d170b8 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Make links in core info clickable

parent 3e603782
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -20,6 +20,8 @@ import de.kuschku.quasseldroid.util.helper.getVectorDrawableCompat
import de.kuschku.quasseldroid.util.helper.styledAttributes
import de.kuschku.quasseldroid.util.helper.tint
import de.kuschku.quasseldroid.util.helper.visibleIf
import de.kuschku.quasseldroid.util.ui.BetterLinkMovementMethod
import de.kuschku.quasseldroid.util.ui.LinkLongClickMenuHelper
import org.threeten.bp.ZoneId
import org.threeten.bp.format.DateTimeFormatter
import org.threeten.bp.format.FormatStyle
......@@ -33,6 +35,12 @@ class ClientAdapter : ListAdapter<CoreInfo.ConnectedClientData, ClientAdapter.Cl
newItem: CoreInfo.ConnectedClientData) = oldItem == newItem
}
) {
private val movementMethod = BetterLinkMovementMethod.newInstance()
init {
movementMethod.setOnLinkLongClickListener(LinkLongClickMenuHelper())
}
private var disconnectListener: ((Int) -> Unit)? = null
fun setDisconnectListener(listener: ((Int) -> Unit)?) {
this.disconnectListener = listener
......@@ -45,7 +53,8 @@ class ClientAdapter : ListAdapter<CoreInfo.ConnectedClientData, ClientAdapter.Cl
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ClientViewHolder(
LayoutInflater.from(parent.context).inflate(R.layout.widget_client, parent, false),
dateTimeFormatter,
::disconnect
::disconnect,
movementMethod
)
private val dateTimeFormatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)
......@@ -56,7 +65,8 @@ class ClientAdapter : ListAdapter<CoreInfo.ConnectedClientData, ClientAdapter.Cl
class ClientViewHolder(
itemView: View,
private val dateTimeFormatter: DateTimeFormatter,
private val disconnectListener: (Int) -> Unit
private val disconnectListener: (Int) -> Unit,
movementMethod: BetterLinkMovementMethod
) : RecyclerView.ViewHolder(itemView) {
@BindView(R.id.ip)
......@@ -84,6 +94,7 @@ class ClientAdapter : ListAdapter<CoreInfo.ConnectedClientData, ClientAdapter.Cl
init {
ButterKnife.bind(this, itemView)
version.movementMethod = movementMethod
disconnect.setOnClickListener {
id?.let(disconnectListener::invoke)
}
......
......@@ -41,6 +41,8 @@ import de.kuschku.quasseldroid.util.missingfeatures.MissingFeature
import de.kuschku.quasseldroid.util.missingfeatures.MissingFeaturesDialog
import de.kuschku.quasseldroid.util.missingfeatures.RequiredFeatures
import de.kuschku.quasseldroid.util.service.ServiceBoundFragment
import de.kuschku.quasseldroid.util.ui.BetterLinkMovementMethod
import de.kuschku.quasseldroid.util.ui.LinkLongClickMenuHelper
import org.threeten.bp.ZoneId
import org.threeten.bp.format.DateTimeFormatter
import org.threeten.bp.format.FormatStyle
......@@ -76,6 +78,12 @@ class CoreInfoFragment : ServiceBoundFragment() {
private val dateTimeFormatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)
private val movementMethod = BetterLinkMovementMethod.newInstance()
init {
movementMethod.setOnLinkLongClickListener(LinkLongClickMenuHelper())
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_info_core, container, false)
......@@ -106,6 +114,8 @@ class CoreInfoFragment : ServiceBoundFragment() {
.readOnly(true)
.show()
}
version.movementMethod = movementMethod
versionDate.movementMethod = movementMethod
val secure = requireContext().getVectorDrawableCompat(R.drawable.ic_lock)?.mutate()
val partiallySecure = requireContext().getVectorDrawableCompat(R.drawable.ic_lock)?.mutate()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment