From 21334a28feeb01a78aa4d61579779ade68126d34 Mon Sep 17 00:00:00 2001 From: davixdedem Date: Thu, 26 Sep 2024 14:34:43 +0200 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- app/build.gradle.kts | 4 +- .../magix/pistarlink/ui/home/HomeFragment.kt | 61 +++++++++++++++++++ app/src/main/res/values/strings.xml | 2 +- 3 files changed, 64 insertions(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index e22dd7d..b31c1c6 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -13,8 +13,8 @@ android { applicationId = "com.magix.pistarlink" minSdk = 34 targetSdk = 34 - versionCode = 4 - versionName = "Pi-Starlink-0.0.4-Nebula" + versionCode = 6 + versionName = "Pi-Starlink-0.0.6-Nebula" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/com/magix/pistarlink/ui/home/HomeFragment.kt b/app/src/main/java/com/magix/pistarlink/ui/home/HomeFragment.kt index 43a72f1..482f758 100644 --- a/app/src/main/java/com/magix/pistarlink/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/magix/pistarlink/ui/home/HomeFragment.kt @@ -2706,7 +2706,11 @@ class HomeFragment : Fragment() { binding.layoutDns.contentLayout.setBackgroundResource(R.drawable.border) } else{ + dbHandler.addConfiguration("is_ddns_set", "1") dbHandler.updateConfiguration("is_ddns_set", "1") + + dbHandler.addConfiguration("lastDDNS", hostname) + dbHandler.updateConfiguration("lastDDNS", hostname) } /* Update resources */ @@ -3025,6 +3029,7 @@ class HomeFragment : Fragment() { } else{ val lastDDNS = dbHandler.getConfiguration("lastDDNS") + println("lastDDNS is $lastDDNS") if (lastDDNS != null) { if (lastDDNS != "N/D" && lastDDNS != "" ) { binding.layoutDns.cardTitle.text = "DDNS" @@ -3033,6 +3038,11 @@ class HomeFragment : Fragment() { binding.layoutDns.contentLayout.background = null } } + else{ + binding.layoutDns.cardTitle.text = "DDNS" + binding.layoutDns.cardDescription.text = "You haven't set up a DDNS yet." + binding.layoutDns.contentLayout.setBackgroundResource(R.drawable.border) + } } } @@ -4235,6 +4245,57 @@ class HomeFragment : Fragment() { } } } + else{ + Log.d("VPN-Handler", "No DDNS has been set up, proceeding without.") + val executor = Executors.newSingleThreadExecutor() + context?.let { + val vpnList = listVPNs() + if (vpnList.isNotEmpty()) { + val matchingProfile = vpnList.find { it.contains("Pi-Starlink") } + if (matchingProfile != null) { + profileUUID = matchingProfile.split(":").getOrNull(1)?.trim() + if (profileUUID != null) { + profileUUID?.let { + dbHandler.updateConfiguration( + "lastUUID", + it + ) + Log.d("VPN-Handler", "Updating the last VPN sync.") + val currentTimeStamp = System.currentTimeMillis().toString() + dbHandler.updateConfiguration("lastVPNSync", currentTimeStamp) + Log.d( + "VPN-Handler", + "All done! Connecting to VPN with UUID: $profileUUID." + ) + + /*Avoid OpenVPN For Android bug, check if is the first time*/ + val isFirstVPN = dbHandler.getConfiguration("isFirstVPN") + Log.d("VPN-Handler", "isFirstVPN: $isFirstVPN") + if (isFirstVPN != null) { + if (isFirstVPN == "0") { + connectVPN(profileUUID!!) + } else if (isFirstVPN == "1") { + Log.d( + "VPN-Handler", + "This is the first VPN activation ever." + ) + //startOpenVPNProfile(context!!,"Pi-Starlink") + dbHandler.updateConfiguration("isFirstVPN", "0") + connectVPN(profileUUID!!) + } + } + } + } else { + Log.e("VPN-Handler", "instance of profileUUID is null.") + } + } else { + Log.e("VPN-Handler", "No one of the profiles contain 'Pi-Starlink'") + } + } else { + Log.e("VPN-Handler", "The vpn list is empty.") + } + } + } } else { Log.d("VPN-Handler", "No DDNS has been set up, proceeding without.") val executor = Executors.newSingleThreadExecutor() diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 57aa95a..c8aecc6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -33,7 +33,7 @@ System Memory Storage - For more information, visit \nhttps://github.com/davixdedem/Pi-Starlink. + For more information, visit \nhttps://github.com/davixdedem/Pi-Starlink Hey folks, I\'m Davide: a Software Engineer with a passion for Cyber Security coming from the beautiful country of Italy.\n\n