|
@@ -6,6 +6,8 @@ import io.newuniverse.SDK.nuSDKService
|
|
|
import io.nexilis.service.Service
|
|
|
import io.nexilis.service.apiScope
|
|
|
import io.nexilis.service.data.entities.Buddy
|
|
|
+import io.nexilis.service.data.entities.Group
|
|
|
+import io.nexilis.service.data.entities.GroupMember
|
|
|
import io.nexilis.service.data.entities.Message
|
|
|
import io.nexilis.service.data.rooms.ApiRoomDatabase
|
|
|
import io.nexilis.service.pass
|
|
@@ -53,6 +55,14 @@ class Incoming private constructor() {
|
|
|
pushBuddies(data)
|
|
|
}
|
|
|
|
|
|
+ "IBG" -> {
|
|
|
+ pushGroupBatch(data)
|
|
|
+ }
|
|
|
+
|
|
|
+ "A009" -> {
|
|
|
+ pushMember(data)
|
|
|
+ }
|
|
|
+
|
|
|
"S0" -> {
|
|
|
pushMessage(data)
|
|
|
}
|
|
@@ -108,6 +118,7 @@ class Incoming private constructor() {
|
|
|
|
|
|
private suspend fun pushMySelf(data: Data) {
|
|
|
try {
|
|
|
+ val me = context.getSharedPreferences().getString("pin", "")
|
|
|
ApiRoomDatabase.getDatabase(context).buddyDao().insert(
|
|
|
Buddy(
|
|
|
data.bodies["A00"] ?: "",
|
|
@@ -181,6 +192,7 @@ class Incoming private constructor() {
|
|
|
data.bodies["ISL"] ?: ""
|
|
|
)
|
|
|
)
|
|
|
+ Service.sendAck(me, data.status)
|
|
|
} catch (e: Exception) {
|
|
|
Log.e(tag, e.message, e)
|
|
|
}
|
|
@@ -188,6 +200,7 @@ class Incoming private constructor() {
|
|
|
|
|
|
private suspend fun pushBuddies(data: Data) {
|
|
|
try {
|
|
|
+ val me = context.getSharedPreferences().getString("pin", "")
|
|
|
val d = data.bodies["A112"] ?: ""
|
|
|
val jsonArray = JSONArray(d)
|
|
|
for (i in 0 until jsonArray.length()) {
|
|
@@ -266,6 +279,89 @@ class Incoming private constructor() {
|
|
|
)
|
|
|
)
|
|
|
}
|
|
|
+ Service.sendAck(me, data.status)
|
|
|
+ } catch (e: Exception) {
|
|
|
+ Log.e(tag, e.message, e)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private suspend fun pushGroupBatch(data: Data) {
|
|
|
+ try {
|
|
|
+ val me = context.getSharedPreferences().getString("pin", "")
|
|
|
+ val d = data.bodies["A112"] ?: ""
|
|
|
+ val jsonArray = JSONArray(d)
|
|
|
+ for (i in 0 until jsonArray.length()) {
|
|
|
+ val jsonObject = jsonArray.getJSONObject(i)
|
|
|
+ ApiRoomDatabase.getDatabase(context).groupDao().insert(
|
|
|
+ Group(
|
|
|
+ jsonObject.optString("A04") ?: "",
|
|
|
+ jsonObject.optString("A05") ?: "",
|
|
|
+ jsonObject.optString("A06") ?: "",
|
|
|
+ jsonObject.optString("A74") ?: "",
|
|
|
+ jsonObject.optString("A16") ?: "",
|
|
|
+ jsonObject.optString("A11") ?: "0",
|
|
|
+ jsonObject.optString("A28") ?: "",
|
|
|
+ jsonObject.optString("A29") ?: "0",
|
|
|
+ jsonObject.optString("A43") ?: "",
|
|
|
+ "",
|
|
|
+ jsonObject.optInt("B0") ?: 0,
|
|
|
+ jsonObject.optInt("A122") ?: 0,
|
|
|
+ jsonObject.optString("BP") ?: "",
|
|
|
+ jsonObject.optString("A103") ?: "",
|
|
|
+ 0,
|
|
|
+ jsonObject.optInt("IOP") ?: 0,
|
|
|
+ jsonObject.optInt("oacc") ?: 0,
|
|
|
+ jsonObject.optInt("lvledu") ?: 0,
|
|
|
+ jsonObject.optInt("mtredu") ?: 0,
|
|
|
+ jsonObject.optInt("IED") ?: 0,
|
|
|
+ jsonObject.optString("BZ1") ?: ""
|
|
|
+ )
|
|
|
+ )
|
|
|
+ val members = jsonObject.getJSONArray("member")
|
|
|
+ for (j in 0 until members.length()) {
|
|
|
+ val jsonMember = members.getJSONObject(j)
|
|
|
+ ApiRoomDatabase.getDatabase(context).groupMemberDao().insert(
|
|
|
+ GroupMember(
|
|
|
+ jsonMember.optString("A04") ?: "",
|
|
|
+ jsonMember.optString("A00") ?: "",
|
|
|
+ jsonMember.optString("A80") ?: "",
|
|
|
+ jsonMember.optString("B7") ?: "",
|
|
|
+ jsonMember.optString("AC") ?: "",
|
|
|
+ jsonMember.optString("AC_DESC") ?: "",
|
|
|
+ jsonMember.optString("A02") ?: "",
|
|
|
+ jsonMember.optString("A03") ?: "",
|
|
|
+ jsonMember.optString("B5") ?: "",
|
|
|
+ jsonMember.optString("A74") ?: "",
|
|
|
+ jsonMember.optString("A29") ?: System.currentTimeMillis().toString(),
|
|
|
+ )
|
|
|
+ )
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Service.sendAck(me, data.status)
|
|
|
+ } catch (e: Exception) {
|
|
|
+ Log.e(tag, e.message, e)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private suspend fun pushMember(data: Data) {
|
|
|
+ try {
|
|
|
+ val me = context.getSharedPreferences().getString("pin", "")
|
|
|
+ ApiRoomDatabase.getDatabase(context).groupMemberDao().insert(
|
|
|
+ GroupMember(
|
|
|
+ data.bodies["A04"] ?: "",
|
|
|
+ data.bodies["A00"] ?: "",
|
|
|
+ data.bodies["A80"] ?: "",
|
|
|
+ data.bodies["B7"] ?: "",
|
|
|
+ data.bodies["AC"] ?: "",
|
|
|
+ data.bodies["AC_DESC"] ?: "",
|
|
|
+ data.bodies["A02"] ?: "",
|
|
|
+ data.bodies["A03"] ?: "",
|
|
|
+ data.bodies["B5"] ?: "",
|
|
|
+ data.bodies["A74"] ?: "",
|
|
|
+ data.bodies["A29"] ?: System.currentTimeMillis().toString(),
|
|
|
+ )
|
|
|
+ )
|
|
|
+ Service.sendAck(me, data.status)
|
|
|
} catch (e: Exception) {
|
|
|
Log.e(tag, e.message, e)
|
|
|
}
|