From 1d0100ad2c35aa21e5f5da3d6c3d9c5fb8860d2d Mon Sep 17 00:00:00 2001 From: Kadir Date: Fri, 9 Jan 2026 21:06:43 +0300 Subject: [PATCH 1/5] chore: Update Gradle and Android Gradle Plugin versions - Update Gradle wrapper from version 8.11.1 to 8.14.3. - Update Android Gradle Plugin (AGP) from version 8.9.0 to 8.13.2. --- android/gradle/libs.versions.toml | 2 +- android/gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index 36420c2..b13c63d 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -agp = "8.9.0" +agp = "8.13.2" junit = "4.13.2" junitVersion = "1.2.1" espressoCore = "3.6.1" diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 2f8c6a7..f14c598 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Tue Jun 11 21:46:26 TRT 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 0282b55a6adf834f77ee925193cde866167a51d3 Mon Sep 17 00:00:00 2001 From: Kadir Date: Fri, 9 Jan 2026 21:12:32 +0300 Subject: [PATCH 2/5] chore: Update Android dependencies Updates the following Android dependencies in `libs.versions.toml`: - `junitVersion` to 1.3.0 - `espressoCore` to 3.7.0 - `appcompat` to 1.7.1 - `material` to 1.13.0 --- android/gradle/libs.versions.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index b13c63d..56b3be1 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -1,10 +1,10 @@ [versions] agp = "8.13.2" junit = "4.13.2" -junitVersion = "1.2.1" -espressoCore = "3.6.1" -appcompat = "1.7.0" -material = "1.12.0" +junitVersion = "1.3.0" +espressoCore = "3.7.0" +appcompat = "1.7.1" +material = "1.13.0" constraintlayout = "2.2.1" [libraries] From 6431b0780d077d50d46ba1f7f82c4909e0e5bb22 Mon Sep 17 00:00:00 2001 From: Kadir Date: Fri, 9 Jan 2026 21:47:12 +0300 Subject: [PATCH 3/5] chore: Update Android SDK versions Updates the Android `compileSdk` and `targetSdk` from version 35 to 36 in the `android/app/build.gradle` file. --- android/app/build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 9495c29..05a5194 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -4,12 +4,12 @@ plugins { android { namespace 'com.sdk.socket' - compileSdk 35 + compileSdk = 36 defaultConfig { applicationId "com.sdk.socket" - minSdk 24 - targetSdk 35 + minSdk = 24 + targetSdk = 36 versionCode 1 versionName "1.0" From f94b8e04af23c60ee31f7634fd4c1ad39cf2d910 Mon Sep 17 00:00:00 2001 From: Kadir Date: Fri, 9 Jan 2026 21:48:55 +0300 Subject: [PATCH 4/5] refactor: Use lambda for OnClickListener in MainActivity Replaces the anonymous `View.OnClickListener` inner class with a lambda expression for conciseness. --- .../java/com/sdk/socket/MainActivity.java | 35 +++++++++---------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/android/app/src/main/java/com/sdk/socket/MainActivity.java b/android/app/src/main/java/com/sdk/socket/MainActivity.java index 2da1e57..3a9d11e 100644 --- a/android/app/src/main/java/com/sdk/socket/MainActivity.java +++ b/android/app/src/main/java/com/sdk/socket/MainActivity.java @@ -30,26 +30,23 @@ protected void onCreate(Bundle savedInstanceState) { // Example of a call to a native method Button reqBtn = binding.request; - reqBtn.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - // Code to execute when the button is clicked - String ipAddress = binding.ipaddress.getText().toString(); - if (!Utils.isValidIPAddressDomain(ipAddress)) { - Toast.makeText(getApplicationContext(), "Invalid IP address, domain", - Toast.LENGTH_SHORT).show(); - return; - } - String portNumber = binding.portNumber.getText().toString(); - if (!Utils.isValidPort(portNumber)) { - Toast.makeText(getApplicationContext(), "Invalid port number", - Toast.LENGTH_SHORT).show(); - return; - } - String reqMessage = binding.requestMessage.getText().toString(); - EditText result = binding.result; - result.setText(SendRequest(ipAddress, Integer.parseInt(portNumber), reqMessage)); + reqBtn.setOnClickListener(v -> { + // Code to execute when the button is clicked + String ipAddress = binding.ipaddress.getText().toString(); + if (!Utils.isValidIPAddressDomain(ipAddress)) { + Toast.makeText(getApplicationContext(), "Invalid IP address, domain", + Toast.LENGTH_SHORT).show(); + return; } + String portNumber = binding.portNumber.getText().toString(); + if (!Utils.isValidPort(portNumber)) { + Toast.makeText(getApplicationContext(), "Invalid port number", + Toast.LENGTH_SHORT).show(); + return; + } + String reqMessage = binding.requestMessage.getText().toString(); + EditText result = binding.result; + result.setText(SendRequest(ipAddress, Integer.parseInt(portNumber), reqMessage)); }); } From e744ecf3d3d933ad1139f8bf39ab9f6001d198df Mon Sep 17 00:00:00 2001 From: Kadir Date: Fri, 9 Jan 2026 21:49:13 +0300 Subject: [PATCH 5/5] refactor: Simplify regex for IP and domain validation Removes unnecessary escaping of the colon character in the regular expressions for IP address and domain name validation. The colon does not have a special meaning in this context and does not need to be escaped. --- android/app/src/main/java/com/sdk/socket/Utils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android/app/src/main/java/com/sdk/socket/Utils.java b/android/app/src/main/java/com/sdk/socket/Utils.java index e755bf6..d2532c6 100644 --- a/android/app/src/main/java/com/sdk/socket/Utils.java +++ b/android/app/src/main/java/com/sdk/socket/Utils.java @@ -5,12 +5,12 @@ public static boolean isValidIPAddressDomain(String input) { String ipPattern = "^((25[0-5]|2[0-4][0-9]|[0-1]?[0-9][0-9]?)\\.){3}" + "(25[0-5]|2[0-4][0-9]|[0-1]?[0-9][0-9]?)" + - "(\\:[0-9]{1,5})?$"; + "(:[0-9]{1,5})?$"; String domainPattern = "^(?!-)[A-Za-z0-9-]{1,63}(?