Browse Source

widget work completed

Khubaib 1 year ago
parent
commit
7e05fac657

+ 1 - 1
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/HomeScreen.kt

@@ -399,7 +399,7 @@ fun Home(
                     var ipInfo = homeViewModel.mutableLiveDataIpInfo.observeAsState().value?.query
                     ipInfo = if (isConnect == App.CONNECTED) serverObj?.ip.toString() else serverDis?.query
                     AddText(
-                        text = "IP $ipInfo",
+                        text = "IP ${ipInfo ?: ""}",
                         size = 18.sp,
                         color = MaterialTheme.colorScheme.primary,
                         style = MaterialTheme.typography.customTypography.headlineLarge

+ 8 - 8
app/src/main/java/com/vpn/fastestvpnservice/utils/WireGuardService.kt

@@ -136,7 +136,7 @@ class WireGuardService : Service(), VpnStatus.StateListener {
                 else if (basePreferenceHelper.getProtocol().title.contentEquals(AppEnum.IKEV2_PROTOCOL.key))
                 {
 
-                    basePreferenceHelper.getServerObject().let { server ->
+                    basePreferenceHelper.getConnectedServer().let { server ->
 
                             /*Connect IKEV2*/
                             Log.d("test wid onstart", "IKEv2 Connection")
@@ -475,8 +475,8 @@ class WireGuardService : Service(), VpnStatus.StateListener {
                     .build()
             ).addPeer(
                 App.peerBuilder.addAllowedIp(InetNetwork.parse("0.0.0.0/0"))
-                    .setEndpoint(InetEndpoint.parse(prefHelper.getServerObject()!!.dns + ":51820"))
-                    .parsePublicKey(prefHelper.getServerObject()!!.wg_key)
+                    .setEndpoint(InetEndpoint.parse(prefHelper.getConnectedServer()!!.dns + ":51820"))
+                    .parsePublicKey(prefHelper.getConnectedServer()!!.wg_key)
                     .build()
             )
             builder
@@ -513,8 +513,8 @@ class WireGuardService : Service(), VpnStatus.StateListener {
                     .build()
             ).addPeer(
                 App.peerBuilder.addAllowedIp(InetNetwork.parse("0.0.0.0/0"))
-                    .setEndpoint(InetEndpoint.parse(prefHelper.getServerObject()!!.dns + ":51820"))
-                    .parsePublicKey(prefHelper.getServerObject()!!.wg_key)
+                    .setEndpoint(InetEndpoint.parse(prefHelper.getConnectedServer()!!.dns + ":51820"))
+                    .parsePublicKey(prefHelper.getConnectedServer()!!.wg_key)
                     .build()
             )
             builder
@@ -551,8 +551,8 @@ class WireGuardService : Service(), VpnStatus.StateListener {
                     .build()
             ).addPeer(
                 App.peerBuilder.addAllowedIp(InetNetwork.parse("0.0.0.0/0"))
-                    .setEndpoint(InetEndpoint.parse(prefHelper.getServerObject()!!.dns + ":51820"))
-                    .parsePublicKey(prefHelper.getServerObject()!!.wg_key)
+                    .setEndpoint(InetEndpoint.parse(prefHelper.getConnectedServer()!!.dns + ":51820"))
+                    .parsePublicKey(prefHelper.getConnectedServer()!!.wg_key)
                     .build()
             )
             builder
@@ -627,7 +627,7 @@ class WireGuardService : Service(), VpnStatus.StateListener {
         Log.d("wg test s notify", "startNotification")
 
         basePreferenceHelper = BasePreferenceHelper(applicationContext)
-        val server = basePreferenceHelper.getServerObject()
+        val server = basePreferenceHelper.getConnectedServer()
 
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
             val channelId = "FastestVPN_Foreground"

+ 7 - 6
app/src/main/java/com/vpn/fastestvpnservice/widgets/SimpleAppWidget.kt

@@ -79,7 +79,7 @@ class SimpleAppWidget() : AppWidgetProvider(), VPNConnectionCallBacks {
         {
 //            val random = Random().nextInt(601) + 200
             views.setImageViewResource(R.id.ivLogo, R.drawable.logo_spark_disconnected)
-            val serverObj = basePreferenceHelper.getServerObject()
+            val serverObj = basePreferenceHelper.getConnectedServer() ?: basePreferenceHelper.getRecommendedServerObject()
             val serverName = serverObj?.server_name ?: serverObj?.name
 
             views.setViewVisibility(R.id.fl_ivLogo, View.VISIBLE)
@@ -204,7 +204,7 @@ class SimpleAppWidget() : AppWidgetProvider(), VPNConnectionCallBacks {
 
             context?.let {
 
-            val serverObj = basePreferenceHelper?.getServerObject()
+            val serverObj = basePreferenceHelper?.getConnectedServer() ?: basePreferenceHelper?.getRecommendedServerObject()
 
             val appWidgetManager: AppWidgetManager = AppWidgetManager.getInstance(it)
             val remoteViews = RemoteViews(context.packageName, R.layout.simple_app_widget)
@@ -212,7 +212,8 @@ class SimpleAppWidget() : AppWidgetProvider(), VPNConnectionCallBacks {
 
 //            remoteViews.setTextViewText(R.id.tvServerName, serverObj?.server_name)
 
-            basePreferenceHelper?.setServerObject(serverObj)
+//            basePreferenceHelper?.setServerObject(serverObj)
+            basePreferenceHelper?.setConnectedServer(serverObj)
 
             val status = isForegroundServiceRunning(context, WireGuardService::class.java)
 
@@ -419,7 +420,7 @@ class SimpleAppWidget() : AppWidgetProvider(), VPNConnectionCallBacks {
             remoteViews.setTextViewText(R.id.tvWidget, "Connecting...")
             remoteViews.setTextColor(R.id.tvWidget, context.resources.getColor(R.color.white_half))
 
-            val serverObj = basePreferenceHelper.getServerObject()
+            val serverObj = basePreferenceHelper.getConnectedServer() ?: basePreferenceHelper.getRecommendedServerObject()
             val serverName = serverObj?.server_name ?: serverObj?.name
             serverName?.let {
                 remoteViews.setTextViewText(R.id.tvServerName, it)
@@ -473,7 +474,7 @@ class SimpleAppWidget() : AppWidgetProvider(), VPNConnectionCallBacks {
             remoteViews.setTextViewText(R.id.tvWidget, "Connected")
             remoteViews.setTextColor(R.id.tvWidget, Color.parseColor("#fdb900"))
 
-            val serverObj = basePreferenceHelper.getServerObject()
+            val serverObj = basePreferenceHelper.getConnectedServer() ?: basePreferenceHelper.getRecommendedServerObject()
             val serverName = serverObj?.server_name ?: serverObj?.name
             serverName?.let {
                 remoteViews.setTextViewText(R.id.tvServerName, it)
@@ -527,7 +528,7 @@ class SimpleAppWidget() : AppWidgetProvider(), VPNConnectionCallBacks {
             remoteViews.setTextViewText(R.id.tvWidget, "Disconnected")
             remoteViews.setTextColor(R.id.tvWidget, context.resources.getColor(R.color.white_half))
 
-            val serverObj = basePreferenceHelper.getServerObject()
+            val serverObj = basePreferenceHelper.getConnectedServer() ?: basePreferenceHelper.getRecommendedServerObject()
 
             val serverName = serverObj?.server_name ?: serverObj?.name