yayan há 1 ano atrás
pai
commit
fd515227ef

+ 0 - 8
cpaas-lite/src/main/java/io/nexilis/service/Api.kt

@@ -5,10 +5,8 @@ import android.content.Context
 import android.content.Intent
 import android.os.Build
 import android.util.Log
-import dagger.hilt.android.EntryPointAccessors
 import io.newuniverse.SDK.nuSDKService
 import io.nexilis.service.core.Data
-import io.nexilis.service.core.IncomingInterface
 import io.nexilis.service.core.getSharedPreferences
 import io.nexilis.service.core.optString
 import io.nexilis.service.core.put
@@ -26,14 +24,8 @@ class Api {
 
         internal var condition: Condition? = null
 
-        internal var entryPoint: IncomingInterface? = null
-
         fun connect(account: String, activity: Activity) {
             Log.d(tag, "connect:$account")
-            entryPoint = EntryPointAccessors.fromApplication(
-                activity.applicationContext,
-                IncomingInterface::class.java
-            )
             Thread {
                 try {
                     activity.startService(Intent(activity, nuSDKService::class.java))

+ 7 - 3
cpaas-lite/src/main/java/io/nexilis/service/FirebaseService.kt

@@ -3,15 +3,19 @@ package io.nexilis.service
 import android.util.Log
 import com.google.firebase.messaging.FirebaseMessagingService
 import com.google.firebase.messaging.RemoteMessage
+import dagger.hilt.android.EntryPointAccessors
 import io.nexilis.service.core.Data
-import io.nexilis.service.core.Incoming
+import io.nexilis.service.core.IncomingInterface
 import io.nexilis.service.core.Network
 import io.nexilis.service.core.getSharedPreferences
 import org.json.JSONObject
 
 class FirebaseService : FirebaseMessagingService() {
 
-    private lateinit var incoming: Incoming
+    private val entryPoint = EntryPointAccessors.fromApplication(
+        applicationContext,
+        IncomingInterface::class.java
+    )
 
     override fun onNewToken(token: String) {
         super.onNewToken(token)
@@ -44,7 +48,7 @@ class FirebaseService : FirebaseMessagingService() {
                 if (data.isNotEmpty()) {
                     val d = Data()
                     if (d.parse(data)) {
-                        incoming.process(d) {
+                        entryPoint.incoming().process(d) {
                             if (it) {
                                 Network().post(
                                     "https://202.158.33.27/ack_message",

+ 11 - 1
cpaas-lite/src/main/java/io/nexilis/service/SdkCallback.kt

@@ -1,14 +1,22 @@
 package io.nexilis.service
 
 import android.util.Log
+import dagger.hilt.android.EntryPointAccessors
 import io.newuniverse.SDK.nuSDKCallBack
+import io.newuniverse.SDK.nuSDKService
 import io.nexilis.service.core.Data
+import io.nexilis.service.core.IncomingInterface
 import kotlin.concurrent.withLock
 
 class SdkCallback : nuSDKCallBack {
 
     private val tag = "SdkCallback"
 
+    private val entryPoint = EntryPointAccessors.fromApplication(
+        nuSDKService.getInstance(pass).applicationContext,
+        IncomingInterface::class.java
+    )
+
     override fun connectionStateChanged(
         p0: String?,
         p1: String?,
@@ -58,9 +66,11 @@ class SdkCallback : nuSDKCallBack {
                     is String -> {
                         data.parse(it)
                     }
+
                     is ByteArray -> {
                         data.parse(it)
                     }
+
                     else -> {
                         Log.d(tag, "unknown:$p0:$p1")
                         return
@@ -69,7 +79,7 @@ class SdkCallback : nuSDKCallBack {
                 p0?.let { s ->
                     data.packetId = s
                 }
-                Api.entryPoint?.incoming()?.process(data)
+                entryPoint.incoming().process(data)
             }
         } catch (e: Exception) {
             Log.e(tag, e.message, e)