B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Service
Version=10.2
@EndOfDesignText@
#Region  Service Attributes 
	#StartAtBoot: False
	#ExcludeFromLibrary: True
#End Region

Sub Process_Globals
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.
	Public rp As RuntimePermissions
	Private BTAdmin As BluetoothAdmin
	Dim MAC_IMPRESORA As String
	Public BluetoothState As Boolean
	Public rp As RuntimePermissions
	Public FLP As FusedLocationProvider
	Dim Timer1 As Timer
	Dim Interval As Int = 300
	Private flpStarted As Boolean
	Dim DBReqServer As String = "http://keymon.lat:1782"
End Sub

Sub Service_Create
	'This is the program entry point.
	'This is a good place to load resources that are not specific to a single activity.
'	g.Initialize("GPS")
	CallSubDelayed(FirebaseMessaging, "SubscribeToTopics")
	BTAdmin.Initialize("admin")
'	serial.Initialize("serial")
	If BTAdmin.IsEnabled = False Then
		If BTAdmin.Enable = False Then
			ToastMessageShow("Error enabling Bluetooth adapter.", True)
		Else
			ToastMessageShow("Enabling Bluetooth adapter...", False)
		End If
	Else
		BluetoothState = True
	End If
	Timer1.Initialize("Timer1", Interval * 1000)
	Timer1.Enabled = True
End Sub

Sub Service_Start (StartingIntent As Intent)
	Service.StopAutomaticForeground 'Starter service can start in the foreground state in some edge cases.
'	Dim sDate,sTime As String
'	DateTime.DateFormat = "yyyyMMdd"
'	sDate=DateTime.Date(DateTime.Now)
'	If sDate > "20220303" Then
'		Msgbox("INSTALAR NUEVO APK" ,"AVISO") 'Ignore
'		ExitApplication
'	End If
'	CallSubDelayed(Main, "copiaDB")
End Sub

Private Sub BTAdmin_StateChanged (NewState As Int, OldState As Int)
	If Main.logger Then Log("BT state changed: " & NewState)
	BluetoothState = NewState = BTAdmin.STATE_ON
'	StateChanged
End Sub

Private Sub Timer1_Tick
'	ToastMessageShow("Timer",False)
	If Main.logger Then Log("Siguiente actuaizacion " & DateTime.Time(DateTime.Now + Interval * 1000))
	ENVIA_ULTIMA_GPS
End Sub

Private Sub StateChanged
'	btnSearchForDevices.Enabled = BluetoothState
'	btnAllowConnection.Enabled = BluetoothState
'	ChatPage1.btnSend.Enabled = ConnectionState
End Sub

Sub GPS_LocationChanged (Location1 As Location)
	If Main.logger Then Log("Starter GPS_LocationChanged")
	CallSub2(Main, "GPS_LocationChanged", Location1)
End Sub

Sub Service_TaskRemoved
	'This event will be raised when the user removes the app from the recent apps list.
	Timer1.Enabled=False
End Sub

'Return true to allow the OS default exceptions handler to handle the uncaught exception.
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
	Return True
End Sub

Sub Service_Destroy
'	StopGps
	Timer1.Enabled=False
End Sub

Sub ENVIA_ULTIMA_GPS
	Log("Iniciamos ENVIA_ULTIMA_GPS")
	Dim skmt As SQL
	Dim cmd As DBCommand
	Dim reqManager As DBRequestManager
	DateTime.TimeFormat = "HHmmss"
	Main.ultimaActualizacionGPS = DateTime.Time(DateTime.Now)
	reqManager.Initialize(Me, DBReqServer)
	skmt.Initialize(Main.ruta,"kmt.db", True)
	cmd.Initialize
	cmd.Name = "select_fechat"
	reqManager.ExecuteQuery(cmd , 0, "fechat")
	Dim cmd As DBCommand
	cmd.Initialize
	cmd.Name = "UPDATE_DURK_ACTUAL2_GPS"
	cmd.Parameters = Array As Object(Main.montoActual,Main.clientestotal, Main.clientesventa,Main.clientesvisitados,Main.lat_gps,Main.lon_gps,Main.batt,0, 0, 0,Main.ALMACEN,Main.rutapreventa)
	reqManager.ExecuteCommand(cmd,"inst_visitas")
	skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ?  WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso"))
'	Log("Ruta="&Main.rutapreventa)

	'Reiniciamos el timer para cuando llamamos el Sub desde "seleccion"
	Timer1.Enabled = False
	Timer1.Interval = Interval * 1000
	Timer1.Enabled = True
End Sub