summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-09-18 01:18:53 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-09-18 11:13:15 +0000
commit6ee9bcec5ec1a52fe8f99b6a1c9bec83df691df2 (patch)
tree5b9429f9f561c4a44ccdaf1eca3e42818aaffb00 /android/src
parentff9bb45f4c5fa67835eb64db993b70635b5d181a (diff)
downloadmullvadvpn-6ee9bcec5ec1a52fe8f99b6a1c9bec83df691df2.tar.xz
mullvadvpn-6ee9bcec5ec1a52fe8f99b6a1c9bec83df691df2.zip
Reuse relay item status icon drawables
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt18
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemHolder.kt4
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt6
3 files changed, 16 insertions, 12 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt
index f59387baa4..8c18ed3a5e 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/SelectLocationFragment.kt
@@ -35,24 +35,24 @@ class SelectLocationFragment : Fragment() {
private lateinit var relayListContainer: ViewSwitcher
- private val relayListAdapter = RelayListAdapter()
+ private lateinit var relayListAdapter: RelayListAdapter
private var updateRelayListJob: Job? = null
- init {
- relayListAdapter.onSelect = { relayItem ->
- updateLocationConstraint(relayItem)
- maybeConnect()
- close()
- }
- }
-
override fun onAttach(context: Context) {
super.onAttach(context)
parentActivity = context as MainActivity
connectionProxy = parentActivity.connectionProxy
relayListListener = parentActivity.relayListListener
+
+ relayListAdapter = RelayListAdapter(context.resources).apply {
+ onSelect = { relayItem ->
+ updateLocationConstraint(relayItem)
+ maybeConnect()
+ close()
+ }
+ }
}
override fun onCreateView(
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemHolder.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemHolder.kt
index 275e6f5dfa..584a4bca54 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemHolder.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemHolder.kt
@@ -64,9 +64,9 @@ class RelayItemHolder(
selectedIcon.visibility = View.INVISIBLE
if (item.active) {
- relayActive.setImageResource(R.drawable.icon_relay_active)
+ relayActive.setImageDrawable(adapter.activeRelayIcon)
} else {
- relayActive.setImageResource(R.drawable.icon_relay_inactive)
+ relayActive.setImageDrawable(adapter.inactiveRelayIcon)
}
}
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 60ad96171c..f70e0a8ca3 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt
@@ -3,18 +3,22 @@ package net.mullvad.mullvadvpn.relaylist
import java.lang.ref.WeakReference
import java.util.LinkedList
+import android.content.res.Resources
import android.support.v7.widget.RecyclerView.Adapter
import android.view.LayoutInflater
import android.view.ViewGroup
import net.mullvad.mullvadvpn.R
-class RelayListAdapter : Adapter<RelayItemHolder>() {
+class RelayListAdapter(private val resources: Resources) : Adapter<RelayItemHolder>() {
private var relayList: RelayList? = null
private var selectedItem: RelayItem? = null
private val activeIndices = LinkedList<WeakReference<RelayListAdapterPosition>>()
private var selectedItemHolder: RelayItemHolder? = null
+ val activeRelayIcon = resources.getDrawable(R.drawable.icon_relay_active, null)
+ val inactiveRelayIcon = resources.getDrawable(R.drawable.icon_relay_inactive, null)
+
var onSelect: ((RelayItem?) -> Unit)? = null
override fun onCreateViewHolder(parentView: ViewGroup, type: Int): RelayItemHolder {