Skip to content

Commit d941ff9

Browse files
committed
Capacity change warning. Improve notification message.
1 parent b223c4d commit d941ff9

6 files changed

Lines changed: 40 additions & 17 deletions

File tree

app/src/main/java/io/bloco/snowflake/background/SnowflakeWorker.kt

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,13 +126,15 @@ class SnowflakeWorker(
126126
.setColor(SeedColor.toArgb())
127127
.setContentTitle(resources.getString(R.string.notification_channel))
128128
.setContentText(
129-
resources.getString(
130-
if (state.clientsConnected > 0) {
131-
R.string.notification_text_connected
132-
} else {
133-
R.string.notification_text
134-
},
135-
),
129+
if (state.clientsConnected > 0) {
130+
resources.getQuantityString(
131+
R.plurals.notification_text_connected,
132+
state.clientsConnected,
133+
state.clientsConnected,
134+
)
135+
} else {
136+
resources.getString(R.string.notification_text)
137+
},
136138
).setAutoCancel(false)
137139
.setOngoing(true)
138140
.setPriority(NotificationCompat.PRIORITY_LOW)

app/src/main/java/io/bloco/snowflake/ui/settings/SettingsScreen.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,16 @@ fun SettingsScreen(
199199
.fillMaxWidth()
200200
.padding(horizontal = 16.dp),
201201
)
202+
if (state.capacityWasChanged) {
203+
Text(
204+
text = stringResource(R.string.settings_capacity_warning),
205+
style = MaterialTheme.typography.labelMedium,
206+
textAlign = TextAlign.End,
207+
modifier = Modifier
208+
.fillMaxWidth()
209+
.padding(vertical = 4.dp, horizontal = 16.dp),
210+
)
211+
}
202212
}
203213
}
204214
}

app/src/main/java/io/bloco/snowflake/ui/settings/SettingsViewModel.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,19 @@ class SettingsViewModel(
4545
.filterIsInstance<Event.ChargingOnlyChange>()
4646
.onEach { setChargingOnly(it.value) }
4747
.launchIn(viewModelScope)
48+
4849
events
4950
.filterIsInstance<Event.CapacityChange>()
50-
.onEach { setCapacity(it.value) }
51-
.launchIn(viewModelScope)
51+
.onEach {
52+
setCapacity(it.value)
53+
_state.update { state -> state.copy(capacityWasChanged = true) }
54+
}.launchIn(viewModelScope)
5255
}
5356

5457
data class State(
5558
val config: AppConfig? = null,
5659
val capacity: Capacity? = null,
60+
val capacityWasChanged: Boolean = false,
5761
)
5862

5963
sealed interface Event {

app/src/main/res/values-ja/strings.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
<string name="settings_capacity_unlimited">人数に制限なく支援します</string>
4141
<string name="notification_channel">Snowflake</string>
4242
<string name="notification_text">Snowflake は他のユーザーが検閲を回避するのを支援する準備ができています。</string>
43-
<string name="notification_text_connected">Snowflake は他のユーザーが検閲を回避できるよう支援しています。</string>
4443
<string name="enabled">有効</string>
4544
<string name="disabled">無効</string>
4645
</resources>

app/src/main/res/values-pt/strings.xml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
33
<string name="close">Fechar</string>
4-
<string name="snowflake_disabled">Ativar Snowflake. Ajude outros a contornar a censura.</string>
5-
<string name="snowflake_enabled">Snowflake Ativo. Está a ajudar a contornar a censura.</string>
4+
<string name="snowflake_disabled">Ativar Snowflake. Ajude outros contornar a censura.</string>
5+
<string name="snowflake_enabled">Snowflake Ativo. Está a ajudar contornar a censura.</string>
66
<string name="snowflake_stopped">Parado</string>
7-
<string name="snowflake_looking_to_help">À procura de alguém…</string>
7+
<string name="snowflake_looking_to_help">À procura de alguém para ajudar…</string>
88
<string name="snowflake_helping">A ajudar</string>
99
<plurals name="persons">
1010
<item quantity="one">%d pessoa</item>
@@ -42,8 +42,12 @@
4242
</plurals>
4343
<string name="settings_capacity_unlimited">Ajuda um número ilimitado de pessoas</string>
4444
<string name="notification_channel">Snowflake</string>
45-
<string name="notification_text">O seu Snowflake está pronto para ajudar outros a contornar a censura.</string>
46-
<string name="notification_text_connected">O seu Snowflake está neste momento a ajudar alguém contornar a censura.</string>
45+
<string name="notification_text">À procura de alguém para ajudar contornar a censura…</string>
46+
<plurals name="notification_text_connected">
47+
<item quantity="one">A ajudar %d pessoa contornar a censura</item>
48+
<item quantity="many">A ajudar %d de pessoas contornar a censura</item>
49+
<item quantity="other">A ajudar %d pessoas contornar a censura</item>
50+
</plurals>
4751
<string name="enabled">Ativado</string>
4852
<string name="disabled">Desativado</string>
4953
<string name="settings_capacity">Quantas pessoas ajudar ao mesmo tempo</string>

app/src/main/res/values/strings.xml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,14 @@
5757
<item quantity="other">Help %d persons at the same time</item>
5858
</plurals>
5959
<string name="settings_capacity_unlimited">Help an unlimited number of persons</string>
60+
<string name="settings_capacity_warning">Changes only apply on service restart</string>
6061

6162
<string name="notification_channel">Snowflake</string>
62-
<string name="notification_text">Your Snowflake is ready to help users circumvent censorship.</string>
63-
<string name="notification_text_connected">Your Snowflake is currently helping someone circumvent censorship.</string>
63+
<string name="notification_text">Looking for someone to help circumvent censorship…</string>
64+
<plurals name="notification_text_connected">
65+
<item quantity="one">Helping %d person circumvent censorship</item>
66+
<item quantity="other">Helping %d persons circumvent censorship</item>
67+
</plurals>
6468

6569
<string name="enabled">Enabled</string>
6670
<string name="disabled">Disabled</string>

0 commit comments

Comments
 (0)