mirror of
https://github.com/cheveguerra/FLP_2.0.git
synced 2026-04-17 19:36:42 +00:00
- Se paso la logica y restricciones de Tracker.FLP_LocationChanged a Subs.mandaLoc2.
- Se puso que con cualquier notificacion revise si puede mandar la ubicacion. - Se puso que cuando se solicite la ubicacion con FirebaseMessaging, se mande tambien a PUSH_INFO.
This commit is contained in:
51
Subs.bas
51
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
|
||||
Reference in New Issue
Block a user