aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/org/pacien/tincapp/activities/status/nodes/NodeListFragment.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/activities/status/nodes/NodeListFragment.kt')
-rw-r--r--app/src/main/java/org/pacien/tincapp/activities/status/nodes/NodeListFragment.kt15
1 files changed, 4 insertions, 11 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/activities/status/nodes/NodeListFragment.kt b/app/src/main/java/org/pacien/tincapp/activities/status/nodes/NodeListFragment.kt
index 115809e..1f762c0 100644
--- a/app/src/main/java/org/pacien/tincapp/activities/status/nodes/NodeListFragment.kt
+++ b/app/src/main/java/org/pacien/tincapp/activities/status/nodes/NodeListFragment.kt
@@ -26,9 +26,6 @@ import android.support.v7.app.AlertDialog
26import android.view.LayoutInflater 26import android.view.LayoutInflater
27import android.view.View 27import android.view.View
28import android.view.ViewGroup 28import android.view.ViewGroup
29import android.widget.AdapterView
30import android.widget.ArrayAdapter
31import android.widget.TextView
32import kotlinx.android.synthetic.main.base.* 29import kotlinx.android.synthetic.main.base.*
33import kotlinx.android.synthetic.main.status_node_info_dialog.view.* 30import kotlinx.android.synthetic.main.status_node_info_dialog.view.*
34import kotlinx.android.synthetic.main.status_node_list.* 31import kotlinx.android.synthetic.main.status_node_list.*
@@ -47,8 +44,8 @@ class NodeListFragment : Fragment() {
47 private val tincCtl = Tinc 44 private val tincCtl = Tinc
48 private val netName by lazy { vpnService.getCurrentNetName()!! } 45 private val netName by lazy { vpnService.getCurrentNetName()!! }
49 private val nodeListViewModel by lazy { ViewModelProviders.of(this).get(NodeListViewModel::class.java) } 46 private val nodeListViewModel by lazy { ViewModelProviders.of(this).get(NodeListViewModel::class.java) }
50 private val nodeListAdapter by lazy { ArrayAdapter<String>(context, R.layout.status_node_list_item) } 47 private val nodeListAdapter by lazy { NodeInfoArrayAdapter(context, this::onItemClick) }
51 private val nodeListObserver by lazy { Observer<List<String>> { nodeListAdapter.setElements(it) } } 48 private val nodeListObserver by lazy { Observer<List<NodeInfo>> { nodeListAdapter.setElements(it) } }
52 49
53 override fun onCreate(savedInstanceState: Bundle?) { 50 override fun onCreate(savedInstanceState: Bundle?) {
54 super.onCreate(savedInstanceState) 51 super.onCreate(savedInstanceState)
@@ -63,15 +60,11 @@ class NodeListFragment : Fragment() {
63 status_node_list.hideTopSeparator() 60 status_node_list.hideTopSeparator()
64 status_node_list.hideBottomSeparator() 61 status_node_list.hideBottomSeparator()
65 status_node_list.emptyView = status_node_list_placeholder 62 status_node_list.emptyView = status_node_list_placeholder
66 status_node_list.onItemClickListener = AdapterView.OnItemClickListener(this::onItemClick)
67 status_node_list.adapter = nodeListAdapter 63 status_node_list.adapter = nodeListAdapter
68 } 64 }
69 65
70 @Suppress("UNUSED_PARAMETER") 66 private fun onItemClick(nodeInfo: NodeInfo) =
71 private fun onItemClick(parent: AdapterView<*>?, view: View?, position: Int, id: Long) = when (view) { 67 showNodeInfo(nodeInfo.name)
72 is TextView -> showNodeInfo(view.text.toString())
73 else -> Unit
74 }
75 68
76 private fun showNodeInfo(nodeName: String) { 69 private fun showNodeInfo(nodeName: String) {
77 val dialogTextView = layoutInflater.inflate(R.layout.status_node_info_dialog, main_content, false) 70 val dialogTextView = layoutInflater.inflate(R.layout.status_node_info_dialog, main_content, false)