From 6f07bd16a8544ecb072aafd56508e4f5fab91100 Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Thu, 16 Mar 2023 16:07:36 -0300
Subject: [PATCH] Move UI classes into packages

---
 mailbox-android/src/main/AndroidManifest.xml  |  4 ++--
 .../mailbox/android/MailboxPreferences.kt     |  2 +-
 .../mailbox/android/MailboxService.kt         |  8 +++----
 .../mailbox/android/ui/MainActivity.kt        |  1 +
 .../android/ui/{ => setup}/QrCodeFragment.kt  |  4 +++-
 .../ui/{ => setup}/QrCodeLinkFragment.kt      |  5 ++++-
 .../ui/{ => setup}/SetupCompleteFragment.kt   |  2 +-
 .../android/ui/{ => startup}/InitFragment.kt  |  2 +-
 .../OnboardingContainerFragment.kt            |  3 ++-
 .../ui/{ => startup}/OnboardingFragment.kt    |  3 ++-
 .../{ => startup}/StartupFailureActivity.kt   |  8 +++----
 .../ui/{ => startup}/StartupFragment.kt       |  4 +++-
 .../ui/{ => status}/ClockSkewFragment.kt      |  2 +-
 .../ui/{ => status}/NoNetworkFragment.kt      |  2 +-
 .../android/ui/{ => status}/StatusFragment.kt |  4 +++-
 .../ui/{ => status}/StoppingFragment.kt       |  2 +-
 .../ui/{ => wipe}/WipeCompleteActivity.kt     |  2 +-
 .../ui/{ => wipe}/WipeCompleteFragment.kt     |  3 ++-
 .../android/ui/{ => wipe}/WipingFragment.kt   |  2 +-
 .../res/layout/activity_wipe_complete.xml     |  4 ++--
 .../src/main/res/navigation/nav_main.xml      | 22 +++++++++----------
 21 files changed, 51 insertions(+), 38 deletions(-)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => setup}/QrCodeFragment.kt (94%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => setup}/QrCodeLinkFragment.kt (94%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => setup}/SetupCompleteFragment.kt (97%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => startup}/InitFragment.kt (97%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => startup}/OnboardingContainerFragment.kt (96%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => startup}/OnboardingFragment.kt (97%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => startup}/StartupFailureActivity.kt (84%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => startup}/StartupFragment.kt (93%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => status}/ClockSkewFragment.kt (96%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => status}/NoNetworkFragment.kt (96%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => status}/StatusFragment.kt (95%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => status}/StoppingFragment.kt (96%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => wipe}/WipeCompleteActivity.kt (96%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => wipe}/WipeCompleteFragment.kt (95%)
 rename mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/{ => wipe}/WipingFragment.kt (96%)

diff --git a/mailbox-android/src/main/AndroidManifest.xml b/mailbox-android/src/main/AndroidManifest.xml
index 84f503a7..cb70c9be 100644
--- a/mailbox-android/src/main/AndroidManifest.xml
+++ b/mailbox-android/src/main/AndroidManifest.xml
@@ -37,13 +37,13 @@
             android:exported="false"
             android:label="@string/prefs_title" />
         <activity
-            android:name=".android.ui.WipeCompleteActivity"
+            android:name=".android.ui.wipe.WipeCompleteActivity"
             android:excludeFromRecents="true"
             android:launchMode="singleInstance"
             android:process=":briar_mailbox_wipe_complete"
             android:theme="@style/Theme.BriarMailbox.NoActionBar" />
         <activity
-            android:name=".android.ui.StartupFailureActivity"
+            android:name=".android.ui.startup.StartupFailureActivity"
             android:excludeFromRecents="true"
             android:exported="false"
             android:finishOnTaskLaunch="true"
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxPreferences.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxPreferences.kt
index ce7a571f..859e43c9 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxPreferences.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxPreferences.kt
@@ -24,7 +24,7 @@ import android.content.SharedPreferences
 import androidx.core.content.edit
 import androidx.preference.PreferenceManager.getDefaultSharedPreferences
 import dagger.hilt.android.qualifiers.ApplicationContext
-import org.briarproject.mailbox.android.ui.WipeCompleteFragment
+import org.briarproject.mailbox.android.ui.wipe.WipeCompleteFragment
 import javax.inject.Inject
 
 class MailboxPreferences @Inject constructor(@ApplicationContext val context: Context) {
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxService.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxService.kt
index 5d94053b..2ab01db2 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxService.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/MailboxService.kt
@@ -35,10 +35,10 @@ import org.briarproject.android.dontkillmelib.wakelock.AndroidWakeLockManager
 import org.briarproject.mailbox.R
 import org.briarproject.mailbox.android.MailboxNotificationManager.Companion.NOTIFICATION_MAIN_ID
 import org.briarproject.mailbox.android.StatusManager.Starting
-import org.briarproject.mailbox.android.ui.StartupFailureActivity
-import org.briarproject.mailbox.android.ui.StartupFailureActivity.Companion.EXTRA_START_RESULT
-import org.briarproject.mailbox.android.ui.StartupFailureActivity.StartupFailure
-import org.briarproject.mailbox.android.ui.WipeCompleteActivity
+import org.briarproject.mailbox.android.ui.startup.StartupFailureActivity
+import org.briarproject.mailbox.android.ui.startup.StartupFailureActivity.Companion.EXTRA_START_RESULT
+import org.briarproject.mailbox.android.ui.startup.StartupFailureActivity.StartupFailure
+import org.briarproject.mailbox.android.ui.wipe.WipeCompleteActivity
 import org.briarproject.mailbox.core.lifecycle.LifecycleManager
 import org.briarproject.mailbox.core.lifecycle.LifecycleManager.StartResult.CLOCK_ERROR
 import org.briarproject.mailbox.core.lifecycle.LifecycleManager.StartResult.LIFECYCLE_REUSE
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/MainActivity.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/MainActivity.kt
index 86fc8994..90210646 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/MainActivity.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/MainActivity.kt
@@ -64,6 +64,7 @@ import org.briarproject.mailbox.android.StatusManager.Stopping
 import org.briarproject.mailbox.android.StatusManager.Undecided
 import org.briarproject.mailbox.android.StatusManager.Wiping
 import org.briarproject.mailbox.android.ui.settings.SettingsActivity
+import org.briarproject.mailbox.android.ui.wipe.WipeCompleteActivity
 import org.briarproject.mailbox.core.lifecycle.LifecycleManager.LifecycleState.NOT_STARTED
 import org.briarproject.mailbox.core.util.LogUtils.info
 import org.slf4j.LoggerFactory.getLogger
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/QrCodeFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/setup/QrCodeFragment.kt
similarity index 94%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/QrCodeFragment.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/setup/QrCodeFragment.kt
index db5a5893..b947a9ba 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/QrCodeFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/setup/QrCodeFragment.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.setup
 
 import android.os.Bundle
 import android.view.LayoutInflater
@@ -37,6 +37,8 @@ import dagger.hilt.android.AndroidEntryPoint
 import org.briarproject.mailbox.R
 import org.briarproject.mailbox.android.StatusManager.MailboxAppState
 import org.briarproject.mailbox.android.StatusManager.StartedSettingUp
+import org.briarproject.mailbox.android.ui.MailboxViewModel
+import org.briarproject.mailbox.android.ui.launchAndRepeatWhileStarted
 
 @AndroidEntryPoint
 class QrCodeFragment : Fragment(), MenuProvider {
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/QrCodeLinkFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/setup/QrCodeLinkFragment.kt
similarity index 94%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/QrCodeLinkFragment.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/setup/QrCodeLinkFragment.kt
index f4ec10cd..cd421ebd 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/QrCodeLinkFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/setup/QrCodeLinkFragment.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.setup
 
 import android.content.ActivityNotFoundException
 import android.content.ClipData
@@ -41,6 +41,9 @@ import dagger.hilt.android.AndroidEntryPoint
 import org.briarproject.mailbox.R
 import org.briarproject.mailbox.android.StatusManager.MailboxAppState
 import org.briarproject.mailbox.android.StatusManager.StartedSettingUp
+import org.briarproject.mailbox.android.ui.BackFragment
+import org.briarproject.mailbox.android.ui.MailboxViewModel
+import org.briarproject.mailbox.android.ui.launchAndRepeatWhileStarted
 
 @AndroidEntryPoint
 class QrCodeLinkFragment : BackFragment() {
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/SetupCompleteFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/setup/SetupCompleteFragment.kt
similarity index 97%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/SetupCompleteFragment.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/setup/SetupCompleteFragment.kt
index 54d42051..19fa4f38 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/SetupCompleteFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/setup/SetupCompleteFragment.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.setup
 
 import android.os.Bundle
 import android.view.LayoutInflater
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/InitFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/InitFragment.kt
similarity index 97%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/InitFragment.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/InitFragment.kt
index 0c6962e1..ee849618 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/InitFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/InitFragment.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.startup
 
 import android.os.Bundle
 import android.view.LayoutInflater
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/OnboardingContainerFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/OnboardingContainerFragment.kt
similarity index 96%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/OnboardingContainerFragment.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/OnboardingContainerFragment.kt
index 67ebc5da..8d05855c 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/OnboardingContainerFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/OnboardingContainerFragment.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.startup
 
 import android.os.Bundle
 import android.view.LayoutInflater
@@ -27,6 +27,7 @@ import androidx.fragment.app.Fragment
 import androidx.fragment.app.activityViewModels
 import androidx.viewpager2.adapter.FragmentStateAdapter
 import androidx.viewpager2.widget.ViewPager2
+import org.briarproject.mailbox.android.ui.MailboxViewModel
 import org.briarproject.mailbox.databinding.FragmentOnboardingContainerBinding
 
 class OnboardingContainerFragment : Fragment() {
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/OnboardingFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/OnboardingFragment.kt
similarity index 97%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/OnboardingFragment.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/OnboardingFragment.kt
index ed45b383..140cecd0 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/OnboardingFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/OnboardingFragment.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.startup
 
 import android.os.Bundle
 import android.view.LayoutInflater
@@ -31,6 +31,7 @@ import androidx.core.widget.ImageViewCompat
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.activityViewModels
 import org.briarproject.mailbox.R
+import org.briarproject.mailbox.android.ui.MailboxViewModel
 import org.briarproject.mailbox.databinding.FragmentOnboardingBinding
 
 class Onboarding0Fragment : OnboardingFragment(
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StartupFailureActivity.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/StartupFailureActivity.kt
similarity index 84%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StartupFailureActivity.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/StartupFailureActivity.kt
index 866665aa..271c2a78 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StartupFailureActivity.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/StartupFailureActivity.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.startup
 
 import android.content.Intent
 import android.os.Bundle
@@ -25,9 +25,9 @@ import android.widget.TextView
 import androidx.appcompat.app.AppCompatActivity
 import dagger.hilt.android.AndroidEntryPoint
 import org.briarproject.mailbox.R
-import org.briarproject.mailbox.android.ui.StartupFailureActivity.StartupFailure.CLOCK_ERROR
-import org.briarproject.mailbox.android.ui.StartupFailureActivity.StartupFailure.LIFECYCLE_REUSE
-import org.briarproject.mailbox.android.ui.StartupFailureActivity.StartupFailure.SERVICE_ERROR
+import org.briarproject.mailbox.android.ui.startup.StartupFailureActivity.StartupFailure.CLOCK_ERROR
+import org.briarproject.mailbox.android.ui.startup.StartupFailureActivity.StartupFailure.LIFECYCLE_REUSE
+import org.briarproject.mailbox.android.ui.startup.StartupFailureActivity.StartupFailure.SERVICE_ERROR
 
 @AndroidEntryPoint
 class StartupFailureActivity : AppCompatActivity() {
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StartupFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/StartupFragment.kt
similarity index 93%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StartupFragment.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/StartupFragment.kt
index 8dcd7043..5a464f0e 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StartupFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/startup/StartupFragment.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.startup
 
 import android.os.Bundle
 import android.view.LayoutInflater
@@ -33,6 +33,8 @@ import dagger.hilt.android.AndroidEntryPoint
 import org.briarproject.mailbox.R
 import org.briarproject.mailbox.android.StatusManager.MailboxAppState
 import org.briarproject.mailbox.android.StatusManager.Starting
+import org.briarproject.mailbox.android.ui.MailboxViewModel
+import org.briarproject.mailbox.android.ui.launchAndRepeatWhileStarted
 
 @AndroidEntryPoint
 class StartupFragment : Fragment() {
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/ClockSkewFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/status/ClockSkewFragment.kt
similarity index 96%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/ClockSkewFragment.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/status/ClockSkewFragment.kt
index c3d41893..40cbe2c7 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/ClockSkewFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/status/ClockSkewFragment.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.status
 
 import android.os.Bundle
 import android.view.LayoutInflater
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/NoNetworkFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/status/NoNetworkFragment.kt
similarity index 96%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/NoNetworkFragment.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/status/NoNetworkFragment.kt
index 43f4aaa2..8e4e48b8 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/NoNetworkFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/status/NoNetworkFragment.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.status
 
 import android.os.Bundle
 import android.view.LayoutInflater
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StatusFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/status/StatusFragment.kt
similarity index 95%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StatusFragment.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/status/StatusFragment.kt
index 0c9e2155..fd36123d 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StatusFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/status/StatusFragment.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.status
 
 import android.os.Bundle
 import android.view.LayoutInflater
@@ -32,6 +32,8 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
 import dagger.hilt.android.AndroidEntryPoint
 import org.briarproject.mailbox.R
 import org.briarproject.mailbox.android.UiUtils.formatDate
+import org.briarproject.mailbox.android.ui.MailboxViewModel
+import org.briarproject.mailbox.android.ui.launchAndRepeatWhileStarted
 
 @AndroidEntryPoint
 class StatusFragment : Fragment() {
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StoppingFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/status/StoppingFragment.kt
similarity index 96%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StoppingFragment.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/status/StoppingFragment.kt
index 92e0d05d..f72dc0d1 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/StoppingFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/status/StoppingFragment.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.status
 
 import android.os.Bundle
 import android.view.LayoutInflater
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/WipeCompleteActivity.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/wipe/WipeCompleteActivity.kt
similarity index 96%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/WipeCompleteActivity.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/wipe/WipeCompleteActivity.kt
index aa95f888..d03549d9 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/WipeCompleteActivity.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/wipe/WipeCompleteActivity.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.wipe
 
 import android.os.Bundle
 import androidx.appcompat.app.AppCompatActivity
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/WipeCompleteFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/wipe/WipeCompleteFragment.kt
similarity index 95%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/WipeCompleteFragment.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/wipe/WipeCompleteFragment.kt
index ce898e8b..58aef833 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/WipeCompleteFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/wipe/WipeCompleteFragment.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.wipe
 
 import android.os.Bundle
 import android.view.LayoutInflater
@@ -29,6 +29,7 @@ import androidx.fragment.app.Fragment
 import androidx.fragment.app.activityViewModels
 import dagger.hilt.android.AndroidEntryPoint
 import org.briarproject.mailbox.R
+import org.briarproject.mailbox.android.ui.MailboxViewModel
 import org.briarproject.mailbox.core.system.AndroidExecutor
 import org.briarproject.mailbox.core.system.System
 import org.slf4j.LoggerFactory.getLogger
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/WipingFragment.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/wipe/WipingFragment.kt
similarity index 96%
rename from mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/WipingFragment.kt
rename to mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/wipe/WipingFragment.kt
index 885e6b61..e0cc0de5 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/WipingFragment.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/ui/wipe/WipingFragment.kt
@@ -17,7 +17,7 @@
  *
  */
 
-package org.briarproject.mailbox.android.ui
+package org.briarproject.mailbox.android.ui.wipe
 
 import android.os.Bundle
 import android.view.LayoutInflater
diff --git a/mailbox-android/src/main/res/layout/activity_wipe_complete.xml b/mailbox-android/src/main/res/layout/activity_wipe_complete.xml
index 272c018f..cc458d35 100644
--- a/mailbox-android/src/main/res/layout/activity_wipe_complete.xml
+++ b/mailbox-android/src/main/res/layout/activity_wipe_complete.xml
@@ -2,7 +2,7 @@
 <androidx.fragment.app.FragmentContainerView xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/fragmentContainer"
-    android:name="org.briarproject.mailbox.android.ui.WipeCompleteFragment"
+    android:name="org.briarproject.mailbox.android.ui.wipe.WipeCompleteFragment"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:context=".android.ui.WipeCompleteActivity" />
+    tools:context=".android.ui.wipe.WipeCompleteActivity" />
diff --git a/mailbox-android/src/main/res/navigation/nav_main.xml b/mailbox-android/src/main/res/navigation/nav_main.xml
index fbb0eee8..a727bfb4 100644
--- a/mailbox-android/src/main/res/navigation/nav_main.xml
+++ b/mailbox-android/src/main/res/navigation/nav_main.xml
@@ -7,12 +7,12 @@
 
     <fragment
         android:id="@+id/initFragment"
-        android:name="org.briarproject.mailbox.android.ui.InitFragment"
+        android:name="org.briarproject.mailbox.android.ui.startup.InitFragment"
         android:label="InitFragment"
         tools:layout="@layout/fragment_init" />
     <fragment
         android:id="@+id/onboardingFragment"
-        android:name="org.briarproject.mailbox.android.ui.OnboardingContainerFragment"
+        android:name="org.briarproject.mailbox.android.ui.startup.OnboardingContainerFragment"
         android:label="OnboardingContainerFragment"
         tools:layout="@layout/fragment_onboarding" />
     <fragment
@@ -22,12 +22,12 @@
         tools:layout="@layout/fragment_dont_kill_me" />
     <fragment
         android:id="@+id/startupFragment"
-        android:name="org.briarproject.mailbox.android.ui.StartupFragment"
+        android:name="org.briarproject.mailbox.android.ui.startup.StartupFragment"
         android:label="StartupFragment"
         tools:layout="@layout/fragment_startup" />
     <fragment
         android:id="@+id/qrCodeFragment"
-        android:name="org.briarproject.mailbox.android.ui.QrCodeFragment"
+        android:name="org.briarproject.mailbox.android.ui.setup.QrCodeFragment"
         android:label="@string/link_title"
         tools:layout="@layout/fragment_qr">
         <action
@@ -36,37 +36,37 @@
     </fragment>
     <fragment
         android:id="@+id/qrCodeLinkFragment"
-        android:name="org.briarproject.mailbox.android.ui.QrCodeLinkFragment"
+        android:name="org.briarproject.mailbox.android.ui.setup.QrCodeLinkFragment"
         android:label="@string/link_title"
         tools:layout="@layout/fragment_qr_link" />
     <fragment
         android:id="@+id/setupCompleteFragment"
-        android:name="org.briarproject.mailbox.android.ui.SetupCompleteFragment"
+        android:name="org.briarproject.mailbox.android.ui.setup.SetupCompleteFragment"
         android:label="SetupCompleteFragment"
         tools:layout="@layout/fragment_setup_complete" />
     <fragment
         android:id="@+id/statusFragment"
-        android:name="org.briarproject.mailbox.android.ui.StatusFragment"
+        android:name="org.briarproject.mailbox.android.ui.status.StatusFragment"
         android:label="StatusFragment"
         tools:layout="@layout/fragment_status" />
     <fragment
         android:id="@+id/noNetworkFragment"
-        android:name="org.briarproject.mailbox.android.ui.NoNetworkFragment"
+        android:name="org.briarproject.mailbox.android.ui.status.NoNetworkFragment"
         android:label="NoNetworkFragment"
         tools:layout="@layout/fragment_no_network" />
     <fragment
         android:id="@+id/clockSkewFragment"
-        android:name="org.briarproject.mailbox.android.ui.ClockSkewFragment"
+        android:name="org.briarproject.mailbox.android.ui.status.ClockSkewFragment"
         android:label="ClockSkewFragment"
         tools:layout="@layout/fragment_clock_skew" />
     <fragment
         android:id="@+id/stoppingFragment"
-        android:name="org.briarproject.mailbox.android.ui.StoppingFragment"
+        android:name="org.briarproject.mailbox.android.ui.status.StoppingFragment"
         android:label="StoppingFragment"
         tools:layout="@layout/fragment_stopping" />
     <fragment
         android:id="@+id/wipingFragment"
-        android:name="org.briarproject.mailbox.android.ui.WipingFragment"
+        android:name="org.briarproject.mailbox.android.ui.wipe.WipingFragment"
         android:label="WipingFragment"
         tools:layout="@layout/fragment_wiping" />
     <action
-- 
GitLab