diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-10-09 13:52:27 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-10-19 11:51:48 +0000 |
| commit | a4847efb5e4b1b0056609a551e2038b5aec43f16 (patch) | |
| tree | 712518b3283bb764151d7a66d3ffc6046da20e05 /android/src | |
| parent | 6c03204bab0a5af14c20eea4cf7cd016a5a29209 (diff) | |
| download | mullvadvpn-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.kt | 2 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryHolder.kt | 21 |
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) + } } } } |
