diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas
index c42d1ca..775e250 100644
--- a/B4A/B4XMainPage.bas
+++ b/B4A/B4XMainPage.bas
@@ -24,6 +24,7 @@ Version=9.85
Sub Class_Globals
Private Root As B4XView
Private xui As XUI
+ Dim s As C_Subs
Public login As B4XMainPage
Public principal As C_Principal
Public clientes As C_Clientes
@@ -59,7 +60,7 @@ Sub Class_Globals
Dim batt As Int
Dim skmt As SQL
Dim montoActual, clientesTotal, clientesVenta, clientesVisitados,almacen, rutaPreventa As String
- Dim server, fechaRuta As String
+ Dim DBReqServer, fechaRuta As String
Dim Logger As Boolean
Dim mac_impresora As String
Dim Phn As PhoneId
@@ -108,6 +109,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
B4XPages.GetManager.LogEvents = True
Root = Root1
Root.LoadLayout("login")
+ s.Initialize(Me, "Subs")
B4XPages.SetTitle(Me, "Intmex Preventa")
login.Initialize
B4XPages.AddPage("Login", login)
@@ -175,7 +177,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
C.Close
' server = "http://keymon.com.mx:1782"
'server = "http://201.99.139.28:1783"
-' reqManager.Initialize(Me, server)
+' reqManager.Initialize(Me, DBReqServer)
l_version.Text = Application.VersionName
'este codigo es para lo del menu
' PopupMenu.Initialize("PopupMenu", b_menu)
@@ -254,8 +256,8 @@ Sub B4XPage_Appear
Dim ph As Phone 'Get Id Device
Dim DeviceID As String = ph.GetSettings("android_id").ToUpperCase
LogColor($"////////////////// DeviceID: ${DeviceID} ////////////////// "$, Colors.Blue)
- server = Starter.server
- reqManager.Initialize(Me, Starter.server)
+ DBReqServer = Starter.DBReqServer
+ reqManager.Initialize(Me, Starter.DBReqServer)
tgl.Initialize()
If Not(Starter.gps.GPSEnabled) Then
ToastMessageShow("Es necesario tener el GPS encendido", True)
@@ -292,6 +294,26 @@ Sub B4XPage_Appear
'Obtenemos el usuario registrado
' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics")
dameUsuario
+ If Not(s.CheckNotificationAccess) Then
+ Msgbox2Async($"Se necesita acceso a las notificaciones, haga clic en "Aceptar" y en la siguiente pantalla permita el acceso a la aplicación "${Application.LabelName}"."$, "Permisos necesarios", "Aceptar", "Cancelar", "", Null, True)
+ Wait For Msgbox_Result (resultado As Int)
+ If resultado = DialogResponse.POSITIVE Then
+ Dim In As Intent
+ In.Initialize("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS", "")
+ StartActivity(In)
+ End If
+' Private cd1 As ColorDrawable
+' cd1.Initialize(Colors.red, 10dip)
+' b_notifAccess.Background = cd1
+' b_notifAccess.TextColor = Colors.White
+' b_notifAccess.Text = "Activar Permisos"
+ Else
+' Private cd1 As ColorDrawable
+' cd1.Initialize(Colors.RGB(109, 221, 101), 10dip)
+' b_notifAccess.Background = cd1
+' b_notifAccess.TextColor = Colors.White
+' b_notifAccess.Text = "Permisos Activos"
+ End If
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
@@ -321,11 +343,11 @@ Sub Entrar_Click
IMEI = PP.GetSettings("android_id")
End If
' Log("IMEI = " & IMEI)
-
+
If user.Text = "ALTERNO" Then
c=skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
c.Position =0
- server = c.GetString("CAT_CO_CONFIGURACION")
+ DBReqServer = c.GetString("CAT_CO_CONFIGURACION")
alterno = c.GetString("CAT_CO_RESULTADO")
c.Close
If alterno = 1 Then
@@ -337,10 +359,10 @@ Sub Entrar_Click
End If
c=skmt.ExecQuery2("select CAT_CO_CONFIGURACION, CAT_CO_RESULTADO from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
c.Position =0
- server = c.GetString("CAT_CO_CONFIGURACION")
- user.Text = server
+ DBReqServer = c.GetString("CAT_CO_CONFIGURACION")
+ user.Text = DBReqServer
c.Close
-' reqManager.Initialize(Me, server)
+' reqManager.Initialize(Me, DBReqServer)
else if user.Text = "KMTS1" Then
skmt.ExecNonQuery("delete from usuarioa")
skmt.ExecNonQuery2("INSERT INTO USUARIOA VALUES (?,?)", Array As Object(user.Text, pass.Text))
@@ -641,7 +663,8 @@ Sub i_engrane_Click
ime.HideKeyboard
lv_server.AddSingleLine("http://keymon.lat:1782")
If user.Text = "KMTS1" Then lv_server.AddSingleLine("http://10.0.0.205:1782")
- l_server.Text = Starter.server
+' lv_server.AddSingleLine("http://40.123.36.38:1782")
+ l_server.Text = Starter.DBReqServer
Subs.panelVisible(p_appUpdate,0,0)
If user.Text.trim = "KMTS1" Then b_importarBD.Visible = True Else b_importarBD.Visible = False
End Sub
@@ -659,9 +682,10 @@ Sub Entrar_LongClick
End Sub
Private Sub lv_server_ItemClick (Position As Int, Value As Object)
- Starter.server = Value
+ Starter.DBReqServer = Value
l_server.Text = Value
- Starter.reqManager.Initialize(Me, Value)
+ Starter.reinicializaReqManager(Value)
+' Starter.reqManager.Initialize(Me, Value)
ToastMessageShow("Servidor modificado", False)
End Sub
diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas
index 4b74895..923b8e3 100644
--- a/B4A/C_Cliente.bas
+++ b/B4A/C_Cliente.bas
@@ -203,7 +203,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
s.Close
btAdmin.Initialize("BlueTeeth")
cmp20.Initialize("Printer")
- reqManager.Initialize(Me, B4XPages.MainPage.SERVER)
+ reqManager.Initialize(Me, Starter.DBReqServer)
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
Wait For B4XPage_PermissionResult (Permission As String, resultC As Boolean)
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas
index 0265c5c..aeeed4d 100644
--- a/B4A/C_NoVenta.bas
+++ b/B4A/C_NoVenta.bas
@@ -47,7 +47,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
If File.Exists(ruta, "kmt.db") = False Then
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
End If
- reqManager.Initialize(Me, B4XPages.MainPage.SERVER)
+ reqManager.Initialize(Me, Starter.DBReqServer)
' skmt.Initialize(ruta,"kmt.db", True)
End Sub
diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas
index bc7212b..5b0f979 100644
--- a/B4A/C_Principal.bas
+++ b/B4A/C_Principal.bas
@@ -310,13 +310,10 @@ Private Sub B4XPage_Created (Root1 As B4XView)
l_rutasuplencia.Visible = False
Else If s.RowCount > 0 Then
-
Label22.Visible = True
l_rutasuplencia.Visible = True
l_rutasuplencia.Text = s.GetString("RS_RUTA")
-
End If
-
End Sub
Sub B4XPage_Appear
@@ -325,7 +322,7 @@ Sub B4XPage_Appear
rd.respaldaPaquetes
HORAINGRESO ="000000"
Btn_Ubicar.Left = (Root.Width/2) - (Btn_Ubicar.Width/2)
-' B4XPages.MainPage.reqManager.Initialize(Me, B4XPages.MainPage.SERVER)
+' B4XPages.MainPage.reqManager.Initialize(Me, Starter.DBReqServer)
PASO =0
If Not(Starter.gps.GPSEnabled) Then
If Starter.marcaCel <> "Sony" Then ToastMessageShow("Es necesario tener el GPS encendido", True)
@@ -1641,7 +1638,7 @@ Private Sub B4XPage_CloseRequest As ResumableSub
End Sub
Sub connecta_Click
- B4XPages.MainPage.reqManager.Initialize(Me, Starter.server)
+ B4XPages.MainPage.reqManager.Initialize(Me, Starter.DBReqServer)
ime.HideKeyboard
connecta1 = connecta1 + 1
' imei = p.GetDeviceId
@@ -1687,18 +1684,18 @@ Sub connecta_Click
ToastMessageShow("Validando Conexión." , True)
' If connecta1 / 2 = 1 Then
-' 'SERVER = "http://177.244.63.54:1782"
-' 'SERVER = "http://keymon.com.mx:1782"
-' 'SERVER = "http://201.99.139.28:1782"
- '' B4XPages.MainPage.SERVER = "http://187.189.244.154:1782"
- '' SERVER = "http://10.0.0.205:1782"
+' 'Starter.DBReqServer = "http://177.244.63.54:1782"
+' 'Starter.DBReqServer = "http://keymon.com.mx:1782"
+' 'Starter.DBReqServer = "http://201.99.139.28:1782"
+ '' Starter.DBReqServer = "http://187.189.244.154:1782"
+ '' Starter.DBReqServer = "http://10.0.0.205:1782"
' Else
' 'SERVER = "http://keymon.com.mx:1782"
' 'SERVER = "http://201.99.139.28:1782"
' 'SERVER = "http://177.244.63.54:1782"
- '' B4XPages.MainPage.SERVER = "http://187.189.244.154:1782"
+ '' Starter.DBReqServer = "http://187.189.244.154:1782"
'' SERVER = "http://10.0.0.205:1782"
-' B4XPages.MainPage.reqManager.Initialize(Me, Starter.server)
+' B4XPages.MainPage.reqManager.Initialize(Me, Starter.DBReqServer)
' End If
End Sub
diff --git a/B4A/C_RespaldoDiario.bas b/B4A/C_RespaldoDiario.bas
index 5a9ec10..f79aec8 100644
--- a/B4A/C_RespaldoDiario.bas
+++ b/B4A/C_RespaldoDiario.bas
@@ -8,7 +8,7 @@ Sub Class_Globals
Private Root As B4XView 'ignore
Private xui As XUI 'ignore
Dim skmt, rkmt As SQL
- Dim rp As RuntimePermissions
+' Dim rp As RuntimePermissions
Dim safePath As String
Dim fechaHoy As String
Dim skmtAttached As Boolean = False
@@ -19,7 +19,7 @@ Public Sub Initialize As Object
' Log("************************** " & safePath)
Dim Dirp As String = File.DirRootExternal
Dim Dir As String
- Dim Dir2 As String
+' Dim Dir2 As String
Try
File.MakeDir(Dirp,"/kmts")
Dir = "/kmts"
@@ -30,7 +30,8 @@ Public Sub Initialize As Object
End Try
' safePath = rp.GetSafeDirDefaultExternal("./")
safePath = Dirp & Dir
- rkmt.Initialize(safePath,"rkmt.km", True)
+ Private name() As String = Regex.split(" ", Application.LabelName)
+ rkmt.Initialize(safePath,$"${name(0)}.rkmt.km"$, True)
skmt.Initialize(File.DirInternal,"kmt.db", False)
rkmt.ExecNonQuery($"create table if not exists pedidos (pe_folio NUMERIC, pe_desc NUMERIC, pe_costo_sin TEXT, pe_ruta TEXT, pe_cedis TEXT, pe_costo_tot NUMERIC, pe_costou NUMERIC, pe_cant NUMERIC, pe_pronombre TEXT, pe_proid TEXT, pe_cliente TEXT, pe_fecha TEXT, pe_usuario TEXT)"$)
rkmt.ExecNonQuery($"create table if not exists inventarios (cat_gp_iniciativa TEXT, cat_gp_tipoprod TEXT, cat_gp_dev TEXT, cat_gp_almacen NUMERIC, cat_gp_id TEXT, cat_gp_nombre TEXT, cat_gp_imp1 TEXT, cat_gp_imp2 TEXT, cat_gp_precio TEXT, cat_gp_clasif TEXT, cat_gp_sts TEXT, cat_gp_tipo TEXT, cat_gp_subtipo TEXT, cat_gp_tipoprod2 TEXT, fecha TEXT)"$)
@@ -47,6 +48,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
'load the layout to Root
End Sub
+'Revisa si esta montada "kmt.db" como "skmt" y si no, se monta.
Sub revisaSkmtAttached
skmtAttached = False
Dim rs As ResultSet = rkmt.ExecQuery("SELECT * FROM pragma_database_list")
@@ -109,7 +111,7 @@ End Sub
'Agrega una columna a la tabla especificada.
'Hay que indicar el "tipo" de la columna (TEXT, INTEGER, ETC)
'Ej. agregaColumna("TABLA", "COLUMNA", "TIPO")
-Sub agregaColumna(tabla As String, columna As String, tipo As String)
+Sub agregaColumna(tabla As String, columna As String, tipo As String) 'ignore
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna en la tabla
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) AS fCol FROM pragma_table_info('${tabla}') WHERE name='${columna}'"$)
c.Position = 0
diff --git a/B4A/INTMEX_LL.b4a b/B4A/INTMEX_LL.b4a
index b309c55..66dbd85 100644
--- a/B4A/INTMEX_LL.b4a
+++ b/B4A/INTMEX_LL.b4a
@@ -113,18 +113,19 @@ Library25=randomaccessfile
Library26=rspopupmenu
Library27=serial
Library28=sql
-Library29=togglelibrary
+Library29=stringutils
Library3=baqrcode
-Library30=xcustomlistview
-Library31=xui
-Library32=stringutils
+Library30=togglelibrary
+Library31=xcustomlistview
+Library32=xui
+Library33=replyauto
Library4=batteryprogressview
Library5=bitmapcreator
Library6=byteconverter
Library7=camera
Library8=compressstrings
Library9=contentresolver
-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~AddApplicationText(~\n~)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~~\n~'///////////////////////// FLP Y PUSH /////////////~\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~'//////////////////////////////////////////////////////~\n~~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~ ~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~~\n~AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~ AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~ AddPermission(android.permission.INTERNET)~\n~ AddPermission(android.permission.INSTALL_PACKAGES)~\n~ AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~ AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~ AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~ AddPermission(android.permission.READ_PHONE_STATE)~\n~ AddPermission(android.permission.WAKE_LOCK)~\n~ SetApplicationAttribute(android:allowBackup, "false")~\n~ AddManifestText()
+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~AddApplicationText(~\n~)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~~\n~ ~\n~)~\n~AddApplicationText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~)~\n~''CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~)~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~ AddManifestText(~\n~~\n~)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(~\n~~\n~)~\n~AddManifestText(~\n~~\n~) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~~\n~'///////////////////////// FLP Y PUSH /////////////~\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~'//////////////////////////////////////////////////////~\n~~\n~'/////////////////////// App Updating ////////////////~\n~ AddManifestText(~\n~ )~\n~ AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~ )~\n~ CreateResource(xml, provider_paths,~\n~ ~\n~ ~\n~ ~\n~ ~\n~ ~\n~ )~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~AddManifestText()~\n~~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~CreateResourceFromFile(Macro, JhsIceZxing1.CaturePortrait)~\n~ ~\n~SetApplicationAttribute(android:largeHeap, "true")~\n~~\n~AddManifestText(~\n~ )~\n~AddApplicationText(~\n~ ~\n~ ~\n~ ~\n~)~\n~CreateResource(xml, provider_paths,~\n~~\n~ ~\n~ ~\n~ ~\n~~\n~)~\n~AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~AddPermission(android.permission.INSTALL_PACKAGES)~\n~AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~AddManifestText()~\n~ ~\n~AddApplicationText(~\n~~\n~~\n~)
Module1=appUpdater
Module10=C_NuevoCliente
Module11=C_Pedidos
@@ -132,17 +133,19 @@ Module12=C_Principal
Module13=C_Productos
Module14=C_Promos
Module15=C_RespaldoDiario
-Module16=C_TicketsDia
-Module17=C_UpdateAvailable
-Module18=DBRequestManager
-Module19=FileHandler
+Module16=C_Subs
+Module17=C_TicketsDia
+Module18=C_UpdateAvailable
+Module19=DBRequestManager
Module2=B4XMainPage
-Module20=ManageExternalStorage
-Module21=MAPA_RUTAS
-Module22=Pendientes
-Module23=Starter
-Module24=Subs
-Module25=Tracker
+Module20=FileHandler
+Module21=ManageExternalStorage
+Module22=MAPA_RUTAS
+Module23=NotificationService
+Module24=Pendientes
+Module25=Starter
+Module26=Subs
+Module27=Tracker
Module3=BatteryUtilities
Module4=C_Cliente
Module5=C_Clientes
@@ -151,8 +154,8 @@ Module7=C_Mapas
Module8=C_Nota
Module9=C_NoVenta
NumberOfFiles=46
-NumberOfLibraries=32
-NumberOfModules=25
+NumberOfLibraries=33
+NumberOfModules=27
Version=12.5
@EndOfDesignText@
#Region Project Attributes
diff --git a/B4A/INTMEX_LL.b4a.meta b/B4A/INTMEX_LL.b4a.meta
index cc2a356..7c61618 100644
--- a/B4A/INTMEX_LL.b4a.meta
+++ b/B4A/INTMEX_LL.b4a.meta
@@ -17,6 +17,8 @@ ModuleBookmarks22=
ModuleBookmarks23=
ModuleBookmarks24=
ModuleBookmarks25=
+ModuleBookmarks26=
+ModuleBookmarks27=
ModuleBookmarks3=
ModuleBookmarks4=
ModuleBookmarks5=
@@ -43,6 +45,8 @@ ModuleBreakpoints22=
ModuleBreakpoints23=
ModuleBreakpoints24=
ModuleBreakpoints25=
+ModuleBreakpoints26=
+ModuleBreakpoints27=
ModuleBreakpoints3=
ModuleBreakpoints4=
ModuleBreakpoints5=
@@ -54,21 +58,23 @@ ModuleClosedNodes0=
ModuleClosedNodes1=
ModuleClosedNodes10=
ModuleClosedNodes11=
-ModuleClosedNodes12=1
+ModuleClosedNodes12=
ModuleClosedNodes13=9,11,15
ModuleClosedNodes14=9,10
ModuleClosedNodes15=
ModuleClosedNodes16=
ModuleClosedNodes17=
-ModuleClosedNodes18=3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
-ModuleClosedNodes19=
+ModuleClosedNodes18=
+ModuleClosedNodes19=3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
ModuleClosedNodes2=
ModuleClosedNodes20=
-ModuleClosedNodes21=2
-ModuleClosedNodes22=1
+ModuleClosedNodes21=
+ModuleClosedNodes22=2
ModuleClosedNodes23=
-ModuleClosedNodes24=49,50,52,53,55,58,61
+ModuleClosedNodes24=1
ModuleClosedNodes25=
+ModuleClosedNodes26=49,50,52,53,55,58,61
+ModuleClosedNodes27=
ModuleClosedNodes3=
ModuleClosedNodes4=
ModuleClosedNodes5=3
@@ -76,6 +82,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=1
ModuleClosedNodes9=
-NavigationStack=Starter,Service_Start,48,0,B4XMainPage,B4XPage_Appear,248,0,C_Cliente,B4XPage_Appear,223,0,C_Cliente,B4XPage_Created,199,0,C_Principal,B4XPage_Appear,316,0,C_Principal,B4XPage_Created,312,0,C_Cliente,JobDone,932,0,C_Cliente,mandaPendientes,842,0,C_Cliente,cb_factura_CheckedChange,812,0,C_Cliente,Guardar_Click,494,0
+NavigationStack=C_Subs,mandaPendientes,592,0,B4XMainPage,B4XPage_Appear,244,1,NotificationService,Service_Destroy,72,0,NotificationService,NotiMon_NotificationPosted,83,0,B4XMainPage,i_engrane_Click,659,0,C_RespaldoDiario,Class_Globals,0,0,C_RespaldoDiario,Initialize,23,6,B4XMainPage,ocultaProgreso,653,0,B4XMainPage,lv_server_ItemClick,684,0,B4XMainPage,Entrar_LongClick,676,0,B4XMainPage,i_engrane_LongClick,672,0
SelectedBuild=0
-VisibleModules=2,23,12,15,13,4,24,14,8,21
+VisibleModules=2,25,23,12,15,13,4,26,14,8,22,9,16,27
diff --git a/B4A/Starter.bas b/B4A/Starter.bas
index 4cf1354..681993b 100644
--- a/B4A/Starter.bas
+++ b/B4A/Starter.bas
@@ -13,15 +13,17 @@ Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Public gps As GPS
+ Dim skmt As SQL
+ Dim s As C_Subs
Dim ph As Phone
Public rp As RuntimePermissions
Public FLP As FusedLocationProvider
' Private flpStarted As Boolean
Dim reqManager As DBRequestManager
- Dim server As String = "http://187.189.244.154:1782"
-' Dim server As String = "http://187.189.244.154:1783"
-' Dim server As String = "http://10.0.0.205:1783"
-' Dim server As String = "http://11.0.0.15:1782"
+ Dim DBReqServer As String = "http://187.189.244.154:1782"
+' Dim DBReqServer As String = "http://187.189.244.154:1783"
+' Dim DBReqServer As String = "http://10.0.0.205:1783"
+' Dim DBReqServer As String = "http://11.0.0.15:1782"
Dim Timer1 As Timer
Dim Interval As Int = 10
Dim ruta As String = File.DirInternal
@@ -37,6 +39,8 @@ 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.
gps.Initialize("GPS")
+ s.Initialize(Me, "Subs") 'Inicializamos la clase Subs
+ skmt = s.inicializaBD(File.DirInternal, "kmt.db")
' CallSubDelayed(FirebaseMessaging, "SubscribeToTopics") 'Para Push FirebaseMessaging
Timer1.Initialize("Timer1", Interval * 1000)
Timer1.Enabled = True
@@ -52,7 +56,8 @@ Sub Service_Start (StartingIntent As Intent)
Service.StopAutomaticForeground 'Starter service can start in the foreground state in some edge cases.
Subs.revisaBD
' Log(marcaCel)
- reqManager.Initialize(Me, server)
+ If s.traeDBReqServerDeBD(skmt) <> "N/A" Then DBReqServer = s.traeDBReqServerDeBD(skmt)
+ reqManager.Initialize(Me, DBReqServer)
End Sub
Private Sub Timer1_Tick
@@ -75,9 +80,7 @@ End Sub
Sub ENVIA_ULTIMA_GPS
Dim logger As Boolean = False
If logger Then LogColor("Iniciamos ENVIA_ULTIMA_GPS", Colors.Magenta)
- Dim skmt As SQL
Dim cmd As DBCommand
- skmt.Initialize(ruta,"kmt.db", False)
' cmd.Initialize
' cmd.Name = "select_fechat"
' B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "fechat")
@@ -113,4 +116,13 @@ Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
Subs.revisaBD
Subs.errorLog.ExecNonQuery2("INSERT INTO errores(fecha, error) VALUES (?,?)", Array As Object (Subs.fechaKMT(DateTime.now), logs))
Return True
+End Sub
+
+'Inicializa el reqServer con la dirección dada y lo guarda en CAT_VARIABLES.
+Sub reinicializaReqManager(srv As String)
+ skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SERVER"))
+ skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SERVER", srv))
+ DBReqServer = srv
+ reqManager.Initialize(Me, srv)
+' LogColor(srv, Colors.red)
End Sub
\ No newline at end of file
diff --git a/B4A/Tracker.bas b/B4A/Tracker.bas
index e3f28a2..6c5f0b4 100644
--- a/B4A/Tracker.bas
+++ b/B4A/Tracker.bas
@@ -32,6 +32,7 @@ Version=10.2
'#AdditionalJar: com.android.support:support-v4
'#AdditionalJar: com.google.android.gms:play-services-location
+
Sub Process_Globals
Private nid As Int = 51042
Private Tracking As Boolean