From b8ffe3e261a1444ac609aa8e98ccbdc5792dbefe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20K=C3=BCrten?= <sebastian@mobanisto.de>
Date: Wed, 30 Mar 2022 15:33:25 +0200
Subject: [PATCH] Map lifecycle/tor plugin state to translatable messages

---
 .../mailbox/android/ui/MailboxViewModel.kt           | 12 ++++++++++--
 mailbox-android/src/main/res/values/strings.xml      |  4 ++++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/MailboxViewModel.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/MailboxViewModel.kt
index a0c0061f..6d037cca 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/MailboxViewModel.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/MailboxViewModel.kt
@@ -33,6 +33,7 @@ import kotlinx.coroutines.flow.StateFlow
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.flowOn
 import org.briarproject.android.dontkillmelib.DozeHelper
+import org.briarproject.mailbox.R
 import org.briarproject.mailbox.android.MailboxService
 import org.briarproject.mailbox.android.QrCodeUtils
 import org.briarproject.mailbox.core.lifecycle.LifecycleManager
@@ -78,9 +79,16 @@ class MailboxViewModel @Inject constructor(
     val setupState = combine(
         lifecycleState, torPluginState, setupManager.setupComplete
     ) { ls, ts, sc ->
+        val resources = getApplication<Application>().resources
         when {
-            ls != LifecycleState.RUNNING -> Starting(ls.name)
-            ts != TorPlugin.State.PUBLISHED -> Starting(ts.name + " TOR")
+            ls != LifecycleState.RUNNING -> Starting(
+                resources.getString(R.string.startup_starting_services)
+            )
+            ts != TorPlugin.State.PUBLISHED -> when {
+                ts < TorPlugin.State.ACTIVE ->
+                    Starting(resources.getString(R.string.startup_starting_tor))
+                else -> Starting(resources.getString(R.string.startup_publishing_onion_service))
+            }
             sc == SetupComplete.FALSE -> {
                 val dm = Resources.getSystem().displayMetrics
                 val size = min(dm.widthPixels, dm.heightPixels)
diff --git a/mailbox-android/src/main/res/values/strings.xml b/mailbox-android/src/main/res/values/strings.xml
index f3b09257..d9cdaace 100644
--- a/mailbox-android/src/main/res/values/strings.xml
+++ b/mailbox-android/src/main/res/values/strings.xml
@@ -28,4 +28,8 @@
     <string name="link_title">Link via QR code</string>
     <string name="link_description">Scan this QR code with Briar</string>
     <string name="link_cancel">Cancel Setup</string>
+
+    <string name="startup_starting_services">Starting services</string>
+    <string name="startup_starting_tor">Starting Tor</string>
+    <string name="startup_publishing_onion_service">Publishing onion service</string>
 </resources>
-- 
GitLab