diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-03-18 12:35:29 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-03-18 17:03:54 +0000 |
| commit | feba8106d174dec1507e14f08fc6b0fa0aaf3366 (patch) | |
| tree | 4834f577d2aabf57a0c5e68293b9e33fd1e7b0ea /android | |
| parent | 1a3cc1be01414bd2ab65e0482cadc70017a3f657 (diff) | |
| download | mullvadvpn-feba8106d174dec1507e14f08fc6b0fa0aaf3366.tar.xz mullvadvpn-feba8106d174dec1507e14f08fc6b0fa0aaf3366.zip | |
Close "Select location" screen on item selection
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt | 24 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt | 4 |
2 files changed, 21 insertions, 7 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt index 71f118410d..00e5f533c6 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt @@ -20,17 +20,27 @@ class SelectLocationFragment : Fragment() { ): View { val view = inflater.inflate(R.layout.select_location, container, false) - view.findViewById<ImageButton>(R.id.close).setOnClickListener { - activity?.onBackPressed() - } + view.findViewById<ImageButton>(R.id.close).setOnClickListener { close() } + + configureRelayList(view.findViewById<RecyclerView>(R.id.relay_list)) + + return view + } - view.findViewById<RecyclerView>(R.id.relay_list).apply { + fun close() { + activity?.onBackPressed() + } + + private fun configureRelayList(relayList: RecyclerView) { + val relayListAdapter = RelayListAdapter() + + relayListAdapter.onSelect = { close() } + + relayList.apply { layoutManager = LinearLayoutManager(context!!) - adapter = RelayListAdapter() + adapter = relayListAdapter addItemDecoration(RelayItemDividerDecoration(context!!)) } - - return view } } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt index 2725013719..fa455a39f4 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt @@ -15,6 +15,8 @@ class RelayListAdapter : Adapter<RelayItemHolder>() { private var selectedItem: RelayItem? = null private var selectedItemHolder: RelayItemHolder? = null + var onSelect: (() -> Unit)? = null + override fun onCreateViewHolder(parentView: ViewGroup, type: Int): RelayItemHolder { val inflater = LayoutInflater.from(parentView.context) val view = inflater.inflate(R.layout.relay_list_item, parentView, false) @@ -49,6 +51,8 @@ class RelayListAdapter : Adapter<RelayItemHolder>() { selectedItem = item selectedItemHolder = holder selectedItemHolder?.apply { selected = true } + + onSelect?.invoke() } fun expandItem(itemIndex: RelayListAdapterPosition, childCount: Int) { |
