diff --git a/FLP_2.0.b4a b/FLP_2.0.b4a
index 1eaca92..8020201 100644
--- a/FLP_2.0.b4a
+++ b/FLP_2.0.b4a
@@ -22,7 +22,7 @@ Library6=firebasenotifications
Library7=fusedlocationprovider
Library8=gps
Library9=json
-ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~AddPermission(android.permission.ACCESS_FINE_LOCATION)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ ~\n~)~\n~~\n~CreateResource(xml, device_admin.xml,~\n~~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~~\n~)~\n~AddPermission(android.permission.SEND_SMS)~\n~AddPermission(android.permission.RECEIVE_SMS)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.READ_CALL_LOG)~\n~AddApplicationText(~\n~~\n~ ~\n~ )~\n~ ~\n~AddPermission(android.permission.RECEIVE_BOOT_COMPLETED)~\n~AddReceiverText(R_Test, ~\n~~\n~)
+ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~'End of default text.~\n~AddPermission(android.permission.ACCESS_FINE_LOCATION)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.FirebaseAnalytics)~\n~CreateResourceFromFile(Macro, FirebaseNotifications.FirebaseNotifications)~\n~SetServiceAttribute(Tracker, android:foregroundServiceType, "location")~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ ~\n~)~\n~~\n~CreateResource(xml, device_admin.xml,~\n~~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~~\n~)~\n~AddPermission(android.permission.SEND_SMS)~\n~AddPermission(android.permission.RECEIVE_SMS)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.READ_CALL_LOG)~\n~AddApplicationText(~\n~~\n~ ~\n~ )~\n~ ~\n~AddPermission(android.permission.RECEIVE_BOOT_COMPLETED)~\n~AddReceiverText(R_Test, ~\n~~\n~)
Module1=DBRequestManager
Module2=errorManager
Module3=FirebaseMessaging
@@ -40,7 +40,7 @@ Version=12.8
#Region Project Attributes
#ApplicationLabel: FLP 2.0
#VersionCode: 1
- #VersionName: 4.04.23
+ #VersionName: 4.05.10
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
@@ -133,18 +133,18 @@ End Sub
Sub b_pong_Click
CallSubDelayed(Tracker, "StartFLP")
- If laUbicacion.IsInitialized Then Subs.mandaLocAServer(laUbicacion, Starter.devModel.Trim)
+ If Starter.UUC.IsInitialized Then Subs.mandaLocAServer(Starter.UUC, Starter.devModel.Trim)
Dim params As Map = CreateMap("topic": FirebaseMessaging.Sprvsr,"title":"Prueba Trckr", "body":"Prueba Trckr", "d":Starter.devModel, "t":"pong")
CallSubDelayed2(FirebaseMessaging, "SendMessage",params)
If Starter.logger Then Log("Start wifi scan")
wifiS.startscan("WiFi", True)
- Wait For WiFi_ScanDone (Results() As String, Count As Int)
+ Wait For WiFi_ScanDone (Results() As String, Count As Int)
End Sub
Sub b_pong_LongClick
' copiaDB
CallSubDelayed(Tracker, "StartFLP")
- If laUbicacion.IsInitialized Then Subs.mandaLocAServer(laUbicacion, Starter.devModel.Trim)
+ If Starter.UUC.IsInitialized Then Subs.mandaLocAServer(Starter.UUC, Starter.devModel.Trim)
Dim params As Map = CreateMap("topic": FirebaseMessaging.Sprvsr,"title":"Prueba Trckr", "body":l_coords.Text, "d":Starter.devModel, "t":"au")
CallSubDelayed2(FirebaseMessaging, "SendMessage",params)
If Starter.logger Then Log("Start wifi scan")
@@ -187,7 +187,7 @@ End Sub
Sub chkPermisosEstadoTelefono
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE)
wait for Activity_PermissionResult(permission As String, result As Boolean)
- if starter.logger then Log("READ_PHONE_STATE: " & result)
+ If Starter.logger Then Log("READ_PHONE_STATE: " & result)
End Sub
Sub getSSID
diff --git a/FLP_2.0.b4a.meta b/FLP_2.0.b4a.meta
index 9f51368..ca1e512 100644
--- a/FLP_2.0.b4a.meta
+++ b/FLP_2.0.b4a.meta
@@ -21,13 +21,13 @@ ModuleBreakpoints9=
ModuleClosedNodes0=
ModuleClosedNodes1=
ModuleClosedNodes2=
-ModuleClosedNodes3=
+ModuleClosedNodes3=1,2,4
ModuleClosedNodes4=
ModuleClosedNodes5=
ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
-ModuleClosedNodes9=
-NavigationStack=Main,chkPermisosEstadoTelefono,150,0,FirebaseMessaging,fm_MessageArrived,94,0,FirebaseMessaging,SendMessage,127,0,FirebaseMessaging,mandaLocFM,150,0,Subs,mandaLoc2,197,0,Subs,borraArribaDeXXXBitacora,226,0,Starter,Service_Start,54,0,Subs,revisaYmandaUUC,254,2,NotificationService,NotiMon_NotificationPosted,69,0,Tracker,flp_LocationChanged,150,6
+ModuleClosedNodes9=2,3,4,5,6,7,8,9,10,11,12
+NavigationStack=Tracker,StopFLP,146,0,Subs,traeVar,332,6,Subs,actualizaVar,328,2,Subs,traeUltimaUbicacionGuardada,256,0,FirebaseMessaging,SubscribeToTopics,58,0,FirebaseMessaging,fm_MessageArrived,85,5,Subs,Process_Globals,15,3,Tracker,flp_LocationChanged,178,6,Subs,mandaLoc2,212,6,Main,getSSID,157,0
SelectedBuild=0
VisibleModules=7,3,9,4,8,5,6,2
diff --git a/FirebaseMessaging.bas b/FirebaseMessaging.bas
index 524c658..bd26b34 100644
--- a/FirebaseMessaging.bas
+++ b/FirebaseMessaging.bas
@@ -54,7 +54,7 @@ Sub Service_Create
End Sub
Public Sub SubscribeToTopics
-' fm.SubscribeToTopic("Trckr") 'Global (you can subscribe to more topics)
+ fm.SubscribeToTopic("Trckr") 'Global (you can subscribe to more topics)
fm.SubscribeToTopic("Trckr") 'Tracker Global
If Starter.logger Then Log("Subscrito a tracker global")
fm.SubscribeToTopic("Trckr-ML") 'Global (you can subscribe to more topics)
@@ -63,6 +63,9 @@ Public Sub SubscribeToTopics
If Starter.logger Then Log("Subscrito a "&Starter.devModel)
If Starter.logger Then Log(fm.token)
fm.UnsubscribeFromTopic("Sprvsr") 'Unsubscribe from topic
+' fm.UnsubscribeFromTopic("Trckr") 'Unsubscribe from topic
+' fm.UnsubscribeFromTopic("Trckr-ML") 'Unsubscribe from topic
+' fm.UnsubscribeFromTopic(Starter.devModel) 'Unsubscribe from topic
End Sub
Sub Service_Start (StartingIntent As Intent)
@@ -75,6 +78,7 @@ End Sub
Sub fm_MessageArrived (Message As RemoteMessage)
If Starter.logger Then Log("Message arrived")
+ If Starter.logger Then Log($"Message from: ${Message.From}"$)
If Starter.logger Then Log($"Message data: ${Message.GetData}"$)
Subs.getPhnId
Subs.getSSID
@@ -83,9 +87,11 @@ Sub fm_MessageArrived (Message As RemoteMessage)
If tipos.IndexOf("pu") <> -1 Or tipos.IndexOf("au") <> -1 Then 'Si es una peticion de ubicacion
If Starter.logger Then Log("Es una peticion de ubicacion")
If Starter.logger Then Log($"UUC: ${Starter.UUC.Latitude},${Starter.UUC.Longitude}"$)
- If Starter.UUC.Latitude <> 0.0 Then
- mandaLocFM(Starter.UUC)
- If Starter.logger Then LogColor($"Mandamos UUC: ${Starter.UUC.Latitude},${Starter.UUC.Longitude},${Subs.formatoFecha(Starter.UUC.Time)}"$, Colors.Magenta)
+ If Starter.UUC.IsInitialized And Starter.UUC.Latitude <> 0.0 Then
+' mandaLocFM(Starter.UUC)
+ Subs.actualizaVar("solicitudFM", 1)
+ If Starter.logger Then LogColor($"Llamamos mandaLoc2: ${Starter.UUC.Latitude},${Starter.UUC.Longitude},${Subs.formatoFecha(Starter.UUC.Time)}"$, Colors.Magenta)
+ Subs.mandaLoc2(Starter.UUC, Starter.devModel)
End If
locRequest="Activa"
If Starter.logger Then Log("Llamamos StartFLP")
diff --git a/NotificationService.bas b/NotificationService.bas
index eca65a0..c66becf 100644
--- a/NotificationService.bas
+++ b/NotificationService.bas
@@ -76,23 +76,24 @@ Sub NotiMon_NotificationPosted (SBN As StatusBarNotification)
Subs.revisaYmandaUUC
If Starter.logger Then LogColor(SBN.PackageName & " - " & SBN.Message, Colors.blue)
' Log("-= Notificacion recibida =-")
- If SBN.PackageName = "com.whatsapp" Then
+' If SBN.PackageName = "com.whatsapp" Then
' If logger Then LogColor(SBN.PackageName, Colors.Red)
' If logger Then LogColor("isGroupWA2: "&isGroupWA(SBN),Colors.Magenta)
' If logger Then LogColor("isPersonWA: "&isPersonWA(SBN),Colors.Magenta)
' If logger Then Log($"getGroupName: |${getGroupName(SBN.Title)}|"$)
' Si recibimos un mensaje con la palabra "donde", "Donde" o "bien", entonces mandamos la última ubicación conocida.
- If SBN.Message.Contains("donde") Or SBN.Message.Contains("Donde") Or SBN.Message.Contains("bien") Then 'Si el mensaje contiene "#NS" y tiene un segundo parametro ...
- If esMensajeWAValido(SBN) Then
- Subs.bitacora($"Recibimos notificación, pedimos actualización y mandamos UUC."$)
- Tracker.flp.RequestLocationUpdates(Tracker.locReqSmall)
+' If SBN.Message.Contains("donde") Or SBN.Message.Contains("Donde") Or SBN.Message.Contains("bien") Then 'Si el mensaje contiene "#NS" y tiene un segundo parametro ...
+' If esMensajeWAValido(SBN) Then
+' Subs.bitacora($"Recibimos notificación, pedimos actualización y mandamos UUC."$)
+ If Starter.logger Then LogColor($"Recibimos notificación, pedimos actualización y mandamos UUC."$, Colors.Green)
+ If Tracker.flp.IsInitialized Then Tracker.flp.RequestLocationUpdates(Tracker.locReqSmall)
Sleep(2000)
Private ultimaLoc As Location = Subs.traeUltimaUbicacionGuardada
Subs.mandaLoc2(ultimaLoc, Starter.devModel)
- End If
- End If
- End If
+' End If
+' End If
+' End If
End Sub
'Regresa verdadero si el mensaje de whatsapp es un mensaje valido.
diff --git a/Starter.bas b/Starter.bas
index 4341e46..b5e36b0 100644
--- a/Starter.bas
+++ b/Starter.bas
@@ -22,7 +22,6 @@ Sub Process_Globals
Dim run As Int = 0 'ignore
Dim devModel As String
Dim lastLocUpdate As String = 0
- Dim logger As Boolean = True
Dim errorLog As SQL
Dim PE As PhoneEvents
Dim PhId As PhoneId
@@ -31,7 +30,9 @@ Sub Process_Globals
Dim isIncoming As Boolean
Dim lastState As String = "IDLE"
Dim savedNumber As String
-
+ Dim locAntTime As String = "0"
+
+ Dim logger As Boolean = True
End Sub
Sub Service_Create
@@ -39,7 +40,6 @@ Sub Service_Create
'This is a good place to load resources that are not specific to a single activity.
Subs.revisaBD
CallSubDelayed(FirebaseMessaging, "SubscribeToTopics") 'Para FirebaseMessaging
-
lastState = "IDLE"
PE.InitializeWithPhoneState("PE",PhId)
End Sub
diff --git a/Subs.bas b/Subs.bas
index cb4b757..7e81d01 100644
--- a/Subs.bas
+++ b/Subs.bas
@@ -16,6 +16,8 @@ Sub Process_Globals
Dim gps_hist As SQL
Dim wifi As MLwifi
Dim ssid As String
+ Dim locAntTime As String = "0"
+ Dim solicitudFM As Int = 0
End Sub
Sub getPhnId 'Pone el valor de phn.Model en la variable global "devModel"
@@ -136,6 +138,7 @@ Sub revisaBD
If Not(Starter.errorLog.IsInitialized) Then Starter.errorLog.Initialize(File.DirInternal, "errorLog.db", True)
gps_hist.ExecNonQuery("CREATE TABLE IF NOT EXISTS BITACORA(RUTA TEXT, TEXTO TEXT, FECHA TEXT)")
gps_hist.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTA_GPS(FECHA INTEGER, LAT TEXT, LON TEXT, ACC INT, TIME INT)")
+ gps_hist.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_VARIABLES(NOMBRE TEXT, VALOR TEXT)")
End Sub
Sub getSSID
@@ -202,10 +205,32 @@ End Sub
'Manda la ubicacion al servidor de BD y a FirebaseMessage.
Sub mandaLoc2(loc As Location, id As String) 'ignore
- mandaLocAServer(loc, id)
- FirebaseMessaging.locRequest = "Activa"
- CallSubDelayed2(FirebaseMessaging, "mandaLocFM", loc)
- guardaInfoEnBD(loc)'Escribimos coordenadas y fecha a una bd
+ Private minsTranscurridosLoc As String = ticksAMins(loc.time - traeVar("locAntTime", 0)) 'Minutos transcurridos desde la ultima ubicacion ACTUALIZADA.
+ Private minsTranscurridos As String = ticksAMins(DateTime.Now - traeUltimaUbicacionGuardada.Time) 'Minutos transcurridos desde la ultima ubicacion guardada.
+ Dim el_texto As String = ""
+' If Starter.logger Then
+ LogColor("Guardada: " & minsTranscurridos & " mins., Actualizada: " & minsTranscurridosLoc & " mins.", Colors.green)
+ If traeVar("solicitudFM", 0) = 1 Or minsTranscurridos >= 3 Or minsTranscurridosLoc >= 3 Then ' Para que no mande mensajes constantes, minimo 1 minuto entre mensajes.
+' CallSubDelayed(Tracker,"CreateLocationRequest")
+ Tracker.flp.RequestLocationUpdates(Tracker.locReqNormal)
+ 'Solo mandamos la ubicacion si la precision es dentro de XX mts
+ el_texto = $"LocChange - Coords NO enviadas (Acc:${loc.Accuracy})."$
+ If loc.Accuracy < 50 Then
+' If Starter.logger Then
+ LogColor("Guardamos y enviamos ubicacion.", Colors.green)
+ mandaLocAServer(loc, id)
+ FirebaseMessaging.locRequest = "Activa"
+ CallSubDelayed2(FirebaseMessaging, "mandaLocFM", loc)
+ guardaInfoEnBD(loc)'Escribimos coordenadas y fecha a una bd
+ el_texto = $"LocChange - Coords enviadas (Acc:${loc.Accuracy})."$
+ End If
+ bitacora($"${el_texto}"$)
+ actualizaVar("solicitudFM", 0)
+' ToastMessageShow("LocChanged MORE than a min.", False)
+ Else
+' ToastMessageShow("Locatin changed but less than a min!.", False)
+ End If
+ actualizaVar("locAntTime", loc.time)
End Sub
Sub ConvertMillisecondsToString(t As Long) As String 'ignore
@@ -239,10 +264,10 @@ End Sub
'Regresa la ultima ubicacion guardada o una ubicacion sin inicializar si no encuentra nada.
Sub traeUltimaUbicacionGuardada As Location 'ignore
Private loc As Location
+ loc.Initialize
Private c As Cursor = gps_hist.ExecQuery($"select FECHA, LAT, LON, ACC, TIME from RUTA_GPS order by fecha desc limit 1"$)
If c.RowCount > 0 Then
c.Position = 0
- loc.Initialize
loc.Latitude = c.GetString("LAT")
loc.Longitude = c.GetString("LON")
loc.Accuracy = 0
@@ -307,3 +332,19 @@ Sub revisaYmandaUUC
' LogColor($"Ultima loc: ${Subs.fechaNormal(ultimaLoc.Time)}"$, Colors.blue)
End If
End Sub
+
+Sub actualizaVar(nombre As String, valor As String)
+ gps_hist.ExecNonQuery($"delete from CAT_VARIABLES where NOMBRE = '${nombre}'"$)
+ gps_hist.ExecNonQuery($"insert into CAT_VARIABLES (NOMBRE, VALOR) values ('${nombre}', '${valor}')"$)
+End Sub
+
+'Regresa el valor desde CAT_VARIABLES o del default espacificado en DEFAULT
+Sub traeVar(nombre As String, default As String) As String
+ Private v As String = default
+ Private c As Cursor = gps_hist.ExecQuery2("select VALOR from CAT_VARIABLES WHERE NOMBRE = ?", Array As String (nombre))
+ If c.RowCount > 0 Then
+ c.Position = 0
+ v = c.GetString("VALOR")
+ End If
+ Return v
+End Sub
\ No newline at end of file
diff --git a/Tracker.bas b/Tracker.bas
index 6363d5a..2802b86 100644
--- a/Tracker.bas
+++ b/Tracker.bas
@@ -40,7 +40,7 @@ Sub Process_Globals
Private flpStarted As Boolean
Dim minAccuracy As Int = 50
Dim killerCalled As Int = 0
- Dim locReqSmall As LocationRequest
+ Dim locReqSmall, locReqNormal As LocationRequest
End Sub
Sub Service_Create
@@ -50,12 +50,13 @@ Sub Service_Create
flp.Connect
lock.PartialLock
StartFLP
- If Starter.logger Then Log("FLP initialized")
+' If Starter.logger Then Log("FLP initialized")
Subs.bitacora($"Iniciamos Tracker"$)
End Sub
Sub Service_Start (StartingIntent As Intent)
locReqSmall = CreateLocationRequest2(1000, 0) 'ignore
+ locReqNormal = CreateLocationRequest2(30000, 30) 'ignore
Service.StopAutomaticForeground
Service.StartForeground(nid, Subs.CreateNotification("..."))
Track
@@ -81,7 +82,7 @@ Sub flpReConnect
End Sub
Sub flp_ConnectionSuccess
- If Starter.logger Then Log("FLP - Connected to location provider")
+' If Starter.logger Then Log("FLP - Connected to location provider")
Subs.bitacora("FLP - Connection Success")
End Sub
@@ -106,7 +107,7 @@ Public Sub StartFLP
Private cont As Int = 0
Do While flp.IsConnected = False
Sleep(500)
- If Starter.logger Then Log($"FLP Sleeping - ${cont}"$)
+' If Starter.logger Then Log($"FLP Sleeping - ${cont}"$)
Subs.bitacora($"Sleeping - ${cont}"$)
cont = cont + 1
If cont > 70 Then
@@ -151,31 +152,37 @@ Public Sub StopFLP
End Sub
Sub flp_LocationChanged (Location1 As Location)
- If Starter.logger Then LogColor($"Location Changed - Acc: ${Location1.Accuracy}"$, Colors.blue)
- Private minsTranscurridos As String = Subs.ticksAMins(DateTime.Now - Subs.traeUltimaUbicacionGuardada.Time) 'Minutos transcurridos desde la ultima ubicacion guardada.
- If Starter.logger Then LogColor(">>>>>>>>>>>>>>>>>>>>>>> " & minsTranscurridos, Colors.red)
- If Not(IsPaused(Main)) Then
- Main.laUbicacion = Location1
- If Starter.logger Then Log("Main.laubicacion actializada")
- End If
- Dim el_texto As String = ""
Starter.UUC = Location1
- If Starter.logger Then LogColor("FLP_LocationChanged", Colors.Red)
- If Starter.logger Then Log(Location1.Accuracy&" - "&Location1.AccuracyValid)
- If minsTranscurridos > 1 Then ' Para que no mande mensajes constantes, minimo 1 minuto entre mensajes.
- flp.RequestLocationUpdates(CreateLocationRequest)
- 'Solo mandamos la ubicacion si la precision es dentro de XX mts
- el_texto = $"LocChange - Coords NO enviadas (Acc:${Location1.Accuracy})."$
- If Location1.Accuracy < minAccuracy Then
- Subs.mandaLoc2(Location1, Starter.devModel)
- el_texto = $"LocChange - Coords enviadas (Acc:${Location1.Accuracy})."$
- End If
- ' If Starter.logger Then Log("Loc changed : "&Location1.Latitude&","&Location1.Longitude&"|"&Starter.devModel&"|")
- Subs.bitacora($"${el_texto}"$)
-' ToastMessageShow("LocChanged MORE than a min.", False)
- Else
-' ToastMessageShow("Locatin changed but less than a min!.", False)
- End If
+' If Starter.logger Then LogColor("FLP_LocationChanged", Colors.Red)
+ If Starter.logger Then LogColor($"FLP_LocationChanged - Acc: ${Location1.Accuracy}"$, Colors.Red)
+ Private vel As String = (Location1.Speed * 60 * 60) / 1000 ' Kms x hora de ultima ubicacion.
+' If Starter.logger Then Log((Location1.time & " - " & Starter.locAntTime))
+ If Starter.logger Then Log(((Location1.time - Subs.traeVar("locAntTime", 0)) / 1000) & " segs")
+' Private minsTranscurridosLoc As String = Subs.ticksAMins(Location1.time - Starter.locAntTime) 'Minutos transcurridos desde la ultima ubicacion ACTUALIZADA.
+' Private minsTranscurridos As String = Subs.ticksAMins(DateTime.Now - Subs.traeUltimaUbicacionGuardada.Time) 'Minutos transcurridos desde la ultima ubicacion guardada.
+' If Starter.logger Then LogColor(">>>>>>>> Guardada: " & minsTranscurridos & " mins., Actualizada: " & minsTranscurridosLoc & " mins.", Colors.red)
+' If Not(IsPaused(Main)) Then
+' Main.laUbicacion = Location1 ' Actualizamos la etiqueta de ubicacion en la pantalla principal.
+' If Starter.logger Then Log("Main.laubicacion actializada")
+' End If
+' Dim el_texto As String = ""
+' If Starter.logger Then Log(Location1.Accuracy&" - "&Starter.UUC.AccuracyValid)
+' If minsTranscurridosLoc > 1 Or minsTranscurridos >= 15 Then ' Para que no mande mensajes constantes, minimo 1 minuto entre mensajes.
+' flp.RequestLocationUpdates(CreateLocationRequest)
+' 'Solo mandamos la ubicacion si la precision es dentro de XX mts
+' el_texto = $"LocChange - Coords NO enviadas (Acc:${Location1.Accuracy})."$
+' If Location1.Accuracy < minAccuracy Then
+' If Starter.logger Then LogColor("Guardamos y enviamos ubicacion.", Colors.green)
+ Subs.mandaLoc2(Location1, Starter.devModel)
+' el_texto = $"LocChange - Coords enviadas (Acc:${Location1.Accuracy})."$
+' End If
+' ' If Starter.logger Then Log("Loc changed : "&Location1.Latitude&","&Location1.Longitude&"|"&Starter.devModel&"|")
+' Subs.bitacora($"${el_texto}"$)
+'' ToastMessageShow("LocChanged MORE than a min.", False)
+' Else
+'' ToastMessageShow("Locatin changed but less than a min!.", False)
+' End If
+' Subs.actualizaVar("locAntTime", Location1.time)
End Sub
Sub flp_ConnectionSuspended(SuspendedCause1 As Int)