diff --git a/Sources/AppResources/Resources/en.lproj/Localizable.strings b/Sources/AppResources/Resources/en.lproj/Localizable.strings index 3dfbb4a622ecde1973cc79fb0e692d78add2cefa..4bf92d9d2a6c07afc0d531d0ce18ca95b7da617b 100644 --- a/Sources/AppResources/Resources/en.lproj/Localizable.strings +++ b/Sources/AppResources/Resources/en.lproj/Localizable.strings @@ -710,6 +710,10 @@ = "Deleting Your Account"; "settings.delete.info.subtitle" = "On deletion, all keys for your account are purged from your phone. This action will not notify your contacts. Your keys and any registered emails or phone numbers are removed from the user discovery system."; +"settings.delete.success.title" += "Account deleted"; +"settings.delete.success.subtitle" += "Now, kill the app and re-open."; "settings.infoDrawer.notifications.title" = "Notifications"; diff --git a/Sources/AppResources/Strings.swift b/Sources/AppResources/Strings.swift index 4ced950dd511ef22ad7f25f4ddb1c1192587ed7e..0925582807aa61bf988a83890180a25dc9eb324b 100644 --- a/Sources/AppResources/Strings.swift +++ b/Sources/AppResources/Strings.swift @@ -1172,6 +1172,12 @@ public enum Localized { /// Deleting Your Account public static let title = Localized.tr("Localizable", "settings.delete.info.title") } + public enum Success { + /// Now, kill the app and re-open. + public static let subtitle = Localized.tr("Localizable", "settings.delete.success.subtitle") + /// Account deleted + public static let title = Localized.tr("Localizable", "settings.delete.success.title") + } } public enum Drawer { /// %@ will be opened using your default browser diff --git a/Sources/SettingsFeature/ViewModels/SettingsDeleteViewModel.swift b/Sources/SettingsFeature/ViewModels/SettingsDeleteViewModel.swift index 87dadb95c894fa10d06b82a53b094ccc04d00a67..1eeb1c333a4b4a275125c00ab5f26bc9e2819408 100644 --- a/Sources/SettingsFeature/ViewModels/SettingsDeleteViewModel.swift +++ b/Sources/SettingsFeature/ViewModels/SettingsDeleteViewModel.swift @@ -3,6 +3,7 @@ import Defaults import Keychain import Foundation import Dependencies +import AppResources import XXMessengerClient final class SettingsDeleteViewModel { @@ -25,15 +26,14 @@ final class SettingsDeleteViewModel { try messenger.destroy() try keychain.destroy() try dbManager.removeDB() - try deleteDatabase() - + UserDefaults.resetStandardUserDefaults() UserDefaults.standard.removePersistentDomain(forName: Bundle.main.bundleIdentifier!) UserDefaults.standard.synchronize() - + hudManager.show(.init( - title: "Account deleted", - content: "Now kill the app and re-open" + title: Localized.Settings.Delete.Success.title, + content: Localized.Settings.Delete.Success.subtitle )) } catch { DispatchQueue.main.async { [weak self] in @@ -48,13 +48,4 @@ final class SettingsDeleteViewModel { username: .init(type: .username, value: username!) ) } - - private func deleteDatabase() throws { - let dbPath = FileManager.default - .containerURL(forSecurityApplicationGroupIdentifier: "group.elixxir.messenger")! - .appendingPathComponent("xxm_database") - .appendingPathExtension("sqlite").path - - try FileManager.default.removeItem(atPath: dbPath) - } }