summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-05-23 11:40:18 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-05-23 12:43:30 +0000
commit48a7524589ad1f97a13c08a2a9b02541f89dbfe4 (patch)
treed1697c4f72283c2a0e955f5b2ffe0e0c51dcca06
parent78bbd50518b064092b9dff46685375e2cba5c52e (diff)
downloadmullvadvpn-48a7524589ad1f97a13c08a2a9b02541f89dbfe4.tar.xz
mullvadvpn-48a7524589ad1f97a13c08a2a9b02541f89dbfe4.zip
Expand restored selected relay item
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemHolder.kt6
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayList.kt14
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 }
}
}