mirror of
https://github.com/KeymonSoft/Guna_Reparto_Imp.git
synced 2026-04-19 21:59:31 +00:00
...
This commit is contained in:
127
B4A/Tracker.bas
127
B4A/Tracker.bas
@@ -192,47 +192,116 @@ Public Sub StopFLP
|
||||
End Sub
|
||||
|
||||
Sub flp_LocationChanged (Location1 As Location)
|
||||
Starter.trackerActividad = Subs.fechaKMT(DateTime.Now)
|
||||
UUGCoords = Location1
|
||||
' If Main.logger Then Log("SmallestDisplacement="&actualLR.GetSmallestDisplacement)
|
||||
CallSub2(Starter, "GPS_LocationChanged", Location1)
|
||||
' CallSub2(gestion, "GPS_LocationChanged", Location1)
|
||||
' CallSubDelayed2(gestion, "GPS_LocationChanged", Location1)
|
||||
' Starter.trackerActividad = Subs.fechaKMT(DateTime.Now)
|
||||
' UUGCoords = Location1
|
||||
'' If Main.logger Then Log("SmallestDisplacement="&actualLR.GetSmallestDisplacement)
|
||||
' CallSub2(Starter, "GPS_LocationChanged", Location1)
|
||||
'' CallSub2(gestion, "GPS_LocationChanged", Location1)
|
||||
'' CallSubDelayed2(gestion, "GPS_LocationChanged", Location1)
|
||||
' B4XPages.MainPage.lat_gps = Location1.Latitude
|
||||
' B4XPages.MainPage.lon_gps = Location1.Longitude
|
||||
''/////// para la ultima ubicacion FL
|
||||
' Dim sDate,sTime As String
|
||||
' DateTime.DateFormat = "MM/dd/yyyy"
|
||||
' sDate=DateTime.Date(DateTime.Now)
|
||||
' sTime=DateTime.Time(DateTime.Now)
|
||||
' Try
|
||||
' Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
|
||||
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
|
||||
' Catch
|
||||
' If B4XPages.MainPage.logger Then Log("Error al borrar o insertar nuevas coordendas en HIST_GPS")
|
||||
' End Try
|
||||
''///////
|
||||
' Dim coords As String = Location1.Latitude&","&Location1.Longitude&","&formatoFecha(Location1.Time)
|
||||
' Log("Loc changed : "&Location1.Latitude&","&Location1.Longitude)
|
||||
' If B4XPages.MainPage.logger Then Log("Mandamos Ubicacion")
|
||||
' If B4XPages.MainPage.logger Then Log(locRequest)
|
||||
' ' Solo mandamos la ubicacion si la precision es menor a XX mts
|
||||
' If Location1.Accuracy < 100 Then
|
||||
' Subs.guardaInfoEnBD(coords)'Escribimos coordenadas y fecha en BD
|
||||
'' CallSubDelayed2(FirebaseMessaging,"mandamosLoc",coords)
|
||||
' Subs.mandamosLoc(coords)
|
||||
' End If
|
||||
' Dim origFormat As String = DateTime.TimeFormat 'Guardamos formato de fecha
|
||||
' DateTime.TimeFormat = "HHmmss" ' Modificamos formato de fecha
|
||||
' Dim minsDif As Int = DateTime.Time(DateTime.Now) - B4XPages.MainPage.ultimaActualizacionGPS
|
||||
'' If Main.logger Then Log("UltimaAct="&Main.ultimaActualizacionGPS&" MinsDif="&minsDif)
|
||||
' If Location1.Accuracy < 100 And minsDif > 240 Then 'Si precision de 100 y 4 min transcurridos manda a web
|
||||
' If B4XPages.MainPage.logger Then Log("actualizamos Ubicacion Web")
|
||||
' CallSubDelayed(Starter, "ENVIA_ULTIMA_GPS")
|
||||
' End If
|
||||
' DateTime.TimeFormat = origFormat 'Regresamos formato de fecha original
|
||||
' 'Revisamos servicios
|
||||
' Subs.monitor
|
||||
|
||||
' ToastMessageShow("Loc changed", False)
|
||||
' Log($"Loc changed:${Location1.Longitude},${Location1.Latitude}"$)
|
||||
B4XPages.MainPage.lat_gps = Location1.Latitude
|
||||
B4XPages.MainPage.lon_gps = Location1.Longitude
|
||||
'/////// para la ultima ubicacion FL
|
||||
UUGCoords = Location1
|
||||
' Log("SmallestDisplacement="&actualLR.GetSmallestDisplacement)
|
||||
' If DateTime.Now > LastUpdateTime + 10 * DateTime.TicksPerSecond Then
|
||||
' Dim n As Notification = CreateNotification($"$2.5{Location1.Latitude} / $2.5{Location1.Longitude}"$)
|
||||
' n.Notify(nid)
|
||||
' LastUpdateTime = DateTime.Now
|
||||
' End If
|
||||
'/////// para la ultima localización FL
|
||||
Dim sDate,sTime As String
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
Try
|
||||
Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
|
||||
Catch
|
||||
If B4XPages.MainPage.logger Then Log("Error al borrar o insertar nuevas coordendas en HIST_GPS")
|
||||
End Try
|
||||
'///////
|
||||
' If Not(Starter.skmt.IsInitialized) Then Starter.skmt.Initialize(Starter.ruta,"kmt.db", True)
|
||||
' Try
|
||||
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
|
||||
' B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
|
||||
' Catch
|
||||
' LogColor(LastException, Colors.Red)
|
||||
' End Try
|
||||
'///////
|
||||
Dim coords As String = Location1.Latitude&","&Location1.Longitude&","&formatoFecha(Location1.Time)
|
||||
Log("Loc changed : "&Location1.Latitude&","&Location1.Longitude)
|
||||
If B4XPages.MainPage.logger Then Log("Mandamos Ubicacion")
|
||||
If B4XPages.MainPage.logger Then Log(locRequest)
|
||||
' Log("Loc changed : "&Location1.Latitude&","&Location1.Longitude&"|"&B4XPages.MainPage.usuario&"|")
|
||||
' Log("Mandamos Ubicacion")
|
||||
' Log(FirebaseMessaging.locRequest)
|
||||
' Solo mandamos la ubicacion si la precision es menor a XX mts
|
||||
If Location1.Accuracy < 100 Then
|
||||
Subs.guardaInfoEnBD(coords)'Escribimos coordenadas y fecha en BD
|
||||
' CallSubDelayed2(FirebaseMessaging,"mandamosLoc",coords)
|
||||
Subs.mandamosLoc(coords)
|
||||
End If
|
||||
Dim origFormat As String = DateTime.TimeFormat 'Guardamos formato de fecha
|
||||
DateTime.TimeFormat = "HHmmss" ' Modificamos formato de fecha
|
||||
Dim minsDif As Int = DateTime.Time(DateTime.Now) - B4XPages.MainPage.ultimaActualizacionGPS
|
||||
' If Main.logger Then Log("UltimaAct="&Main.ultimaActualizacionGPS&" MinsDif="&minsDif)
|
||||
If Location1.Accuracy < 100 And minsDif > 240 Then 'Si precision de 100 y 4 min transcurridos manda a web
|
||||
If B4XPages.MainPage.logger Then Log("actualizamos Ubicacion Web")
|
||||
CallSubDelayed(Starter, "ENVIA_ULTIMA_GPS")
|
||||
|
||||
CallSub2(Starter, "GPS_LocationChanged", Location1)
|
||||
CallSub2(B4XPages.MainPage.cliente, "GPS_LocationChanged", Location1)
|
||||
' CallSub2(gestion, "GPS_LocationChanged", Location1)
|
||||
If B4XPages.MainPage.cliente.IsInitialized Then
|
||||
CallSub2(B4XPages.GetPage("Cliente"), "GPS_LocationChanged", Location1)
|
||||
End If
|
||||
DateTime.TimeFormat = origFormat 'Regresamos formato de fecha original
|
||||
'Revisamos servicios
|
||||
Subs.monitor
|
||||
' CallSub2(nuevocliente, "GPS_LocationChanged", Location1)
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub StartFLP2
|
||||
Private logger As Boolean = True
|
||||
If logger Then Log("StartFLP2 - flpStarted="&flpStarted)
|
||||
Do While FLP.IsConnected = False
|
||||
Sleep(500)
|
||||
If logger Then Log("kll - sleeping")
|
||||
Loop
|
||||
dameUltimaUbicacionConocida 'Regresamos ultima ubicacion conocida
|
||||
FLP.RequestLocationUpdates(CreateLocationRequest2) 'Buscamos ubicacion 2 peticiones
|
||||
If logger Then LogColor("Buscamos ubicacion (movimientoMinimo = "&actualLR.GetSmallestDisplacement&")", Colors.Magenta)
|
||||
' If logger Then Log(actualLR.GetSmallestDisplacement)
|
||||
End Sub
|
||||
|
||||
Private Sub CreateLocationRequest2 As LocationRequest
|
||||
Private logger As Boolean = True
|
||||
If logger Then Log("Iniciamos CreateLocationRequest2")
|
||||
Dim lr As LocationRequest
|
||||
lr.Initialize
|
||||
lr.SetInterval(1000) 'Intervalo deseado para actualizaciones de ubicacion
|
||||
lr.SetFastestInterval(lr.GetInterval / 2) 'Intervalo minimo para actualizaciones de ubicacion
|
||||
lr.setNumUpdates(2) 'Solicitamos solo 2 actualizaciones con estos parametros
|
||||
lr.SetSmallestDisplacement(1) 'Solo registra cambio de ubicacion si es mayor a XX mts
|
||||
lr.SetPriority(lr.Priority.PRIORITY_HIGH_ACCURACY)
|
||||
actualLR=lr
|
||||
Return lr
|
||||
End Sub
|
||||
|
||||
Sub CreateNotification (Body As String) As Notification 'ignore
|
||||
|
||||
Reference in New Issue
Block a user