|
@@ -2,7 +2,6 @@ package io.nexilis.service
|
|
|
|
|
|
import android.app.Activity
|
|
import android.app.Activity
|
|
import android.content.Context
|
|
import android.content.Context
|
|
-import android.content.Intent
|
|
|
|
import android.os.Build
|
|
import android.os.Build
|
|
import android.util.Base64
|
|
import android.util.Base64
|
|
import android.util.Log
|
|
import android.util.Log
|
|
@@ -16,12 +15,15 @@ import io.newuniverse.SDK.nuSDKService
|
|
import io.nexilis.service.core.Data
|
|
import io.nexilis.service.core.Data
|
|
import io.nexilis.service.core.Network
|
|
import io.nexilis.service.core.Network
|
|
import io.nexilis.service.core.api
|
|
import io.nexilis.service.core.api
|
|
|
|
+import io.nexilis.service.core.appName
|
|
import io.nexilis.service.core.decrypt
|
|
import io.nexilis.service.core.decrypt
|
|
import io.nexilis.service.core.domain
|
|
import io.nexilis.service.core.domain
|
|
import io.nexilis.service.core.isLogin
|
|
import io.nexilis.service.core.isLogin
|
|
import io.nexilis.service.core.pref
|
|
import io.nexilis.service.core.pref
|
|
import io.nexilis.service.core.pin
|
|
import io.nexilis.service.core.pin
|
|
import io.nexilis.service.core.session
|
|
import io.nexilis.service.core.session
|
|
|
|
+import io.nexilis.service.data.entities.Buddy
|
|
|
|
+import io.nexilis.service.data.rooms.ApiRoomDatabase
|
|
import kotlinx.coroutines.launch
|
|
import kotlinx.coroutines.launch
|
|
import org.json.JSONObject
|
|
import org.json.JSONObject
|
|
import java.security.SecureRandom
|
|
import java.security.SecureRandom
|
|
@@ -38,12 +40,13 @@ class Api {
|
|
|
|
|
|
internal var condition: Condition? = null
|
|
internal var condition: Condition? = null
|
|
|
|
|
|
- fun connect(account: String, activity: Activity) {
|
|
|
|
- Log.d(tag, "connect:$account")
|
|
|
|
- activity.startService(Intent(activity, nuSDKService::class.java))
|
|
|
|
|
|
+ fun connect(appName: String, account: String, activity: Activity) {
|
|
|
|
+ Log.d(tag, "connect:$appName:$account")
|
|
Thread {
|
|
Thread {
|
|
try {
|
|
try {
|
|
- val urlData = Network().getSync("https://nexilis.io/dipp/NuN1v3rs3/Qm3r4i0/get_ip_domain?account=$account") ?: return@Thread
|
|
|
|
|
|
+ val urlData =
|
|
|
|
+ Network().getSync("https://nexilis.io/dipp/NuN1v3rs3/Qm3r4i0/get_ip_domain?account=$account")
|
|
|
|
+ ?: return@Thread
|
|
Log.d(tag, "urlData:${urlData}")
|
|
Log.d(tag, "urlData:${urlData}")
|
|
val decode = Base64.decode(urlData, Base64.DEFAULT).toString(Charsets.UTF_8)
|
|
val decode = Base64.decode(urlData, Base64.DEFAULT).toString(Charsets.UTF_8)
|
|
val json = JSONObject(decode.decrypt())
|
|
val json = JSONObject(decode.decrypt())
|
|
@@ -51,7 +54,7 @@ class Api {
|
|
val domain = json.getString("domain")
|
|
val domain = json.getString("domain")
|
|
val address = arrayAddress.getJSONObject(0)
|
|
val address = arrayAddress.getJSONObject(0)
|
|
val ip = address.getString("ip")
|
|
val ip = address.getString("ip")
|
|
- val port = address.getString("portA").toInt()
|
|
|
|
|
|
+ val port = address.getString("portD").toInt()
|
|
activity.pref().domain = domain
|
|
activity.pref().domain = domain
|
|
Log.d(tag, "domain:${activity.pref().domain}")
|
|
Log.d(tag, "domain:${activity.pref().domain}")
|
|
val options = FirebaseOptions.Builder()
|
|
val options = FirebaseOptions.Builder()
|
|
@@ -62,24 +65,29 @@ class Api {
|
|
try {
|
|
try {
|
|
Firebase.app(FirebaseApp.DEFAULT_APP_NAME)
|
|
Firebase.app(FirebaseApp.DEFAULT_APP_NAME)
|
|
Firebase.initialize(activity.applicationContext, options, "nexilis")
|
|
Firebase.initialize(activity.applicationContext, options, "nexilis")
|
|
- } catch (e: Exception) {
|
|
|
|
- Firebase.initialize(activity.applicationContext, options, FirebaseApp.DEFAULT_APP_NAME)
|
|
|
|
- }
|
|
|
|
- while (!nuSDKService.bServiceStarted()) {
|
|
|
|
- Thread.sleep(100)
|
|
|
|
|
|
+ } catch (_: Exception) {
|
|
|
|
+ Firebase.initialize(
|
|
|
|
+ activity.applicationContext,
|
|
|
|
+ options,
|
|
|
|
+ FirebaseApp.DEFAULT_APP_NAME
|
|
|
|
+ )
|
|
}
|
|
}
|
|
val preferences = activity.pref()
|
|
val preferences = activity.pref()
|
|
|
|
+ preferences.appName = appName
|
|
preferences.api = account
|
|
preferences.api = account
|
|
val random =
|
|
val random =
|
|
- String.format(Locale.getDefault(), "%010d", SecureRandom().nextInt(Int.MAX_VALUE))
|
|
|
|
|
|
+ String.format(
|
|
|
|
+ Locale.getDefault(),
|
|
|
|
+ "%010d",
|
|
|
|
+ SecureRandom().nextInt(Int.MAX_VALUE)
|
|
|
|
+ )
|
|
val session = preferences.session.ifEmpty { random }
|
|
val session = preferences.session.ifEmpty { random }
|
|
Log.d(tag, "initConnection:$pass,$account,$activity,$session")
|
|
Log.d(tag, "initConnection:$pass,$account,$activity,$session")
|
|
- nuSDKService.getInstance(pass).initConnection(
|
|
|
|
|
|
+ nuSDKService.initConnection(
|
|
pass,
|
|
pass,
|
|
account,
|
|
account,
|
|
activity,
|
|
activity,
|
|
- SdkCallback::class.java,
|
|
|
|
- SdkCallback(),
|
|
|
|
|
|
+ SdkCallback(activity),
|
|
ip,
|
|
ip,
|
|
port,
|
|
port,
|
|
session,
|
|
session,
|
|
@@ -99,7 +107,11 @@ class Api {
|
|
Log.d(tag, "wait:result:$await")
|
|
Log.d(tag, "wait:result:$await")
|
|
if (!await) {
|
|
if (!await) {
|
|
activity.runOnUiThread {
|
|
activity.runOnUiThread {
|
|
- Toast.makeText(activity, "Please check your internet connection", Toast.LENGTH_LONG).show()
|
|
|
|
|
|
+ Toast.makeText(
|
|
|
|
+ activity,
|
|
|
|
+ "Please check your internet connection",
|
|
|
|
+ Toast.LENGTH_LONG
|
|
|
|
+ ).show()
|
|
}
|
|
}
|
|
return@Thread
|
|
return@Thread
|
|
}
|
|
}
|
|
@@ -119,13 +131,16 @@ class Api {
|
|
val p = r.bodies["A00"] ?: ""
|
|
val p = r.bodies["A00"] ?: ""
|
|
Log.d(tag, "signup:put:pin:$p")
|
|
Log.d(tag, "signup:put:pin:$p")
|
|
preferences.pin = p
|
|
preferences.pin = p
|
|
- Log.d(tag, "signup:retrieve")
|
|
|
|
- Service.sendAsync(
|
|
|
|
- Data(
|
|
|
|
- code = "A050",
|
|
|
|
- status = System.nanoTime().toString(),
|
|
|
|
|
|
+ apiScope.launch {
|
|
|
|
+ ApiRoomDatabase.getDatabase(activity).buddyDao().insert(
|
|
|
|
+ Buddy(
|
|
|
|
+ f_pin = p,
|
|
|
|
+ first_name = "USR_12345",
|
|
|
|
+ image_id = "",
|
|
|
|
+ type = "1"
|
|
|
|
+ )
|
|
)
|
|
)
|
|
- )
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|