yayan 11 mesiacov pred
rodič
commit
5ffc01cc71

+ 1 - 1
app/src/main/java/io/nexilis/alpha/MainActivity.kt

@@ -25,7 +25,7 @@ class MainActivity : ComponentActivity() {
     override fun onResume() {
         super.onResume()
         Api.connect(
-            "38747683290F62E9667A018F490396EAE47BC16ADECD85B7E865C733E6DBD6A2",
+            "D99B0EAC2EED64194BB17FF6ED42069C882410A0AD7BAAE391792EB4A40A67BE",
             this@MainActivity
         )
     }

+ 0 - 1
build.gradle.kts

@@ -6,5 +6,4 @@ plugins {
     alias(libs.plugins.jetbrainsKotlinPluginSerialization) apply false
     alias(libs.plugins.googleDaggerHiltAndroid) apply false
     alias(libs.plugins.googleDevtoolsKsp) apply false
-    alias(libs.plugins.googleGmsGoogleServices) apply false
 }

+ 0 - 1
cpaas-lite/build.gradle.kts

@@ -2,7 +2,6 @@ plugins {
     alias(libs.plugins.androidLibrary)
     alias(libs.plugins.jetbrainsKotlinAndroid)
     alias(libs.plugins.googleDaggerHiltAndroid)
-    alias(libs.plugins.googleGmsGoogleServices)
     alias(libs.plugins.googleDevtoolsKsp)
 }
 

+ 0 - 47
cpaas-lite/google-services.json

@@ -1,47 +0,0 @@
-{
-  "project_info": {
-    "project_number": "36827599888",
-    "project_id": "push-kit-de2e3",
-    "storage_bucket": "push-kit-de2e3.appspot.com"
-  },
-  "client": [
-    {
-      "client_info": {
-        "mobilesdk_app_id": "1:36827599888:android:29e65c0ec8a560c5916695",
-        "android_client_info": {
-          "package_name": "io.nexilis.service"
-        }
-      },
-      "oauth_client": [
-        {
-          "client_id": "36827599888-6ka4jn56q9tl2c2lkr1subdid6969mp1.apps.googleusercontent.com",
-          "client_type": 1,
-          "android_info": {
-            "package_name": "io.nexilis.service",
-            "certificate_hash": "2efad00ed38e60ebef77ba5dd5687d198d2bf5f5"
-          }
-        },
-        {
-          "client_id": "36827599888-jot1op87kda3265l7vbk3f3t5tfk053h.apps.googleusercontent.com",
-          "client_type": 3
-        }
-      ],
-      "api_key": [
-        {
-          "current_key": "AIzaSyCLMlbL2GSDy7RVpw0dS55efV2uljB3R2U"
-        }
-      ],
-      "services": {
-        "appinvite_service": {
-          "other_platform_oauth_client": [
-            {
-              "client_id": "36827599888-jot1op87kda3265l7vbk3f3t5tfk053h.apps.googleusercontent.com",
-              "client_type": 3
-            }
-          ]
-        }
-      }
-    }
-  ],
-  "configuration_version": "1"
-}

BIN
cpaas-lite/libs/annotation.jar


+ 1 - 7
cpaas-lite/src/main/AndroidManifest.xml

@@ -2,6 +2,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android">
 
     <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 
     <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
 
@@ -37,12 +38,5 @@
                 android:name="android.support.FILE_PROVIDER_PATHS"
                 android:resource="@xml/path_provider" />
         </provider>
-
-        <meta-data
-            android:name="firebase_messaging_auto_init_enabled"
-            android:value="false" />
-        <meta-data
-            android:name="firebase_analytics_collection_enabled"
-            android:value="false" />
     </application>
 </manifest>

+ 35 - 7
cpaas-lite/src/main/java/io/nexilis/service/Api.kt

@@ -5,13 +5,22 @@ import android.content.Context
 import android.content.Intent
 import android.os.Build
 import android.util.Log
+import android.widget.Toast
+import com.google.firebase.Firebase
+import com.google.firebase.FirebaseApp
+import com.google.firebase.FirebaseOptions
+import com.google.firebase.app
+import com.google.firebase.initialize
 import io.newuniverse.SDK.nuSDKService
 import io.nexilis.service.core.Data
+import io.nexilis.service.core.Network
+import io.nexilis.service.core.decrypt
 import io.nexilis.service.core.getSharedPreferences
 import io.nexilis.service.core.optString
 import io.nexilis.service.core.put
 import kotlinx.coroutines.launch
 import java.security.SecureRandom
+import java.util.Locale
 import java.util.concurrent.TimeUnit
 import java.util.concurrent.locks.Condition
 import java.util.concurrent.locks.ReentrantLock
@@ -28,13 +37,27 @@ class Api {
             Log.d(tag, "connect:$account")
             Thread {
                 try {
+                    val domain = Network().getSync("https://nexilis.io/dipp/NuN1v3rs3/Qm3r4i0/get_ip_domain?account=$account")
+                    Log.d(tag, "domain:${domain?.decrypt()}")
+                    val options = FirebaseOptions.Builder()
+                        .setProjectId("push-kit-de2e3")
+                        .setApplicationId("1:36827599888:android:29e65c0ec8a560c5916695")
+                        .setApiKey("AIzaSyCLMlbL2GSDy7RVpw0dS55efV2uljB3R2U")
+                        .build()
+                    try {
+                        Firebase.app(FirebaseApp.DEFAULT_APP_NAME)
+                        Firebase.initialize(activity.applicationContext, options, "nexilis")
+                    } catch (e: Exception) {
+                        Firebase.initialize(activity.applicationContext, options, FirebaseApp.DEFAULT_APP_NAME)
+                    }
                     activity.startService(Intent(activity, nuSDKService::class.java))
                     while (!nuSDKService.bServiceStarted()) {
                         Thread.sleep(100)
                     }
                     val preferences = activity.getSharedPreferences()
                     preferences.put(key = "api", value = account)
-                    val random = String.format("%010d", SecureRandom().nextInt(999999))
+                    val random =
+                        String.format(Locale.getDefault(), "%010d", SecureRandom().nextInt(Int.MAX_VALUE))
                     val session = preferences.optString(
                         key = "session", default = random
                     )
@@ -52,19 +75,25 @@ class Api {
                         false,
                         "202.158.33.26:62823"
                     )
-                    val signature: String =
-                        nuSDKService.getInstance(pass).sGetSignature()
+                    val signature: String = nuSDKService.getInstance(pass).sGetSignature()
                     if ("1,1,1,1,1,1,1,1,1,1,1,1" != signature) nuSDKService.getInstance(pass)
                         .UpdateSignature()
                     val pin = preferences.optString(key = "pin", default = "")
                     if (pin.isEmpty()) {
                         condition = lock.newCondition()
                         lock.withLock {
-                            Log.d(tag, "wait connection")
+                            Log.d(tag, "wait:connection")
                             condition?.let {
                                 val await = it.await(15, TimeUnit.SECONDS)
+                                Log.d(tag, "wait:result:$await")
+                                if (!await) {
+                                    activity.runOnUiThread {
+                                        Toast.makeText(activity, "Please check your internet connection", Toast.LENGTH_LONG).show()
+                                    }
+                                    return@Thread
+                                }
+                                Log.d(tag, "signup:start")
                                 preferences.put(key = "session", value = session)
-                                Log.d(tag, "signup:start:$await")
                                 val response = Service.sendSync(
                                     Data(
                                         code = "SUA01",
@@ -108,8 +137,7 @@ class Api {
                                 status = System.nanoTime().toString(),
                                 f_pin = it,
                                 bodies = mutableMapOf(
-                                    "TKN" to token,
-                                    "Bo" to Build.BRAND
+                                    "TKN" to token, "Bo" to Build.BRAND
                                 )
                             )
                         )

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

@@ -23,9 +23,11 @@ class FirebaseService : FirebaseMessagingService() {
         Log.d(tag, "onMessageReceived:${message.data}")
         try {
             val json = JSONObject(message.data.toMap())
-            json.optString("message_id").let { messageId ->
-                applicationContext.getSharedPreferences().getString("pin", null)?.let { me ->
-                    pullMessage(messageId, me)
+            if (json.has("message_id")) {
+                json.optString("message_id").let { messageId ->
+                    applicationContext.getSharedPreferences().getString("pin", null)?.let { me ->
+                        pullMessage(messageId, me)
+                    }
                 }
             }
         } catch (_: Exception) {

+ 11 - 0
cpaas-lite/src/main/java/io/nexilis/service/core/Network.kt

@@ -176,6 +176,17 @@ class Network {
         })
     }
 
+    fun getSync(url: String) : String? {
+        val client = getUnsafeOkHttpClient()
+        val request: Request = Request.Builder()
+            .url(url)
+            .addHeader("User-Agent", "Mozilla/5.0")
+            .get()
+            .build()
+        Log.d(tag, "get:execute:$url")
+        return client.newCall(request).execute().body?.string()
+    }
+
     fun download(
         context: Context,
         url: String,

+ 1 - 1
gradle/libs.versions.toml

@@ -1,5 +1,5 @@
 [versions]
-agp = "8.5.0"
+agp = "8.1.2"
 kotlin = "1.9.23"
 ksp = "1.9.23-1.0.20"
 coreKtx = "1.13.1"

+ 3 - 3
gradle/wrapper/gradle-wrapper.properties

@@ -1,6 +1,6 @@
-#Thu Nov 24 10:36:14 ICT 2022
+#Thu Aug 08 11:29:53 WIB 2024
 distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
 distributionPath=wrapper/dists
-zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
 zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists