private fun emdkProfile() {
EMDKManager.getEMDKManager(this, object : EMDKManager.EMDKListener {
override fun onOpened(emdkManager: EMDKManager?) {
eMDKManager = emdkManager
try {
emdkManager?.let { manager ->
val profileManager = manager.getInstance(EMDKManager.FEATURE_TYPE.PROFILE) as ProfileManager
profileManager.addDataListener { resultData ->
when (resultData.result.statusCode) {
EMDKResults.STATUS_CODE.SUCCESS -> {}
EMDKResults.STATUS_CODE.UNKNOWN -> {}
EMDKResults.STATUS_CODE.CHECK_XML -> {
try {
val parser = Xml.newPullParser()
val statusXMLResponse: String = resultData.result.statusString
parser.setInput(StringReader(statusXMLResponse))
parseXML(parser)
} catch (e: Throwable) {
e.printStackTrace()
}
}
else -> toast(resultData.result.statusString)
}
}
profileManager.processProfileAsync("default_profile_mx_8_2", ProfileManager.PROFILE_FLAG.SET, null as Array<String?>?)
}
} catch (e: Throwable) {
e.printStackTrace()
}
}
override fun onClosed() {
eMDKManager?.release()
eMDKManager = null
}
})
}
private fun parseXML(myParser: XmlPullParser) {
var event: Int
try {
event = myParser.eventType
while (event != XmlPullParser.END_DOCUMENT) {
when (event) {
XmlPullParser.START_TAG ->
if (myParser.name == "parm-error") {
val errorName = myParser.getAttributeValue(null, "name")
val errorDescription = myParser.getAttributeValue(null, "desc")
val failureMessage = "Failure-$errorName-$errorDescription"
} else if (myParser.name == "characteristic-error") {
val errorType = myParser.getAttributeValue(null, "type")
val errorDescription = myParser.getAttributeValue(null, "desc")
val failureMessage = "Failure-$errorType-$errorDescription"
}
XmlPullParser.END_TAG -> { }
}
event = myParser.next()
}
} catch (e: Exception) {
e.printStackTrace()
}
}