mirror of
https://github.com/KeymonSoft/Durakelo.git
synced 2026-04-19 20:29:16 +00:00
Envio correcto de la ubicacion 4_01_17_2
This commit is contained in:
@@ -25,12 +25,12 @@ Sub Class_Globals
|
|||||||
Public login As B4XMainPage
|
Public login As B4XMainPage
|
||||||
Dim rp As RuntimePermissions
|
Dim rp As RuntimePermissions
|
||||||
Public Provider As FileProvider
|
Public Provider As FileProvider
|
||||||
|
Dim batt As Int
|
||||||
Public principal As C_Principal 'Antes seleccion
|
Public principal As C_Principal 'Antes seleccion
|
||||||
Public clientes As C_Clientes 'Antes Colonia
|
Public clientes As C_Clientes 'Antes Colonia
|
||||||
Public cliente As C_Cliente 'Antes fila
|
Public cliente As C_Cliente 'Antes fila
|
||||||
Public productos As C_Productos 'Antes colonia2
|
Public productos As C_Productos 'Antes colonia2
|
||||||
Public updateAvailable As C_updateAvailable
|
Public updateAvailable As C_UpdateAvailable
|
||||||
'' Public mapas As C_Mapas
|
'' Public mapas As C_Mapas
|
||||||
'' Public nuevoCliente As C_NuevoCliente
|
'' Public nuevoCliente As C_NuevoCliente
|
||||||
Public ticketsDia As C_TicketsDia 'Antes buscar
|
Public ticketsDia As C_TicketsDia 'Antes buscar
|
||||||
@@ -38,7 +38,7 @@ Sub Class_Globals
|
|||||||
Public nota As C_Nota 'Antes tarjeta
|
Public nota As C_Nota 'Antes tarjeta
|
||||||
Public promos As C_Promos
|
Public promos As C_Promos
|
||||||
Public historico As C_Historico 'Antes historico
|
Public historico As C_Historico 'Antes historico
|
||||||
|
Dim montoActual, clientesTotal, clientesVenta, clientesVisitados,almacen, rutaPreventa As String
|
||||||
Dim reqManager As DBRequestManager
|
Dim reqManager As DBRequestManager
|
||||||
Dim ultimaActualizacionGPS As String = 235959
|
Dim ultimaActualizacionGPS As String = 235959
|
||||||
Dim almacen, ruta As String
|
Dim almacen, ruta As String
|
||||||
@@ -53,7 +53,9 @@ Sub Class_Globals
|
|||||||
Private b_menu As Button
|
Private b_menu As Button
|
||||||
' Dim PopupMenu As RSPopupMenu
|
' Dim PopupMenu As RSPopupMenu
|
||||||
Dim cmd As DBCommand
|
Dim cmd As DBCommand
|
||||||
|
Private bpv1 As BatteryProgressView
|
||||||
|
Dim batterystatus(11) As Int
|
||||||
|
Private bu As BatteryUtilities
|
||||||
Private IMEN As EditText
|
Private IMEN As EditText
|
||||||
Private Entrar As Button
|
Private Entrar As Button
|
||||||
Private Panel1 As Panel
|
Private Panel1 As Panel
|
||||||
@@ -194,6 +196,8 @@ Sub B4XPage_Appear
|
|||||||
End If
|
End If
|
||||||
l_version.Text = Application.VersionName
|
l_version.Text = Application.VersionName
|
||||||
' server = "http://10.0.0.205:1782"
|
' server = "http://10.0.0.205:1782"
|
||||||
|
bu.Initialize
|
||||||
|
batterystatus = bu.BatteryInformation
|
||||||
|
|
||||||
reqManager.Initialize(Me, Starter.DBReqServer)
|
reqManager.Initialize(Me, Starter.DBReqServer)
|
||||||
Log(Starter.DBReqServer)
|
Log(Starter.DBReqServer)
|
||||||
|
|||||||
@@ -129,7 +129,9 @@ Sub Class_Globals
|
|||||||
Dim cuantos_ped As String
|
Dim cuantos_ped As String
|
||||||
Dim conteo As String
|
Dim conteo As String
|
||||||
Private PASO_info As String
|
Private PASO_info As String
|
||||||
|
Private bpv1 As BatteryProgressView
|
||||||
|
Dim batterystatus(11) As Int
|
||||||
|
Private bu As BatteryUtilities
|
||||||
Private bpv1 As BatteryProgressView
|
Private bpv1 As BatteryProgressView
|
||||||
Dim batterystatus(11) As Int
|
Dim batterystatus(11) As Int
|
||||||
Private bu As BatteryUtilities
|
Private bu As BatteryUtilities
|
||||||
@@ -263,6 +265,7 @@ Sub IsConnectedToInternet As Boolean
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub B4XPage_Appear
|
Sub B4XPage_Appear
|
||||||
|
Log(Starter.lat_gps& " "& Starter.lon_gps)
|
||||||
SERVER = Starter.DBReqServer
|
SERVER = Starter.DBReqServer
|
||||||
HORAINGRESO ="000000"
|
HORAINGRESO ="000000"
|
||||||
NUEVO.Visible = True
|
NUEVO.Visible = True
|
||||||
@@ -276,6 +279,9 @@ Sub B4XPage_Appear
|
|||||||
SERVER = c.GetString("CAT_VA_VALOR")
|
SERVER = c.GetString("CAT_VA_VALOR")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
bu.Initialize
|
||||||
|
batterystatus = bu.BatteryInformation
|
||||||
|
|
||||||
reqManager.Initialize(Me, SERVER)
|
reqManager.Initialize(Me, SERVER)
|
||||||
Log(SERVER)
|
Log(SERVER)
|
||||||
|
|
||||||
@@ -386,12 +392,17 @@ Sub B4XPage_Appear
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
' Main.montoActual = L_MONTOD.Text
|
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
|
||||||
' Main.clientestotal = L_CUANTOST.Text
|
c.Position = 0
|
||||||
' Main.clientesventa = l_cuantosc.Text
|
usuario = c.GetString("USUARIO")
|
||||||
' Main.clientesvisitados = l_porvisitar.TEXT
|
c.Close
|
||||||
' Main.ALMACEN = ALMACEN
|
B4XPages.MainPage.batt = batterystatus(0)
|
||||||
' Main.rutapreventa = l_ruta.text
|
B4XPages.MainPage.montoActual = L_MONTOD.Text
|
||||||
|
B4XPages.MainPage.clientestotal = L_CUANTOST.Text
|
||||||
|
B4XPages.MainPage.clientesventa = l_cuantosc.Text
|
||||||
|
B4XPages.MainPage.clientesvisitados = l_porvisitar.TEXT
|
||||||
|
B4XPages.MainPage.ALMACEN = ALMACEN
|
||||||
|
B4XPages.MainPage.rutapreventa = l_ruta.text
|
||||||
|
|
||||||
DateTime.TimeFormat = "HH:mm:ss"
|
DateTime.TimeFormat = "HH:mm:ss"
|
||||||
|
|
||||||
|
|||||||
710
B4A/Durakelo.b4a
710
B4A/Durakelo.b4a
@@ -1,370 +1,371 @@
|
|||||||
Build1=Default,durakelo.keymon.com.mx,HU2_PUBLIC
|
Build1=Default,durakelo.keymon.com.mx,HU2_PUBLIC
|
||||||
File1=alcancia.png
|
File1=alcancia.png
|
||||||
File10=Clientes.bal
|
File10=Clientes.bal
|
||||||
File100=marker-azul-65.png
|
File100=marker-azul-64.png
|
||||||
File101=marker-azul-66.png
|
File101=marker-azul-65.png
|
||||||
File102=marker-azul-67.png
|
File102=marker-azul-66.png
|
||||||
File103=marker-azul-68.png
|
File103=marker-azul-67.png
|
||||||
File104=marker-azul-69.png
|
File104=marker-azul-68.png
|
||||||
File105=marker-azul-7.png
|
File105=marker-azul-69.png
|
||||||
File106=marker-azul-70.png
|
File106=marker-azul-7.png
|
||||||
File107=marker-azul-71.png
|
File107=marker-azul-70.png
|
||||||
File108=marker-azul-72.png
|
File108=marker-azul-71.png
|
||||||
File109=marker-azul-73.png
|
File109=marker-azul-72.png
|
||||||
File11=detalle_promo.bal
|
File11=detalle_promo.bal
|
||||||
File110=marker-azul-74.png
|
File110=marker-azul-73.png
|
||||||
File111=marker-azul-75.png
|
File111=marker-azul-74.png
|
||||||
File112=marker-azul-76.png
|
File112=marker-azul-75.png
|
||||||
File113=marker-azul-77.png
|
File113=marker-azul-76.png
|
||||||
File114=marker-azul-78.png
|
File114=marker-azul-77.png
|
||||||
File115=marker-azul-79.png
|
File115=marker-azul-78.png
|
||||||
File116=marker-azul-8.png
|
File116=marker-azul-79.png
|
||||||
File117=marker-azul-80.png
|
File117=marker-azul-8.png
|
||||||
File118=marker-azul-81.png
|
File118=marker-azul-80.png
|
||||||
File119=marker-azul-82.png
|
File119=marker-azul-81.png
|
||||||
File12=durakelo.png
|
File12=durakelo.png
|
||||||
File120=marker-azul-83.png
|
File120=marker-azul-82.png
|
||||||
File121=marker-azul-84.png
|
File121=marker-azul-83.png
|
||||||
File122=marker-azul-85.png
|
File122=marker-azul-84.png
|
||||||
File123=marker-azul-86.png
|
File123=marker-azul-85.png
|
||||||
File124=marker-azul-87.png
|
File124=marker-azul-86.png
|
||||||
File125=marker-azul-88.png
|
File125=marker-azul-87.png
|
||||||
File126=marker-azul-89.png
|
File126=marker-azul-88.png
|
||||||
File127=marker-azul-9.png
|
File127=marker-azul-89.png
|
||||||
File128=marker-azul-90.png
|
File128=marker-azul-9.png
|
||||||
File129=marker-azul-91.png
|
File129=marker-azul-90.png
|
||||||
File13=durakelo_192x192.png
|
File13=durakelo_192x192.png
|
||||||
File130=marker-azul-92.png
|
File130=marker-azul-91.png
|
||||||
File131=marker-azul-93.png
|
File131=marker-azul-92.png
|
||||||
File132=marker-azul-94.png
|
File132=marker-azul-93.png
|
||||||
File133=marker-azul-95.png
|
File133=marker-azul-94.png
|
||||||
File134=marker-azul-96.png
|
File134=marker-azul-95.png
|
||||||
File135=marker-azul-97.png
|
File135=marker-azul-96.png
|
||||||
File136=marker-azul-98.png
|
File136=marker-azul-97.png
|
||||||
File137=marker-azul-99.png
|
File137=marker-azul-98.png
|
||||||
File138=marker-rojo-0.png
|
File138=marker-azul-99.png
|
||||||
File139=marker-rojo-1.png
|
File139=marker-rojo-0.png
|
||||||
File14=durakelo1.png
|
File14=durakelo1.png
|
||||||
File140=marker-rojo-10.png
|
File140=marker-rojo-1.png
|
||||||
File141=marker-rojo-100.png
|
File141=marker-rojo-10.png
|
||||||
File142=marker-rojo-11.png
|
File142=marker-rojo-100.png
|
||||||
File143=marker-rojo-12.png
|
File143=marker-rojo-11.png
|
||||||
File144=marker-rojo-13.png
|
File144=marker-rojo-12.png
|
||||||
File145=marker-rojo-14.png
|
File145=marker-rojo-13.png
|
||||||
File146=marker-rojo-15.png
|
File146=marker-rojo-14.png
|
||||||
File147=marker-rojo-16.png
|
File147=marker-rojo-15.png
|
||||||
File148=marker-rojo-17.png
|
File148=marker-rojo-16.png
|
||||||
File149=marker-rojo-18.png
|
File149=marker-rojo-17.png
|
||||||
File15=engrane.jpg
|
File15=encuesta.bal
|
||||||
File150=marker-rojo-19.png
|
File150=marker-rojo-18.png
|
||||||
File151=marker-rojo-2.png
|
File151=marker-rojo-19.png
|
||||||
File152=marker-rojo-20.png
|
File152=marker-rojo-2.png
|
||||||
File153=marker-rojo-21.png
|
File153=marker-rojo-20.png
|
||||||
File154=marker-rojo-22.png
|
File154=marker-rojo-21.png
|
||||||
File155=marker-rojo-23.png
|
File155=marker-rojo-22.png
|
||||||
File156=marker-rojo-24.png
|
File156=marker-rojo-23.png
|
||||||
File157=marker-rojo-25.png
|
File157=marker-rojo-24.png
|
||||||
File158=marker-rojo-26.png
|
File158=marker-rojo-25.png
|
||||||
File159=marker-rojo-27.png
|
File159=marker-rojo-26.png
|
||||||
File16=engrane3.png
|
File16=engrane.jpg
|
||||||
File160=marker-rojo-28.png
|
File160=marker-rojo-27.png
|
||||||
File161=marker-rojo-29.png
|
File161=marker-rojo-28.png
|
||||||
File162=marker-rojo-3.png
|
File162=marker-rojo-29.png
|
||||||
File163=marker-rojo-30.png
|
File163=marker-rojo-3.png
|
||||||
File164=marker-rojo-31.png
|
File164=marker-rojo-30.png
|
||||||
File165=marker-rojo-32.png
|
File165=marker-rojo-31.png
|
||||||
File166=marker-rojo-33.png
|
File166=marker-rojo-32.png
|
||||||
File167=marker-rojo-34.png
|
File167=marker-rojo-33.png
|
||||||
File168=marker-rojo-35.png
|
File168=marker-rojo-34.png
|
||||||
File169=marker-rojo-36.png
|
File169=marker-rojo-35.png
|
||||||
File17=espera.gif
|
File17=engrane3.png
|
||||||
File170=marker-rojo-37.png
|
File170=marker-rojo-36.png
|
||||||
File171=marker-rojo-38.png
|
File171=marker-rojo-37.png
|
||||||
File172=marker-rojo-39.png
|
File172=marker-rojo-38.png
|
||||||
File173=marker-rojo-4.png
|
File173=marker-rojo-39.png
|
||||||
File174=marker-rojo-40.png
|
File174=marker-rojo-4.png
|
||||||
File175=marker-rojo-41.png
|
File175=marker-rojo-40.png
|
||||||
File176=marker-rojo-42.png
|
File176=marker-rojo-41.png
|
||||||
File177=marker-rojo-43.png
|
File177=marker-rojo-42.png
|
||||||
File178=marker-rojo-44.png
|
File178=marker-rojo-43.png
|
||||||
File179=marker-rojo-45.png
|
File179=marker-rojo-44.png
|
||||||
File18=fondo_kmt.jpg
|
File18=espera.gif
|
||||||
File180=marker-rojo-46.png
|
File180=marker-rojo-45.png
|
||||||
File181=marker-rojo-47.png
|
File181=marker-rojo-46.png
|
||||||
File182=marker-rojo-48.png
|
File182=marker-rojo-47.png
|
||||||
File183=marker-rojo-49.png
|
File183=marker-rojo-48.png
|
||||||
File184=marker-rojo-5.png
|
File184=marker-rojo-49.png
|
||||||
File185=marker-rojo-50.png
|
File185=marker-rojo-5.png
|
||||||
File186=marker-rojo-51.png
|
File186=marker-rojo-50.png
|
||||||
File187=marker-rojo-52.png
|
File187=marker-rojo-51.png
|
||||||
File188=marker-rojo-53.png
|
File188=marker-rojo-52.png
|
||||||
File189=marker-rojo-54.png
|
File189=marker-rojo-53.png
|
||||||
File19=foto.bal
|
File19=fondo_kmt.jpg
|
||||||
File190=marker-rojo-55.png
|
File190=marker-rojo-54.png
|
||||||
File191=marker-rojo-56.png
|
File191=marker-rojo-55.png
|
||||||
File192=marker-rojo-57.png
|
File192=marker-rojo-56.png
|
||||||
File193=marker-rojo-58.png
|
File193=marker-rojo-57.png
|
||||||
File194=marker-rojo-59.png
|
File194=marker-rojo-58.png
|
||||||
File195=marker-rojo-6.png
|
File195=marker-rojo-59.png
|
||||||
File196=marker-rojo-60.png
|
File196=marker-rojo-6.png
|
||||||
File197=marker-rojo-61.png
|
File197=marker-rojo-60.png
|
||||||
File198=marker-rojo-62.png
|
File198=marker-rojo-61.png
|
||||||
File199=marker-rojo-63.png
|
File199=marker-rojo-62.png
|
||||||
File2=alert2.png
|
File2=alert2.png
|
||||||
File20=guardagestion.bal
|
File20=foto.bal
|
||||||
File200=marker-rojo-64.png
|
File200=marker-rojo-63.png
|
||||||
File201=marker-rojo-65.png
|
File201=marker-rojo-64.png
|
||||||
File202=marker-rojo-66.png
|
File202=marker-rojo-65.png
|
||||||
File203=marker-rojo-67.png
|
File203=marker-rojo-66.png
|
||||||
File204=marker-rojo-68.png
|
File204=marker-rojo-67.png
|
||||||
File205=marker-rojo-69.png
|
File205=marker-rojo-68.png
|
||||||
File206=marker-rojo-7.png
|
File206=marker-rojo-69.png
|
||||||
File207=marker-rojo-70.png
|
File207=marker-rojo-7.png
|
||||||
File208=marker-rojo-71.png
|
File208=marker-rojo-70.png
|
||||||
File209=marker-rojo-72.png
|
File209=marker-rojo-71.png
|
||||||
File21=guna_viejo.png
|
File21=guardagestion.bal
|
||||||
File210=marker-rojo-73.png
|
File210=marker-rojo-72.png
|
||||||
File211=marker-rojo-74.png
|
File211=marker-rojo-73.png
|
||||||
File212=marker-rojo-75.png
|
File212=marker-rojo-74.png
|
||||||
File213=marker-rojo-76.png
|
File213=marker-rojo-75.png
|
||||||
File214=marker-rojo-77.png
|
File214=marker-rojo-76.png
|
||||||
File215=marker-rojo-78.png
|
File215=marker-rojo-77.png
|
||||||
File216=marker-rojo-79.png
|
File216=marker-rojo-78.png
|
||||||
File217=marker-rojo-8.png
|
File217=marker-rojo-79.png
|
||||||
File218=marker-rojo-80.png
|
File218=marker-rojo-8.png
|
||||||
File219=marker-rojo-81.png
|
File219=marker-rojo-80.png
|
||||||
File22=infonavit1.jpg
|
File22=guna_viejo.png
|
||||||
File220=marker-rojo-82.png
|
File220=marker-rojo-81.png
|
||||||
File221=marker-rojo-83.png
|
File221=marker-rojo-82.png
|
||||||
File222=marker-rojo-84.png
|
File222=marker-rojo-83.png
|
||||||
File223=marker-rojo-85.png
|
File223=marker-rojo-84.png
|
||||||
File224=marker-rojo-86.png
|
File224=marker-rojo-85.png
|
||||||
File225=marker-rojo-87.png
|
File225=marker-rojo-86.png
|
||||||
File226=marker-rojo-88.png
|
File226=marker-rojo-87.png
|
||||||
File227=marker-rojo-89.png
|
File227=marker-rojo-88.png
|
||||||
File228=marker-rojo-9.png
|
File228=marker-rojo-89.png
|
||||||
File229=marker-rojo-90.png
|
File229=marker-rojo-9.png
|
||||||
File23=itembuttonblue.png
|
File23=infonavit1.jpg
|
||||||
File230=marker-rojo-91.png
|
File230=marker-rojo-90.png
|
||||||
File231=marker-rojo-92.png
|
File231=marker-rojo-91.png
|
||||||
File232=marker-rojo-93.png
|
File232=marker-rojo-92.png
|
||||||
File233=marker-rojo-94.png
|
File233=marker-rojo-93.png
|
||||||
File234=marker-rojo-95.png
|
File234=marker-rojo-94.png
|
||||||
File235=marker-rojo-96.png
|
File235=marker-rojo-95.png
|
||||||
File236=marker-rojo-97.png
|
File236=marker-rojo-96.png
|
||||||
File237=marker-rojo-98.png
|
File237=marker-rojo-97.png
|
||||||
File238=marker-rojo-99.png
|
File238=marker-rojo-98.png
|
||||||
File239=marker-verde-0.png
|
File239=marker-rojo-99.png
|
||||||
File24=k.png
|
File24=itembuttonblue.png
|
||||||
File240=marker-verde-1.png
|
File240=marker-verde-0.png
|
||||||
File241=marker-verde-10.png
|
File241=marker-verde-1.png
|
||||||
File242=marker-verde-100.png
|
File242=marker-verde-10.png
|
||||||
File243=marker-verde-11.png
|
File243=marker-verde-100.png
|
||||||
File244=marker-verde-12.png
|
File244=marker-verde-11.png
|
||||||
File245=marker-verde-13.png
|
File245=marker-verde-12.png
|
||||||
File246=marker-verde-14.png
|
File246=marker-verde-13.png
|
||||||
File247=marker-verde-15.png
|
File247=marker-verde-14.png
|
||||||
File248=marker-verde-16.png
|
File248=marker-verde-15.png
|
||||||
File249=marker-verde-17.png
|
File249=marker-verde-16.png
|
||||||
File25=K-b27c0809.png
|
File25=k.png
|
||||||
File250=marker-verde-18.png
|
File250=marker-verde-17.png
|
||||||
File251=marker-verde-19.png
|
File251=marker-verde-18.png
|
||||||
File252=marker-verde-2.png
|
File252=marker-verde-19.png
|
||||||
File253=marker-verde-20.png
|
File253=marker-verde-2.png
|
||||||
File254=marker-verde-21.png
|
File254=marker-verde-20.png
|
||||||
File255=marker-verde-22.png
|
File255=marker-verde-21.png
|
||||||
File256=marker-verde-23.png
|
File256=marker-verde-22.png
|
||||||
File257=marker-verde-24.png
|
File257=marker-verde-23.png
|
||||||
File258=marker-verde-25.png
|
File258=marker-verde-24.png
|
||||||
File259=marker-verde-26.png
|
File259=marker-verde-25.png
|
||||||
File26=kelloggs.png
|
File26=K-b27c0809.png
|
||||||
File260=marker-verde-27.png
|
File260=marker-verde-26.png
|
||||||
File261=marker-verde-28.png
|
File261=marker-verde-27.png
|
||||||
File262=marker-verde-29.png
|
File262=marker-verde-28.png
|
||||||
File263=marker-verde-3.png
|
File263=marker-verde-29.png
|
||||||
File264=marker-verde-30.png
|
File264=marker-verde-3.png
|
||||||
File265=marker-verde-31.png
|
File265=marker-verde-30.png
|
||||||
File266=marker-verde-32.png
|
File266=marker-verde-31.png
|
||||||
File267=marker-verde-33.png
|
File267=marker-verde-32.png
|
||||||
File268=marker-verde-34.png
|
File268=marker-verde-33.png
|
||||||
File269=marker-verde-35.png
|
File269=marker-verde-34.png
|
||||||
File27=keymon_logo.png
|
File27=kelloggs.png
|
||||||
File270=marker-verde-36.png
|
File270=marker-verde-35.png
|
||||||
File271=marker-verde-37.png
|
File271=marker-verde-36.png
|
||||||
File272=marker-verde-38.png
|
File272=marker-verde-37.png
|
||||||
File273=marker-verde-39.png
|
File273=marker-verde-38.png
|
||||||
File274=marker-verde-4.png
|
File274=marker-verde-39.png
|
||||||
File275=marker-verde-40.png
|
File275=marker-verde-4.png
|
||||||
File276=marker-verde-41.png
|
File276=marker-verde-40.png
|
||||||
File277=marker-verde-42.png
|
File277=marker-verde-41.png
|
||||||
File278=marker-verde-43.png
|
File278=marker-verde-42.png
|
||||||
File279=marker-verde-44.png
|
File279=marker-verde-43.png
|
||||||
File28=kmt.db
|
File28=keymon_logo.png
|
||||||
File280=marker-verde-45.png
|
File280=marker-verde-44.png
|
||||||
File281=marker-verde-46.png
|
File281=marker-verde-45.png
|
||||||
File282=marker-verde-47.png
|
File282=marker-verde-46.png
|
||||||
File283=marker-verde-48.png
|
File283=marker-verde-47.png
|
||||||
File284=marker-verde-49.png
|
File284=marker-verde-48.png
|
||||||
File285=marker-verde-5.png
|
File285=marker-verde-49.png
|
||||||
File286=marker-verde-50.png
|
File286=marker-verde-5.png
|
||||||
File287=marker-verde-51.png
|
File287=marker-verde-50.png
|
||||||
File288=marker-verde-52.png
|
File288=marker-verde-51.png
|
||||||
File289=marker-verde-53.png
|
File289=marker-verde-52.png
|
||||||
File29=login.bal
|
File29=kmt.db
|
||||||
File290=marker-verde-54.png
|
File290=marker-verde-53.png
|
||||||
File291=marker-verde-55.png
|
File291=marker-verde-54.png
|
||||||
File292=marker-verde-56.png
|
File292=marker-verde-55.png
|
||||||
File293=marker-verde-57.png
|
File293=marker-verde-56.png
|
||||||
File294=marker-verde-58.png
|
File294=marker-verde-57.png
|
||||||
File295=marker-verde-59.png
|
File295=marker-verde-58.png
|
||||||
File296=marker-verde-6.png
|
File296=marker-verde-59.png
|
||||||
File297=marker-verde-60.png
|
File297=marker-verde-6.png
|
||||||
File298=marker-verde-61.png
|
File298=marker-verde-60.png
|
||||||
File299=marker-verde-62.png
|
File299=marker-verde-61.png
|
||||||
File3=alerta.jpg
|
File3=alerta.jpg
|
||||||
File30=logo sanfer.jpg
|
File30=login.bal
|
||||||
File300=marker-verde-63.png
|
File300=marker-verde-62.png
|
||||||
File301=marker-verde-64.png
|
File301=marker-verde-63.png
|
||||||
File302=marker-verde-65.png
|
File302=marker-verde-64.png
|
||||||
File303=marker-verde-66.png
|
File303=marker-verde-65.png
|
||||||
File304=marker-verde-67.png
|
File304=marker-verde-66.png
|
||||||
File305=marker-verde-68.png
|
File305=marker-verde-67.png
|
||||||
File306=marker-verde-69.png
|
File306=marker-verde-68.png
|
||||||
File307=marker-verde-7.png
|
File307=marker-verde-69.png
|
||||||
File308=marker-verde-70.png
|
File308=marker-verde-7.png
|
||||||
File309=marker-verde-71.png
|
File309=marker-verde-70.png
|
||||||
File31=Logo_durakelo_192xx192.jpeg
|
File31=logo sanfer.jpg
|
||||||
File310=marker-verde-72.png
|
File310=marker-verde-71.png
|
||||||
File311=marker-verde-73.png
|
File311=marker-verde-72.png
|
||||||
File312=marker-verde-74.png
|
File312=marker-verde-73.png
|
||||||
File313=marker-verde-75.png
|
File313=marker-verde-74.png
|
||||||
File314=marker-verde-76.png
|
File314=marker-verde-75.png
|
||||||
File315=marker-verde-77.png
|
File315=marker-verde-76.png
|
||||||
File316=marker-verde-78.png
|
File316=marker-verde-77.png
|
||||||
File317=marker-verde-79.png
|
File317=marker-verde-78.png
|
||||||
File318=marker-verde-8.png
|
File318=marker-verde-79.png
|
||||||
File319=marker-verde-80.png
|
File319=marker-verde-8.png
|
||||||
File32=logo_exitus1.jpg
|
File32=Logo_durakelo_192xx192.jpeg
|
||||||
File320=marker-verde-81.png
|
File320=marker-verde-80.png
|
||||||
File321=marker-verde-82.png
|
File321=marker-verde-81.png
|
||||||
File322=marker-verde-83.png
|
File322=marker-verde-82.png
|
||||||
File323=marker-verde-84.png
|
File323=marker-verde-83.png
|
||||||
File324=marker-verde-85.png
|
File324=marker-verde-84.png
|
||||||
File325=marker-verde-86.png
|
File325=marker-verde-85.png
|
||||||
File326=marker-verde-87.png
|
File326=marker-verde-86.png
|
||||||
File327=marker-verde-88.png
|
File327=marker-verde-87.png
|
||||||
File328=marker-verde-89.png
|
File328=marker-verde-88.png
|
||||||
File329=marker-verde-9.png
|
File329=marker-verde-89.png
|
||||||
File33=MainPage.bal
|
File33=logo_exitus1.jpg
|
||||||
File330=marker-verde-90.png
|
File330=marker-verde-9.png
|
||||||
File331=marker-verde-91.png
|
File331=marker-verde-90.png
|
||||||
File332=marker-verde-92.png
|
File332=marker-verde-91.png
|
||||||
File333=marker-verde-93.png
|
File333=marker-verde-92.png
|
||||||
File334=marker-verde-94.png
|
File334=marker-verde-93.png
|
||||||
File335=marker-verde-95.png
|
File335=marker-verde-94.png
|
||||||
File336=marker-verde-96.png
|
File336=marker-verde-95.png
|
||||||
File337=marker-verde-97.png
|
File337=marker-verde-96.png
|
||||||
File338=marker-verde-98.png
|
File338=marker-verde-97.png
|
||||||
File339=marker-verde-99.png
|
File339=marker-verde-98.png
|
||||||
File34=Malo.jpg
|
File34=MainPage.bal
|
||||||
File340=nota.bal
|
File340=marker-verde-99.png
|
||||||
File341=NoVenta.bal
|
File341=nota.bal
|
||||||
File342=nuevocliente.bal
|
File342=NoVenta.bal
|
||||||
File343=palomita_verde.png
|
File343=nuevocliente.bal
|
||||||
File344=pedido.bal
|
File344=palomita_verde.png
|
||||||
File345=pedidoitem.bal
|
File345=pedido.bal
|
||||||
File346=planfia_logo.png
|
File346=pedidoitem.bal
|
||||||
File347=planfia_logo_old.png
|
File347=planfia_logo.png
|
||||||
File348=planfia_logo_old2.png
|
File348=planfia_logo_old.png
|
||||||
File349=principal.bal
|
File349=planfia_logo_old2.png
|
||||||
File35=mapa.bal
|
File35=Malo.jpg
|
||||||
File350=proditem.bal
|
File350=principal.bal
|
||||||
File351=productos.bal
|
File351=proditem.bal
|
||||||
File352=productos.bal.old
|
File352=productos.bal
|
||||||
File353=promociones.bal
|
File353=productos.bal.old
|
||||||
File354=qr.bal
|
File354=promociones.bal
|
||||||
File355=rechazo.jpg
|
File355=qr.bal
|
||||||
File356=rojo.png
|
File356=rechazo.jpg
|
||||||
File357=salma.jpg
|
File357=rojo.png
|
||||||
File358=salma.png
|
File358=salma.jpg
|
||||||
File359=senial.jpg
|
File359=salma.png
|
||||||
File36=mapa_rutas.bal
|
File36=mapa.bal
|
||||||
File360=sync.png
|
File360=senial.jpg
|
||||||
File361=tache_rojo.png
|
File361=sync.png
|
||||||
File362=telefonos.bal
|
File362=tache_rojo.png
|
||||||
File363=ticketsDia.bal
|
File363=telefonos.bal
|
||||||
File364=Tiendita.jpg
|
File364=ticketsDia.bal
|
||||||
File365=unilever.jpg
|
File365=Tiendita.jpg
|
||||||
File366=verde.png
|
File366=unilever.jpg
|
||||||
File37=marker-azul-0.png
|
File367=verde.png
|
||||||
File38=marker-azul-1.png
|
File37=mapa_rutas.bal
|
||||||
File39=marker-azul-10.png
|
File38=marker-azul-0.png
|
||||||
|
File39=marker-azul-1.png
|
||||||
File4=alerta_amarilla.png
|
File4=alerta_amarilla.png
|
||||||
File40=marker-azul-100.png
|
File40=marker-azul-10.png
|
||||||
File41=marker-azul-11.png
|
File41=marker-azul-100.png
|
||||||
File42=marker-azul-12.png
|
File42=marker-azul-11.png
|
||||||
File43=marker-azul-13.png
|
File43=marker-azul-12.png
|
||||||
File44=marker-azul-14.png
|
File44=marker-azul-13.png
|
||||||
File45=marker-azul-15.png
|
File45=marker-azul-14.png
|
||||||
File46=marker-azul-16.png
|
File46=marker-azul-15.png
|
||||||
File47=marker-azul-17.png
|
File47=marker-azul-16.png
|
||||||
File48=marker-azul-18.png
|
File48=marker-azul-17.png
|
||||||
File49=marker-azul-19.png
|
File49=marker-azul-18.png
|
||||||
File5=amarillo.png
|
File5=amarillo.png
|
||||||
File50=marker-azul-2.png
|
File50=marker-azul-19.png
|
||||||
File51=marker-azul-20.png
|
File51=marker-azul-2.png
|
||||||
File52=marker-azul-21.png
|
File52=marker-azul-20.png
|
||||||
File53=marker-azul-22.png
|
File53=marker-azul-21.png
|
||||||
File54=marker-azul-23.png
|
File54=marker-azul-22.png
|
||||||
File55=marker-azul-24.png
|
File55=marker-azul-23.png
|
||||||
File56=marker-azul-25.png
|
File56=marker-azul-24.png
|
||||||
File57=marker-azul-26.png
|
File57=marker-azul-25.png
|
||||||
File58=marker-azul-27.png
|
File58=marker-azul-26.png
|
||||||
File59=marker-azul-28.png
|
File59=marker-azul-27.png
|
||||||
File6=anterior.jpg
|
File6=anterior.jpg
|
||||||
File60=marker-azul-29.png
|
File60=marker-azul-28.png
|
||||||
File61=marker-azul-3.png
|
File61=marker-azul-29.png
|
||||||
File62=marker-azul-30.png
|
File62=marker-azul-3.png
|
||||||
File63=marker-azul-31.png
|
File63=marker-azul-30.png
|
||||||
File64=marker-azul-32.png
|
File64=marker-azul-31.png
|
||||||
File65=marker-azul-33.png
|
File65=marker-azul-32.png
|
||||||
File66=marker-azul-34.png
|
File66=marker-azul-33.png
|
||||||
File67=marker-azul-35.png
|
File67=marker-azul-34.png
|
||||||
File68=marker-azul-36.png
|
File68=marker-azul-35.png
|
||||||
File69=marker-azul-37.png
|
File69=marker-azul-36.png
|
||||||
File7=carrito.png
|
File7=carrito.png
|
||||||
File70=marker-azul-38.png
|
File70=marker-azul-37.png
|
||||||
File71=marker-azul-39.png
|
File71=marker-azul-38.png
|
||||||
File72=marker-azul-4.png
|
File72=marker-azul-39.png
|
||||||
File73=marker-azul-40.png
|
File73=marker-azul-4.png
|
||||||
File74=marker-azul-41.png
|
File74=marker-azul-40.png
|
||||||
File75=marker-azul-42.png
|
File75=marker-azul-41.png
|
||||||
File76=marker-azul-43.png
|
File76=marker-azul-42.png
|
||||||
File77=marker-azul-44.png
|
File77=marker-azul-43.png
|
||||||
File78=marker-azul-45.png
|
File78=marker-azul-44.png
|
||||||
File79=marker-azul-46.png
|
File79=marker-azul-45.png
|
||||||
File8=celltitle.bal
|
File8=celltitle.bal
|
||||||
File80=marker-azul-47.png
|
File80=marker-azul-46.png
|
||||||
File81=marker-azul-48.png
|
File81=marker-azul-47.png
|
||||||
File82=marker-azul-49.png
|
File82=marker-azul-48.png
|
||||||
File83=marker-azul-5.png
|
File83=marker-azul-49.png
|
||||||
File84=marker-azul-50.png
|
File84=marker-azul-5.png
|
||||||
File85=marker-azul-51.png
|
File85=marker-azul-50.png
|
||||||
File86=marker-azul-52.png
|
File86=marker-azul-51.png
|
||||||
File87=marker-azul-53.png
|
File87=marker-azul-52.png
|
||||||
File88=marker-azul-54.png
|
File88=marker-azul-53.png
|
||||||
File89=marker-azul-55.png
|
File89=marker-azul-54.png
|
||||||
File9=Cliente.bal
|
File9=Cliente.bal
|
||||||
File90=marker-azul-56.png
|
File90=marker-azul-55.png
|
||||||
File91=marker-azul-57.png
|
File91=marker-azul-56.png
|
||||||
File92=marker-azul-58.png
|
File92=marker-azul-57.png
|
||||||
File93=marker-azul-59.png
|
File93=marker-azul-58.png
|
||||||
File94=marker-azul-6.png
|
File94=marker-azul-59.png
|
||||||
File95=marker-azul-60.png
|
File95=marker-azul-6.png
|
||||||
File96=marker-azul-61.png
|
File96=marker-azul-60.png
|
||||||
File97=marker-azul-62.png
|
File97=marker-azul-61.png
|
||||||
File98=marker-azul-63.png
|
File98=marker-azul-62.png
|
||||||
File99=marker-azul-64.png
|
File99=marker-azul-63.png
|
||||||
FileGroup1=Default Group
|
FileGroup1=Default Group
|
||||||
FileGroup10=Default Group
|
FileGroup10=Default Group
|
||||||
FileGroup100=Default Group
|
FileGroup100=Default Group
|
||||||
@@ -662,6 +663,7 @@ FileGroup363=Default Group
|
|||||||
FileGroup364=Default Group
|
FileGroup364=Default Group
|
||||||
FileGroup365=Default Group
|
FileGroup365=Default Group
|
||||||
FileGroup366=Default Group
|
FileGroup366=Default Group
|
||||||
|
FileGroup367=Default Group
|
||||||
FileGroup37=Default Group
|
FileGroup37=Default Group
|
||||||
FileGroup38=Default Group
|
FileGroup38=Default Group
|
||||||
FileGroup39=Default Group
|
FileGroup39=Default Group
|
||||||
@@ -787,7 +789,7 @@ Module6=C_Historico
|
|||||||
Module7=C_Nota
|
Module7=C_Nota
|
||||||
Module8=C_NoVenta
|
Module8=C_NoVenta
|
||||||
Module9=C_Principal
|
Module9=C_Principal
|
||||||
NumberOfFiles=366
|
NumberOfFiles=367
|
||||||
NumberOfLibraries=31
|
NumberOfLibraries=31
|
||||||
NumberOfModules=23
|
NumberOfModules=23
|
||||||
Version=12.5
|
Version=12.5
|
||||||
@@ -795,7 +797,7 @@ Version=12.5
|
|||||||
#Region Project Attributes
|
#Region Project Attributes
|
||||||
#ApplicationLabel: Durakelo
|
#ApplicationLabel: Durakelo
|
||||||
#VersionCode: 1
|
#VersionCode: 1
|
||||||
#VersionName: 4.01.17
|
#VersionName: 4.01.17_2
|
||||||
'SupportedOrientations possible values: unspecified, landscape or portrait.
|
'SupportedOrientations possible values: unspecified, landscape or portrait.
|
||||||
#SupportedOrientations: portrait
|
#SupportedOrientations: portrait
|
||||||
#CanInstallToExternalStorage: False
|
#CanInstallToExternalStorage: False
|
||||||
|
|||||||
@@ -70,6 +70,6 @@ ModuleClosedNodes6=
|
|||||||
ModuleClosedNodes7=1,3
|
ModuleClosedNodes7=1,3
|
||||||
ModuleClosedNodes8=
|
ModuleClosedNodes8=
|
||||||
ModuleClosedNodes9=
|
ModuleClosedNodes9=
|
||||||
NavigationStack=C_Principal,SUBIR_P_Click,2587,0,C_Principal,Subir_Click,520,0,appUpdater,Service_Create,111,0,Diseñador Visual,login.bal,-100,2,appUpdater,Process_Globals,74,0,B4XMainPage,B4XPage_Appear,185,0,C_UpdateAvailable,Class_Globals,0,0,B4XMainPage,B4XPage_Created,120,0,B4XMainPage,Class_Globals,86,0,Main,Create_Menu,69,0
|
NavigationStack=B4XMainPage,B4XPage_Appear,193,0,C_Principal,B4XPage_Appear,409,6,C_Principal,connecta_Click,1876,0,Diseñador Visual,encuesta.bal,-100,2,C_Principal,cargar_Click,842,0,C_Principal,B4XPage_CloseRequest,1863,0,C_Principal,IsConnectedToInternet,257,0,Tracker,flp_LocationChanged,175,0,Starter,Timer1_Tick,69,6,Starter,ENVIA_ULTIMA_GPS,109,6
|
||||||
SelectedBuild=0
|
SelectedBuild=0
|
||||||
VisibleModules=21,2,9,18,7,4,10,22,11,23,15,1,13
|
VisibleModules=21,2,9,18,7,4,10,22,11,23,15,1,13
|
||||||
|
|||||||
Binary file not shown.
BIN
B4A/Files/encuesta.bal
Normal file
BIN
B4A/Files/encuesta.bal
Normal file
Binary file not shown.
@@ -73,6 +73,7 @@ Private Sub Timer1_Tick
|
|||||||
' ToastMessageShow("Timer",False)
|
' ToastMessageShow("Timer",False)
|
||||||
If logger Then Log("Siguiente actuaizacion " & DateTime.Time(DateTime.Now + Interval * 1000))
|
If logger Then Log("Siguiente actuaizacion " & DateTime.Time(DateTime.Now + Interval * 1000))
|
||||||
ENVIA_ULTIMA_GPS
|
ENVIA_ULTIMA_GPS
|
||||||
|
Log("trato de enviar")
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub Service_TaskRemoved
|
Sub Service_TaskRemoved
|
||||||
@@ -100,12 +101,13 @@ Sub ENVIA_ULTIMA_GPS 'ignore
|
|||||||
' cmd.Initialize
|
' cmd.Initialize
|
||||||
' cmd.Name = "select_fechat"
|
' cmd.Name = "select_fechat"
|
||||||
' reqManager.ExecuteQuery(cmd , 0, "fechat")
|
' reqManager.ExecuteQuery(cmd , 0, "fechat")
|
||||||
' Dim cmd As DBCommand
|
LogColor(lat_gps&","&lon_gps,Colors.Blue)
|
||||||
' cmd.Initialize
|
Dim cmd As DBCommand
|
||||||
' cmd.Name = "UPDATE_DURK_ACTUAL2_GPS"
|
cmd.Initialize
|
||||||
' cmd.Parameters = Array As Object(Main.montoActual,Main.clientestotal, Main.clientesventa,Main.clientesvisitados,lat_gps,lon_gps,Main.batt,0, 0, 0,Main.ALMACEN,Main.rutapreventa)
|
cmd.Name = "UPDATE_DURK_ACTUAL2_GPS"
|
||||||
' reqManager.ExecuteCommand(cmd,"inst_visitas")
|
cmd.Parameters = Array As Object(B4XPages.MainPage.montoActual, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesventa,B4XPages.MainPage.clientesvisitados,lat_gps,lon_gps,B4XPages.MainPage.batt,0, 0, 0,B4XPages.MainPage.ALMACEN,B4XPages.MainPage.rutapreventa)
|
||||||
' skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ? WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso"))
|
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"))
|
||||||
|
|
||||||
'Reiniciamos el timer para cuando llamamos el Sub desde "seleccion"
|
'Reiniciamos el timer para cuando llamamos el Sub desde "seleccion"
|
||||||
Timer1.Enabled = False
|
Timer1.Enabled = False
|
||||||
|
|||||||
286
B4A/appUpdater.bas
Normal file
286
B4A/appUpdater.bas
Normal file
@@ -0,0 +1,286 @@
|
|||||||
|
B4A=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Service
|
||||||
|
Version=10.2
|
||||||
|
@EndOfDesignText@
|
||||||
|
#Region Service Attributes
|
||||||
|
#StartAtBoot: False
|
||||||
|
#End Region
|
||||||
|
|
||||||
|
'////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
'//// Servicio para revisar si hay actualizacion de aplicación, usa la
|
||||||
|
'//// actividad "updateAvailable" para mostrar mensajes.
|
||||||
|
'////
|
||||||
|
'//// https://www.b4x.com/android/forum/threads/update-your-app-without-using-the-gplaystore.109720/#content
|
||||||
|
'////
|
||||||
|
'//// En la actividad del la cual se va a llamar la revision de actualizacion
|
||||||
|
'//// hay que agregar los siguientes Subs:
|
||||||
|
'////
|
||||||
|
' Sub boton_que_llama_revision_Click
|
||||||
|
' StartService(appUpdater)
|
||||||
|
' End Sub
|
||||||
|
'
|
||||||
|
' appUpdater - Mostramos el anuncio de que se esta descargando el nuevo apk
|
||||||
|
' Sub muestraProgreso
|
||||||
|
' ProgressDialogShow("Descargando actualización")
|
||||||
|
' End Sub
|
||||||
|
'
|
||||||
|
' appUpdater - Ocultamos el anuncio de que se esta descargando el nuevo apk
|
||||||
|
' Sub ocultaProgreso
|
||||||
|
' ProgressDialogHide
|
||||||
|
' End Sub
|
||||||
|
'////
|
||||||
|
'//// Requiere las siguientes librerias:
|
||||||
|
'////
|
||||||
|
'//// * JavaObject
|
||||||
|
'//// * OkHttpUtils2
|
||||||
|
'//// * Phone
|
||||||
|
'//// * RuntimePermissions
|
||||||
|
'//// * appUpdating
|
||||||
|
'////
|
||||||
|
'//// Requiere las siguientes lineas en el manifiesto:
|
||||||
|
'////
|
||||||
|
' AddManifestText(<uses-permission
|
||||||
|
' android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||||
|
' android:maxSdkVersion="18" />
|
||||||
|
' )
|
||||||
|
' AddApplicationText(
|
||||||
|
' <provider
|
||||||
|
' android:name="android.support.v4.content.FileProvider"
|
||||||
|
' android:authorities="$PACKAGE$.provider"
|
||||||
|
' android:exported="false"
|
||||||
|
' android:grantUriPermissions="true">
|
||||||
|
' <meta-data
|
||||||
|
' android:name="android.support.FILE_PROVIDER_PATHS"
|
||||||
|
' android:resource="@xml/provider_paths"/>
|
||||||
|
' </provider>
|
||||||
|
' )
|
||||||
|
' CreateResource(xml, provider_paths,
|
||||||
|
' <paths>
|
||||||
|
' <external-files-path name="name" path="" />
|
||||||
|
' <files-path name="name" path="" />
|
||||||
|
' <files-path name="name" path="shared" />
|
||||||
|
' </paths>
|
||||||
|
' )
|
||||||
|
' AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)
|
||||||
|
' AddPermission(android.permission.INTERNET)
|
||||||
|
' AddPermission(android.permission.INSTALL_PACKAGES)
|
||||||
|
' AddPermission(android.permission.READ_EXTERNAL_STORAGE)
|
||||||
|
' AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)
|
||||||
|
' AddPermission(android.permission.READ_PHONE_STATE)
|
||||||
|
' AddPermission(android.permission.WAKE_LOCK)
|
||||||
|
'////
|
||||||
|
'////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
Sub Process_Globals
|
||||||
|
'These global variables will be declared once when the application starts.
|
||||||
|
'These variables can be accessed from all modules.
|
||||||
|
|
||||||
|
'Aqui va la liga al archivo .ver en el servidor que contiene la información de la aplicacion
|
||||||
|
Public lnk As String = "https://keymon.lat/movil/Durakelo/durakelo.ver"
|
||||||
|
' Public lnk As String = "https://10.0.0.205/Movil/Guna/cedex.ver"
|
||||||
|
'##########################################
|
||||||
|
'## La ruta en el servidor es: ##
|
||||||
|
'## \\10.0.0.205\e$\Cargas\Movil\Guna ##
|
||||||
|
'##########################################
|
||||||
|
'/// En el servidor se necesita un archivo de texto (.ver) que tenga los siguientes
|
||||||
|
'/// datos separados por un tabulador
|
||||||
|
'/// contents of ver file, each field is seperated by a tab
|
||||||
|
' Field 0 = 2.226.19.09.19.01a <-- Esta es la version de la aplicación disponible
|
||||||
|
' Field 1 = A new version of the MyAPP is available, Download and update now ? <-- Mensaje para cuando hay actualización
|
||||||
|
' Field 2 = MyApp is up to date <--- Mensaje para cuando no hay actualización
|
||||||
|
' Field 3 = http://www.mydomain.com/Public/myapp.apk <--- Liga al apk de la actualización
|
||||||
|
|
||||||
|
Public nNewApp As Notification
|
||||||
|
Public nNewAppnID As Int = 16
|
||||||
|
'Para Download
|
||||||
|
Dim nativeMe As JavaObject
|
||||||
|
Dim n2 As Notification
|
||||||
|
Dim n2ID As Int = 16
|
||||||
|
'Para fileProvider
|
||||||
|
Public SharedFolder As String
|
||||||
|
Public UseFileProvider As Boolean
|
||||||
|
Private rp As RuntimePermissions
|
||||||
|
|
||||||
|
Type mNewVersion(update As Boolean, nonewAPP As Boolean, notifyUser As Boolean, _
|
||||||
|
version As String, newMsg As String, okMsg As String, appLink As String)
|
||||||
|
Public newApp As mNewVersion
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Service_Create
|
||||||
|
Log("appUpdater(), Service_Create")
|
||||||
|
newApp.Initialize
|
||||||
|
Service.AutomaticForegroundMode = Service.AUTOMATIC_FOREGROUND_NEVER
|
||||||
|
n2.Initialize
|
||||||
|
nativeMe.InitializeContext
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Service_Start (StartingIntent As Intent)
|
||||||
|
Log("appUpdater(), Service_Start")
|
||||||
|
' CallSubDelayed2(Main, "muestraProgreso", "Buscando actualización")
|
||||||
|
B4XPages.MainPage.muestraProgreso("Buscando actualización")
|
||||||
|
Log("Buscando actualización")
|
||||||
|
fileProvider_init
|
||||||
|
Wait For (Download(Me, lnk)) JobDone (j As HttpJob)
|
||||||
|
If j.Success Then
|
||||||
|
Try
|
||||||
|
Dim app() As String = Regex.Split(Chr(9),j.GetString)
|
||||||
|
' // Set the data
|
||||||
|
newApp.appLink = app(3) 'Liga a nueva app
|
||||||
|
newApp.newMsg = app(1) 'Texto de que hay actualizacion
|
||||||
|
newApp.okMsg = app(2) 'Texto de app al corriente
|
||||||
|
newApp.version = app(0) 'Version actual
|
||||||
|
|
||||||
|
Log($"Application.VersionName=${Application.VersionName}, newApp=${newApp}"$)
|
||||||
|
|
||||||
|
' // App version check
|
||||||
|
If newApp.version = Application.VersionName Then
|
||||||
|
newApp.update = False
|
||||||
|
Log("No new app")
|
||||||
|
B4XPages.ShowPage("updateAvailable")
|
||||||
|
'Se puede mandar tambien una notificacion avisando que NO hay actualizaciones
|
||||||
|
CreateNotification2("Aplicacion al corriente","No hay actualizaciones disponibles","ic_file_download_white_24dp",Main,True,True,nNewApp,nNewAppnID)
|
||||||
|
End If
|
||||||
|
If newApp.version <> Application.VersionName Then
|
||||||
|
newApp.update = True
|
||||||
|
Log("New app true")
|
||||||
|
B4XPages.ShowPage("updateAvailable")
|
||||||
|
'Se puede mandar tambien una notificacion avisando que hay actualizacion disponible
|
||||||
|
' CreateNotification2("Nueva aplicación disponible","Haga clic para descargar.","ic_file_download_white_24dp",C_UpdateAvailable,True,True,nNewApp,nNewAppnID)
|
||||||
|
End If
|
||||||
|
Catch
|
||||||
|
Log("appUpdater(), Job Failed, error " & LastException.Message)
|
||||||
|
End Try
|
||||||
|
Else
|
||||||
|
Log("appUpdater(), Job Failed " & lnk)
|
||||||
|
End If
|
||||||
|
j.Release
|
||||||
|
' StopService(Me)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub download_Start (StartingIntent As Intent)
|
||||||
|
download_newApk
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub download_newApk
|
||||||
|
' CreateNotification("Descargando actualización", "Descargando apk", "ic_file_download_white_24dp", Main, False, True)
|
||||||
|
' CallSubDelayed2(Main, "muestraProgreso", "Descargando actualización")
|
||||||
|
Log("Descargando actualización")
|
||||||
|
B4XPages.ShowPage("login")
|
||||||
|
Starter.muestraProgreso = 1
|
||||||
|
Dim job_newAPP As HttpJob
|
||||||
|
job_newAPP.Initialize("job_newAPP",Me)
|
||||||
|
job_newAPP.Download(newApp.appLink)
|
||||||
|
Wait for (job_newAPP) JobDone (job_newAPP As HttpJob)
|
||||||
|
If job_newAPP.Success = True Then
|
||||||
|
' // Delete existing file
|
||||||
|
If File.Exists(SharedFolder,"newapp.apk") Then
|
||||||
|
File.Delete(SharedFolder,"newapp.apk")
|
||||||
|
End If
|
||||||
|
' // Save new file
|
||||||
|
Dim outNewAPK As OutputStream = File.OpenOutput(SharedFolder,"newapp.apk", False)
|
||||||
|
File.Copy2(job_newAPP.GetInputStream, outNewAPK)
|
||||||
|
outNewAPK.Close
|
||||||
|
If Starter.Logger Then Log("APK dir: "&SharedFolder)
|
||||||
|
End If
|
||||||
|
job_newAPP.Release
|
||||||
|
' // Install the app
|
||||||
|
Dim in As Intent
|
||||||
|
in.Initialize(in.ACTION_VIEW,"" )
|
||||||
|
SetFileUriAsIntentData(in, "newapp.apk")
|
||||||
|
' // Type must be set after calling SetFileUriAsIntentData
|
||||||
|
in.SetType("application/vnd.android.package-archive")
|
||||||
|
StartActivity(in)
|
||||||
|
n2.Cancel(nNewAppnID)
|
||||||
|
B4XPages.MainPage.ocultaProgreso
|
||||||
|
' Service.StopForeground(nNewAppnID)
|
||||||
|
StopService(Me)
|
||||||
|
' CallSubDelayed(Main,"ocultaProgreso")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub download_Destroy
|
||||||
|
n2.Cancel(n2ID)
|
||||||
|
Service.StopForeground(n2ID)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Download (Callback As Object, link As String) As HttpJob
|
||||||
|
Dim j As HttpJob
|
||||||
|
j.Initialize("", Callback)
|
||||||
|
j.Download(link)
|
||||||
|
Return j
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CreateNotification2(Title As String, Content As String, _ 'ignore
|
||||||
|
Icon As String, TargetActivity As Object, Sound As Boolean, _
|
||||||
|
Vibrate As Boolean, pN As Notification,pNID As Int) As Notification
|
||||||
|
pN.Initialize2(pN.IMPORTANCE_HIGH)
|
||||||
|
' pN.Number = pNID
|
||||||
|
' pN.Light = False
|
||||||
|
pN.Vibrate = Vibrate
|
||||||
|
pN.Sound = Sound
|
||||||
|
' pN.OnGoingEvent = False
|
||||||
|
pN.Icon = Icon
|
||||||
|
pN.AutoCancel = True
|
||||||
|
pN.SetInfo(Title, Content, TargetActivity)
|
||||||
|
pN.Notify(pNID)
|
||||||
|
Return pN
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CreateNotification(Title As String, Content As String, Icon As String, TargetActivity As Object, Sound As Boolean, Vibrate As Boolean) As Notification 'ignore
|
||||||
|
n2.Initialize
|
||||||
|
n2.Light = False
|
||||||
|
n2.Vibrate = Vibrate
|
||||||
|
n2.Sound = Sound
|
||||||
|
n2.OnGoingEvent = True
|
||||||
|
n2.Icon = Icon
|
||||||
|
n2.SetInfo(Title, Content, TargetActivity)
|
||||||
|
n2.Notify(nNewAppnID)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub Service_Destroy
|
||||||
|
Log("appUpdater(), Service_Destroy")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub fileProvider_init
|
||||||
|
Dim p As Phone
|
||||||
|
If p.SdkVersion >= 24 Or File.ExternalWritable = False Then
|
||||||
|
UseFileProvider = True
|
||||||
|
SharedFolder = File.Combine(File.DirInternal, "shared")
|
||||||
|
If Not(File.IsDirectory(File.DirInternal,"shared")) Then
|
||||||
|
File.MakeDir("", SharedFolder)
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
UseFileProvider = False
|
||||||
|
SharedFolder = rp.GetSafeDirDefaultExternal("shared")
|
||||||
|
End If
|
||||||
|
Log($"Using FileProvider? ${UseFileProvider}"$)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Returns the file uri.
|
||||||
|
Sub GetFileUri (FileName As String) As Object
|
||||||
|
Try
|
||||||
|
If Not(UseFileProvider) Then
|
||||||
|
Dim uri As JavaObject
|
||||||
|
Return uri.InitializeStatic("android.net.Uri").RunMethod("parse", Array("file://" & File.Combine(SharedFolder, FileName)))
|
||||||
|
End If
|
||||||
|
Dim f As JavaObject
|
||||||
|
f.InitializeNewInstance("java.io.File", Array(SharedFolder, FileName))
|
||||||
|
Dim fp As JavaObject
|
||||||
|
Dim context As JavaObject
|
||||||
|
context.InitializeContext
|
||||||
|
fp.InitializeStatic("android.support.v4.content.FileProvider")
|
||||||
|
Return fp.RunMethod("getUriForFile", Array(context, Application.PackageName & ".provider", f))
|
||||||
|
Catch
|
||||||
|
Log("FileProvider::GetFileUri - error - " & LastException.Message)
|
||||||
|
Return ""
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Replaces the intent Data field with the file uri.
|
||||||
|
'Resets the type field. Make sure to call Intent.SetType after calling this method
|
||||||
|
Sub SetFileUriAsIntentData (Intent As Intent, FileName As String)
|
||||||
|
Dim jo As JavaObject = Intent
|
||||||
|
jo.RunMethod("setData", Array(GetFileUri(FileName)))
|
||||||
|
Intent.Flags = Bit.Or(Intent.Flags, 1) 'FLAG_GRANT_READ_URI_PERMISSION
|
||||||
|
End Sub
|
||||||
Reference in New Issue
Block a user