feat: handling responses and using new updated params

This commit is contained in:
jubb
2021-06-21 15:48:42 +10:00
parent fdc042e6d4
commit 05b0e5f308
3 changed files with 69 additions and 61 deletions

View File

@@ -76,30 +76,37 @@ class ClearAllDataDialog(val deleteNetworkMessages: Boolean) : DialogFragment()
}
} catch (e: Exception) {
Log.e("Loki", "Failed to force sync", e)
withContext(Dispatchers.Main) {
updateUI(false)
}
}
} else {
// finish
val promises = SnodeAPI.deleteAllMessages(requireContext()).get()
val promises = try {
SnodeAPI.deleteAllMessages(requireContext()).get()
} catch (e: Exception) {
null
}
val rawResponses = promises.map {
val rawResponses = promises?.map {
try {
it.get()
} catch (e: Exception) {
null
}
}
} ?: listOf(null)
// TODO: process the responses here
if (rawResponses.any { it == null || it["failed"] as? Boolean == true }) {
// didn't succeed (at least one)
withContext(Dispatchers.Main) {
updateUI(false)
}
} else {
if (rawResponses.all { it != null }) {
// don't force sync because all the messages are deleted?
ApplicationContext.getInstance(context).clearAllData(false)
withContext(Dispatchers.Main) {
dismiss()
}
} else if (rawResponses.any { it == null || it["failed"] as? Boolean == true }) {
// didn't succeed (at least one)
withContext(Dispatchers.Main) {
updateUI(false)
}
}
}
}