summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-10-09 13:52:27 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-10-19 11:51:48 +0000
commita4847efb5e4b1b0056609a551e2038b5aec43f16 (patch)
tree712518b3283bb764151d7a66d3ffc6046da20e05 /android/src
parent6c03204bab0a5af14c20eea4cf7cd016a5a29209 (diff)
downloadmullvadvpn-a4847efb5e4b1b0056609a551e2038b5aec43f16.tar.xz
mullvadvpn-a4847efb5e4b1b0056609a551e2038b5aec43f16.zip
Allow listening for account history focus events
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryAdapter.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryHolder.kt21
2 files changed, 19 insertions, 4 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryAdapter.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryAdapter.kt
index 6e88a2d9a1..737e4a3859 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryAdapter.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryAdapter.kt
@@ -20,6 +20,7 @@ class AccountHistoryAdapter : Adapter<AccountHistoryHolder>() {
var onSelectEntry: ((String) -> Unit)? = null
var onRemoveEntry: ((String) -> Unit)? = null
+ var onChildFocusChanged: ((String, Boolean) -> Unit)? = null
override fun onCreateViewHolder(parentView: ViewGroup, type: Int): AccountHistoryHolder {
val inflater = LayoutInflater.from(parentView.context)
@@ -28,6 +29,7 @@ class AccountHistoryAdapter : Adapter<AccountHistoryHolder>() {
return AccountHistoryHolder(view, formatter).apply {
onSelect = { account -> onSelectEntry?.invoke(account) }
onRemove = { account -> onRemoveEntry?.invoke(account) }
+ onFocusChanged = { account, hasFocus -> onChildFocusChanged?.invoke(account, hasFocus) }
}
}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryHolder.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryHolder.kt
index 99e25bfc78..e0e911467b 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryHolder.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryHolder.kt
@@ -19,14 +19,27 @@ class AccountHistoryHolder(
var onSelect: ((String) -> Unit)? = null
var onRemove: ((String) -> Unit)? = null
+ var onFocusChanged: ((String, Boolean) -> Unit)? = null
init {
- label.setOnClickListener {
- onSelect?.invoke(accountToken)
+ view.findViewById<View>(R.id.remove).apply {
+ setOnClickListener {
+ onRemove?.invoke(accountToken)
+ }
+
+ setOnFocusChangeListener { _, hasFocus ->
+ onFocusChanged?.invoke(accountToken, hasFocus)
+ }
}
- view.findViewById<View>(R.id.remove).setOnClickListener {
- onRemove?.invoke(accountToken)
+ label.apply {
+ setOnClickListener {
+ onSelect?.invoke(accountToken)
+ }
+
+ setOnFocusChangeListener { _, hasFocus ->
+ onFocusChanged?.invoke(accountToken, hasFocus)
+ }
}
}
}