diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-09-18 01:18:53 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-09-18 11:13:15 +0000 |
| commit | 6ee9bcec5ec1a52fe8f99b6a1c9bec83df691df2 (patch) | |
| tree | 5b9429f9f561c4a44ccdaf1eca3e42818aaffb00 /android/src | |
| parent | ff9bb45f4c5fa67835eb64db993b70635b5d181a (diff) | |
| download | mullvadvpn-6ee9bcec5ec1a52fe8f99b6a1c9bec83df691df2.tar.xz mullvadvpn-6ee9bcec5ec1a52fe8f99b6a1c9bec83df691df2.zip | |
Reuse relay item status icon drawables
Diffstat (limited to 'android/src')
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 { |
