diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-23 11:40:18 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-23 12:43:30 +0000 |
| commit | 48a7524589ad1f97a13c08a2a9b02541f89dbfe4 (patch) | |
| tree | d1697c4f72283c2a0e955f5b2ffe0e0c51dcca06 /android | |
| parent | 78bbd50518b064092b9dff46685375e2cba5c52e (diff) | |
| download | mullvadvpn-48a7524589ad1f97a13c08a2a9b02541f89dbfe4.tar.xz mullvadvpn-48a7524589ad1f97a13c08a2a9b02541f89dbfe4.zip | |
Expand restored selected relay item
Diffstat (limited to 'android')
3 files changed, 20 insertions, 2 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt index 5b54c0d355..6e3d34730b 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt @@ -88,7 +88,7 @@ class MainActivity : FragmentActivity() { val location = relaySettings.location val relayList = asyncRelayList.await() - selectedRelayItem = relayList.findItemForLocation(location) + selectedRelayItem = relayList.findItemForLocation(location, true) } } } 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 b67c31e2a9..e753d3af5a 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemHolder.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemHolder.kt @@ -65,6 +65,12 @@ class RelayItemHolder( if (item.hasChildren) { chevron.visibility = View.VISIBLE + + if (item.expanded) { + chevron.rotation = 180.0F + } else { + chevron.rotation = 0.0F + } } else { chevron.visibility = View.GONE } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayList.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayList.kt index e6cc4bd54e..809fa1265f 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayList.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayList.kt @@ -20,7 +20,10 @@ class RelayList { } } - fun findItemForLocation(constraint: Constraint<LocationConstraint>): RelayItem? { + fun findItemForLocation( + constraint: Constraint<LocationConstraint>, + expand: Boolean = false + ): RelayItem? { when (constraint) { is Constraint.Any -> return null is Constraint.Only -> { @@ -35,6 +38,10 @@ class RelayList { country.code == location.countryCode } + if (expand) { + country?.expanded = true + } + return country?.cities?.find { city -> city.code == location.cityCode } } is LocationConstraint.Hostname -> { @@ -44,6 +51,11 @@ class RelayList { val city = country?.cities?.find { city -> city.code == location.cityCode } + if (expand) { + country?.expanded = true + city?.expanded = true + } + return city?.relays?.find { relay -> relay.name == location.hostname } } } |
