mirror of
https://github.com/SimpleMobileTools/Simple-SMS-Messenger.git
synced 2025-02-17 20:20:53 +01:00
Added invalid_file_format toast on XML importing
This commit is contained in:
parent
e244fd5a53
commit
014ac2a4cf
@ -94,48 +94,52 @@ class MessagesImporter(private val activity: SimpleActivity) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun InputStream.importXml() {
|
private fun InputStream.importXml() {
|
||||||
bufferedReader().use { reader ->
|
try {
|
||||||
val xmlParser = Xml.newPullParser().apply {
|
bufferedReader().use { reader ->
|
||||||
setInput(reader)
|
val xmlParser = Xml.newPullParser().apply {
|
||||||
}
|
setInput(reader)
|
||||||
|
|
||||||
xmlParser.nextTag()
|
|
||||||
xmlParser.require(XmlPullParser.START_TAG, null, "smses")
|
|
||||||
|
|
||||||
var depth = 1
|
|
||||||
while (depth != 0) {
|
|
||||||
when (xmlParser.next()) {
|
|
||||||
XmlPullParser.END_TAG -> depth--
|
|
||||||
XmlPullParser.START_TAG -> depth++
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (xmlParser.eventType != XmlPullParser.START_TAG) {
|
xmlParser.nextTag()
|
||||||
continue
|
xmlParser.require(XmlPullParser.START_TAG, null, "smses")
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
var depth = 1
|
||||||
if (xmlParser.name == "sms") {
|
while (depth != 0) {
|
||||||
if (config.importSms) {
|
when (xmlParser.next()) {
|
||||||
val message = xmlParser.readSms()
|
XmlPullParser.END_TAG -> depth--
|
||||||
messageWriter.writeSmsMessage(message)
|
XmlPullParser.START_TAG -> depth++
|
||||||
messagesImported++
|
}
|
||||||
|
|
||||||
|
if (xmlParser.eventType != XmlPullParser.START_TAG) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (xmlParser.name == "sms") {
|
||||||
|
if (config.importSms) {
|
||||||
|
val message = xmlParser.readSms()
|
||||||
|
messageWriter.writeSmsMessage(message)
|
||||||
|
messagesImported++
|
||||||
|
} else {
|
||||||
|
xmlParser.skip()
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
xmlParser.skip()
|
xmlParser.skip()
|
||||||
}
|
}
|
||||||
} else {
|
} catch (e: Exception) {
|
||||||
xmlParser.skip()
|
activity.showErrorToast(e)
|
||||||
|
messagesFailed++
|
||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
|
||||||
activity.showErrorToast(e)
|
|
||||||
messagesFailed++
|
|
||||||
}
|
}
|
||||||
|
refreshMessages()
|
||||||
}
|
}
|
||||||
refreshMessages()
|
when {
|
||||||
}
|
messagesFailed > 0 && messagesImported > 0 -> activity.toast(R.string.importing_some_entries_failed)
|
||||||
when {
|
messagesFailed > 0 -> activity.toast(R.string.importing_failed)
|
||||||
messagesFailed > 0 && messagesImported > 0 -> activity.toast(R.string.importing_some_entries_failed)
|
else -> activity.toast(R.string.importing_successful)
|
||||||
messagesFailed > 0 -> activity.toast(R.string.importing_failed)
|
}
|
||||||
else -> activity.toast(R.string.importing_successful)
|
} catch (_: Exception) {
|
||||||
|
activity.toast(R.string.invalid_file_format)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user