Skip to content
Snippets Groups Projects

Fix hud not showing up when deleting account

Merged Bruno Muniz requested to merge fix/hud-upon-delete into dev
All threads resolved!
@@ -7,6 +7,7 @@ import AppResources
@@ -7,6 +7,7 @@ import AppResources
import XXMessengerClient
import XXMessengerClient
final class SettingsDeleteViewModel {
final class SettingsDeleteViewModel {
 
@Dependency(\.app.bgQueue) var bgQueue
@Dependency(\.keychain) var keychain: KeychainManager
@Dependency(\.keychain) var keychain: KeychainManager
@Dependency(\.app.dbManager) var dbManager: DBManager
@Dependency(\.app.dbManager) var dbManager: DBManager
@Dependency(\.app.messenger) var messenger: Messenger
@Dependency(\.app.messenger) var messenger: Messenger
@@ -20,25 +21,29 @@ final class SettingsDeleteViewModel {
@@ -20,25 +21,29 @@ final class SettingsDeleteViewModel {
isCurrentlyDeleting = true
isCurrentlyDeleting = true
hudManager.show()
hudManager.show()
do {
try cleanUD()
try messenger.destroy()
try keychain.destroy()
try dbManager.removeDB()
UserDefaults.resetStandardUserDefaults()
bgQueue.schedule { [weak self] in
UserDefaults.standard.removePersistentDomain(forName: Bundle.main.bundleIdentifier!)
guard let self else { return }
UserDefaults.standard.synchronize()
hudManager.show(.init(
do {
title: Localized.Settings.Delete.Success.title,
try self.cleanUD()
content: Localized.Settings.Delete.Success.subtitle
try self.messenger.destroy()
))
try self.keychain.destroy()
} catch {
try self.dbManager.removeDB()
DispatchQueue.main.async { [weak self] in
guard let self else { return }
UserDefaults.resetStandardUserDefaults()
self.hudManager.show(.init(error: error))
UserDefaults.standard.removePersistentDomain(forName: Bundle.main.bundleIdentifier!)
 
UserDefaults.standard.synchronize()
 
 
self.hudManager.show(.init(
 
title: Localized.Settings.Delete.Success.title,
 
content: Localized.Settings.Delete.Success.subtitle
 
))
 
} catch {
 
DispatchQueue.main.async { [weak self] in
 
guard let self else { return }
 
self.hudManager.show(.init(error: error))
 
}
}
}
}
}
}
}
Loading