@@ -38,32 +38,28 @@ import net.mullvad.mullvadvpn.lib.theme.color.AlphaInvisible
38
38
import net.mullvad.mullvadvpn.lib.theme.color.AlphaVisible
39
39
import net.mullvad.mullvadvpn.lib.theme.color.selected
40
40
import net.mullvad.mullvadvpn.model.GeographicLocationConstraint
41
- import net.mullvad.mullvadvpn.relaylist.Relay
42
- import net.mullvad.mullvadvpn.relaylist.RelayCity
43
- import net.mullvad.mullvadvpn.relaylist.RelayCountry
44
41
import net.mullvad.mullvadvpn.relaylist.RelayItem
45
- import net.mullvad.mullvadvpn.relaylist.RelayItemType
46
42
47
43
@Composable
48
44
@Preview
49
45
private fun PreviewRelayLocationCell () {
50
46
AppTheme {
51
47
Column (Modifier .background(color = MaterialTheme .colorScheme.background)) {
52
48
val countryActive =
53
- RelayCountry (
49
+ RelayItem . Country (
54
50
name = " Relay country Active" ,
55
51
code = " RC1" ,
56
52
expanded = false ,
57
53
cities =
58
54
listOf (
59
- RelayCity (
55
+ RelayItem . City (
60
56
name = " Relay city 1" ,
61
57
code = " RI1" ,
62
58
expanded = false ,
63
59
location = GeographicLocationConstraint .City (" RC1" , " RI1" ),
64
60
relays =
65
61
listOf (
66
- Relay (
62
+ RelayItem . Relay (
67
63
name = " Relay 1" ,
68
64
active = true ,
69
65
locationName = " " ,
@@ -76,14 +72,14 @@ private fun PreviewRelayLocationCell() {
76
72
)
77
73
)
78
74
),
79
- RelayCity (
75
+ RelayItem . City (
80
76
name = " Relay city 2" ,
81
77
code = " RI2" ,
82
78
expanded = true ,
83
79
location = GeographicLocationConstraint .City (" RC1" , " RI2" ),
84
80
relays =
85
81
listOf (
86
- Relay (
82
+ RelayItem . Relay (
87
83
name = " Relay 2" ,
88
84
active = true ,
89
85
locationName = " " ,
@@ -94,7 +90,7 @@ private fun PreviewRelayLocationCell() {
94
90
" NER"
95
91
)
96
92
),
97
- Relay (
93
+ RelayItem . Relay (
98
94
name = " Relay 3" ,
99
95
active = true ,
100
96
locationName = " " ,
@@ -110,20 +106,20 @@ private fun PreviewRelayLocationCell() {
110
106
)
111
107
)
112
108
val countryNotActive =
113
- RelayCountry (
109
+ RelayItem . Country (
114
110
name = " Not Enabled Relay country" ,
115
111
code = " RC3" ,
116
112
expanded = true ,
117
113
cities =
118
114
listOf (
119
- RelayCity (
115
+ RelayItem . City (
120
116
name = " Not Enabled city" ,
121
117
code = " RI3" ,
122
118
expanded = true ,
123
119
location = GeographicLocationConstraint .City (" RC3" , " RI3" ),
124
120
relays =
125
121
listOf (
126
- Relay (
122
+ RelayItem . Relay (
127
123
name = " Not Enabled Relay" ,
128
124
active = false ,
129
125
locationName = " " ,
@@ -158,23 +154,24 @@ fun RelayLocationCell(
158
154
onSelectRelay : (item: RelayItem ) -> Unit = {}
159
155
) {
160
156
val startPadding =
161
- when (relay.type) {
162
- RelayItemType .Country -> Dimens .countryRowPadding
163
- RelayItemType .City -> Dimens .cityRowPadding
164
- RelayItemType .Relay -> Dimens .relayRowPadding
157
+ when (relay) {
158
+ is RelayItem .Country ,
159
+ is RelayItem .CustomList -> Dimens .countryRowPadding
160
+ is RelayItem .City -> Dimens .cityRowPadding
161
+ is RelayItem .Relay -> Dimens .relayRowPadding
165
162
}
166
163
val selected = selectedItem?.code == relay.code
167
164
val expanded =
168
165
rememberSaveable(key = relay.expanded.toString()) { mutableStateOf(relay.expanded) }
169
166
val backgroundColor =
170
167
when {
171
168
selected -> MaterialTheme .colorScheme.inversePrimary
172
- relay.type == RelayItemType .Country -> MaterialTheme .colorScheme.primary
173
- relay.type == RelayItemType .City ->
169
+ relay is RelayItem .Country -> MaterialTheme .colorScheme.primary
170
+ relay is RelayItem .City ->
174
171
MaterialTheme .colorScheme.primary
175
172
.copy(alpha = Alpha40 )
176
173
.compositeOver(MaterialTheme .colorScheme.background)
177
- relay.type == RelayItemType .Relay -> MaterialTheme .colorScheme.secondaryContainer
174
+ relay is RelayItem .Relay -> MaterialTheme .colorScheme.secondaryContainer
178
175
else -> MaterialTheme .colorScheme.primary
179
176
}
180
177
Column (
@@ -273,7 +270,7 @@ fun RelayLocationCell(
273
270
}
274
271
if (expanded.value) {
275
272
when (relay) {
276
- is RelayCountry -> {
273
+ is RelayItem . Country -> {
277
274
relay.cities.forEach { relayCity ->
278
275
RelayLocationCell (
279
276
relay = relayCity,
@@ -283,7 +280,7 @@ fun RelayLocationCell(
283
280
)
284
281
}
285
282
}
286
- is RelayCity -> {
283
+ is RelayItem . City -> {
287
284
relay.relays.forEach { relay ->
288
285
RelayLocationCell (
289
286
relay = relay,
@@ -293,6 +290,8 @@ fun RelayLocationCell(
293
290
)
294
291
}
295
292
}
293
+ is RelayItem .Relay ,
294
+ is RelayItem .CustomList -> {}
296
295
}
297
296
}
298
297
}
0 commit comments