Skip to content

Commit d6bd997

Browse files
authored
feat: Update & All clear alert summaries (#1541)
* feat: update & all clear summaries * fix strings files
1 parent 58a1631 commit d6bd997

File tree

31 files changed

+614
-92
lines changed

31 files changed

+614
-92
lines changed

androidApp/src/main/java/com/mbta/tid/mbta_app/android/component/AlertIcon.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ fun AlertIcon(alertState: StopAlertState, color: Color?, modifier: Modifier = Mo
1818
StopAlertState.Issue -> R.drawable.alert_borderless_issue
1919
StopAlertState.Shuttle -> R.drawable.alert_borderless_shuttle
2020
StopAlertState.Suspension -> R.drawable.alert_borderless_suspension
21+
StopAlertState.AllClear -> R.drawable.alert_borderless_allclear
2122
else -> return
2223
}
2324

androidApp/src/main/java/com/mbta/tid/mbta_app/android/map/drawableByName.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.mbta.tid.mbta_app.android.R
44

55
fun drawableByName(name: String): Int =
66
when (name) {
7+
"alert-borderless-allclear" -> R.drawable.alert_borderless_allclear
78
"alert-borderless-issue" -> R.drawable.alert_borderless_issue
89
"alert-borderless-shuttle" -> R.drawable.alert_borderless_shuttle
910
"alert-borderless-suspension" -> R.drawable.alert_borderless_suspension

androidApp/src/main/java/com/mbta/tid/mbta_app/android/stopDetails/AlertCard.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ import com.mbta.tid.mbta_app.android.util.modifiers.haloContainer
3232
import com.mbta.tid.mbta_app.model.Alert
3333
import com.mbta.tid.mbta_app.model.AlertSummary
3434
import com.mbta.tid.mbta_app.model.ObjectCollectionBuilder
35+
import com.mbta.tid.mbta_app.model.StopAlertState
36+
import com.mbta.tid.mbta_app.utils.EasternTimeInstant
3537

3638
enum class AlertCardSpec {
3739
Major,
@@ -79,8 +81,12 @@ fun AlertCard(
7981
horizontalArrangement = Arrangement.spacedBy(16.dp),
8082
verticalAlignment = Alignment.CenterVertically,
8183
) {
84+
val alertState =
85+
if (alert.allClear(EasternTimeInstant.now())) StopAlertState.AllClear
86+
else alert.alertState
87+
val iconSize = if (alertState == StopAlertState.AllClear) 36.dp else iconSize
8288
AlertIcon(
83-
alertState = alert.alertState,
89+
alertState = alertState,
8490
color = color,
8591
modifier =
8692
Modifier.clearAndSetSemantics {}

androidApp/src/main/java/com/mbta/tid/mbta_app/android/util/FormattedAlert.kt

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,16 +83,40 @@ data class FormattedAlert(
8383
)
8484

8585
private fun summary(resources: Resources) =
86-
alertSummary?.let {
87-
AnnotatedString.fromHtml(
88-
resources.getString(
89-
R.string.alert_summary,
90-
resources.getString(sentenceEffectRes),
91-
summaryLocation(resources),
92-
summaryTimeframe(resources),
93-
summaryRecurrence(resources),
86+
alertSummary?.let { summary ->
87+
alertSummary.update?.let { update ->
88+
when (update) {
89+
AlertSummary.Update.Active ->
90+
AnnotatedString.fromHtml(
91+
resources.getString(
92+
R.string.alert_summary_with_update,
93+
resources.getString(sentenceEffectRes),
94+
summaryLocation(resources),
95+
summaryTimeframe(resources),
96+
summaryRecurrence(resources),
97+
)
98+
)
99+
100+
AlertSummary.Update.AllClear ->
101+
AnnotatedString.fromHtml(
102+
resources.getString(
103+
R.string.alert_summary_all_clear,
104+
summaryLocation(resources),
105+
)
106+
)
107+
108+
AlertSummary.Update.Unknown -> null
109+
}
110+
}
111+
?: AnnotatedString.fromHtml(
112+
resources.getString(
113+
R.string.alert_summary,
114+
resources.getString(sentenceEffectRes),
115+
summaryLocation(resources),
116+
summaryTimeframe(resources),
117+
summaryRecurrence(resources),
118+
)
94119
)
95-
)
96120
}
97121

98122
fun alertCardHeader(spec: AlertCardSpec, resources: Resources) =
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="36dp"
3+
android:height="36dp"
4+
android:viewportWidth="36"
5+
android:viewportHeight="36">
6+
<path
7+
android:pathData="M17.918,3C9.635,3.044 2.956,9.796 3,18.08C3.044,26.364 9.795,33.044 18.078,33C26.481,32.784 33.214,25.953 32.994,17.92C32.767,9.639 26.201,2.956 17.918,3zM25.502,11.75C25.822,11.75 26.143,11.871 26.387,12.115L26.383,12.115C26.871,12.604 26.871,13.397 26.383,13.885L16.383,23.885C15.895,24.373 15.102,24.373 14.613,23.885L9.613,18.885C9.125,18.397 9.125,17.604 9.613,17.115C10.102,16.627 10.895,16.627 11.383,17.115L15.5,21.23L24.617,12.115C24.861,11.871 25.182,11.75 25.502,11.75z"
8+
android:fillColor="#192026"
9+
android:fillType="evenOdd"/>
10+
</vector>

androidApp/src/main/res/values-b+es/strings_ios_converted.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<string name="alert_elevator_header">Cierre del elevador (%1$s)</string>
2424
<string name="alert_ended">La alerta ya no está vigente</string>
2525
<string name="alert_summary">&lt;b>%1$s&lt;/b>%2$s%3$s%4$s</string>
26+
<string name="alert_summary_all_clear">&lt;b>Todo despejado:&lt;/b> Servicio regular%1$s</string>
2627
<string name="alert_summary_location_direction_to_stop">\u0020desde paradas en &lt;b>%1$s&lt;/b> hasta &lt;b>%2$s&lt;/b></string>
2728
<string name="alert_summary_location_single">\u0020en &lt;b>%1$s&lt;/b></string>
2829
<string name="alert_summary_location_stop_to_direction">\u0020desde &lt;b>%1$s&lt;/b> hasta paradas en &lt;b>%2$s&lt;/b></string>
@@ -35,6 +36,7 @@
3536
<string name="alert_summary_timeframe_time">\u0020hasta las %1$s</string>
3637
<string name="alert_summary_timeframe_tomorrow">\u0020hasta mañana</string>
3738
<string name="alert_summary_timeframe_until_further_notice">\u0020hasta nuevo aviso</string>
39+
<string name="alert_summary_with_update">&lt;b>Actualización:&lt;/b> %1$s%2$s%3$s%4$s</string>
3840
<string name="alternative_path">Camino alternativo</string>
3941
<string name="amber_alert">Alerta Amber</string>
4042
<string name="amber_alert_sentence_case">Alerta Amber</string>

androidApp/src/main/res/values-b+fr/strings_ios_converted.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<string name="alert_elevator_header">Fermeture de l’ascenseur (%1$s)</string>
2424
<string name="alert_ended">L’alerte n’est plus en vigueur</string>
2525
<string name="alert_summary">&lt;b>%1$s&lt;/b>%2$s%3$s%4$s</string>
26+
<string name="alert_summary_all_clear">&lt;b>Tout est clair :&lt;/b> Service normal %1$s</string>
2627
<string name="alert_summary_location_direction_to_stop">\u0020depuis les arrêts en direction de &lt;b>%1$s&lt;/b> jusqu’à &lt;b>%2$s&lt;/b></string>
2728
<string name="alert_summary_location_single">\u0020à &lt;b>%1$s&lt;/b></string>
2829
<string name="alert_summary_location_stop_to_direction">\u0020de &lt;b>%1$s&lt;/b> aux arrêts en direction de &lt;b>%2$s&lt;/b></string>
@@ -35,6 +36,7 @@
3536
<string name="alert_summary_timeframe_time">\u0020jusqu’à %1$s</string>
3637
<string name="alert_summary_timeframe_tomorrow">\u0020jusqu’à demain</string>
3738
<string name="alert_summary_timeframe_until_further_notice">\u0020jusqu’à nouvel ordre</string>
39+
<string name="alert_summary_with_update">&lt;b>Mise à jour :&lt;/b> %1$s%2$s%3$s%4$s</string>
3840
<string name="alternative_path">Trajet alternatif</string>
3941
<string name="amber_alert">Alerte Amber</string>
4042
<string name="amber_alert_sentence_case">Alerte Amber</string>

androidApp/src/main/res/values-b+ht/strings_ios_converted.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<string name="alert_elevator_header">Fèmti Asansè (%1$s)</string>
2727
<string name="alert_ended">Avètisman an pa aplikab ankò</string>
2828
<string name="alert_summary">&lt;b>%1$s&lt;/b>%2$s%3$s%4$s</string>
29+
<string name="alert_summary_all_clear">&lt;b>Tout bagay klè:&lt;/b> Sèvis regilye %1$s</string>
2930
<string name="alert_summary_location_direction_to_stop">\u0020soti nan &lt;b>%1$s&lt;/b> sispann rive nan &lt;b>%2$s&lt;/b></string>
3031
<string name="alert_summary_location_single">\u0020nan &lt;b>%1$s&lt;/b></string>
3132
<string name="alert_summary_location_stop_to_direction">\u0020soti nan &lt;b>%1$s&lt;/b> rive nan &lt;b>%2$s&lt;/b> sispann</string>
@@ -38,6 +39,7 @@
3839
<string name="alert_summary_timeframe_time">\u0020jiska %1$s</string>
3940
<string name="alert_summary_timeframe_tomorrow">\u0020jiska demen</string>
4041
<string name="alert_summary_timeframe_until_further_notice">\u0020jiskaske yo bay lòt avi</string>
42+
<string name="alert_summary_with_update">&lt;b>Mizajou:&lt;/b> %1$s%2$s%3$s%4$s</string>
4143
<string name="alternative_path">Lòt chemen</string>
4244
<string name="amber_alert">Avètisman Amber</string>
4345
<string name="amber_alert_sentence_case">Avètisman amber</string>

androidApp/src/main/res/values-b+pt+BR/strings_ios_converted.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<string name="alert_elevator_header">Fechamento dos elevadores (%1$s)</string>
2424
<string name="alert_ended">O alerta não está mais em efeito</string>
2525
<string name="alert_summary">&lt;b>%1$s&lt;/b>%2$s%3$s%4$s</string>
26+
<string name="alert_summary_all_clear">&lt;b>Tudo certo:&lt;/b> Serviço regular%1$s</string>
2627
<string name="alert_summary_location_direction_to_stop">\u0020de &lt;b>%1$s&lt;/b> paradas a &lt;b>%2$s&lt;/b></string>
2728
<string name="alert_summary_location_single">\u0020em &lt;b>%1$s&lt;/b></string>
2829
<string name="alert_summary_location_stop_to_direction">\u0020de &lt;b>%1$s&lt;/b> a &lt;b>%2$s&lt;/b> paradas</string>
@@ -35,6 +36,7 @@
3536
<string name="alert_summary_timeframe_time">\u0020até %1$s</string>
3637
<string name="alert_summary_timeframe_tomorrow">\u0020até amanhã</string>
3738
<string name="alert_summary_timeframe_until_further_notice">\u0020até novo aviso</string>
39+
<string name="alert_summary_with_update">&lt;b>Atualização:&lt;/b> %1$s%2$s%3$s%4$s</string>
3840
<string name="alternative_path">Caminho alternativo</string>
3941
<string name="amber_alert">Alerta amarelo</string>
4042
<string name="amber_alert_sentence_case">Alerta amarelo</string>

androidApp/src/main/res/values-b+vi/strings_ios_converted.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<string name="alert_elevator_header">Thang máy đóng (%1$s)</string>
2222
<string name="alert_ended">Cảnh báo không còn hiệu lực</string>
2323
<string name="alert_summary">&lt;b>%1$s&lt;/b>%2$s%3$s%4$s</string>
24+
<string name="alert_summary_all_clear">&lt;b>Đã thông thoáng:&lt;/b> Dịch vụ thường lệ%1$s</string>
2425
<string name="alert_summary_location_direction_to_stop">\u0020từ các điểm dừng &lt;b>%1$s&lt;/b> đến &lt;b>%2$s&lt;/b></string>
2526
<string name="alert_summary_location_single">\u0020tại &lt;b>%1$s&lt;/b></string>
2627
<string name="alert_summary_location_stop_to_direction">\u0020từ &lt;b>%1$s&lt;/b> đến các điểm dừng &lt;b>%2$s&lt;/b></string>
@@ -33,6 +34,7 @@
3334
<string name="alert_summary_timeframe_time">\u0020đến %1$s</string>
3435
<string name="alert_summary_timeframe_tomorrow">\u0020đến ngày mai</string>
3536
<string name="alert_summary_timeframe_until_further_notice">\u0020cho đến khi có thông báo mới</string>
37+
<string name="alert_summary_with_update">&lt;b>Cập nhật:&lt;/b> %1$s%2$s%3$s%4$s</string>
3638
<string name="alternative_path">Đường đi thay thế</string>
3739
<string name="amber_alert">Cảnh báo Amber</string>
3840
<string name="amber_alert_sentence_case">Cảnh báo Amber</string>

0 commit comments

Comments
 (0)