- VERSION 4.10.11

- Encuesta Pedrigree Cajitas Act II
- Actualizacion Forzosa
This commit is contained in:
Jose Alberto Guerra Ugalde
2024-10-16 10:22:00 -06:00
parent b7c9be5201
commit 828527ea5f
13 changed files with 306 additions and 158 deletions

View File

@@ -38,17 +38,6 @@ Sub Class_Globals
Public pedidos As C_Pedidos
Public promos As C_Promos
Public historico As C_Historico
'nuevocliente -> NuevoCliente
'buscar -> ticketsDia
'colonia -> clientes
'nopago -> noVenta
'tarjeta -> Nota
'fila -> Cliente
'colonia2 -> Productos
'xxxxxxxxxxxxxxxxxxxxxxxxx
Dim reqManager As DBRequestManager
Dim v As String = Application.VersionName
Dim ruta As String
@@ -86,7 +75,7 @@ Sub Class_Globals
Private l_version As Label
Private ImageView1 As ImageView
Private Label2 As Label
Private Entrar As Button
Dim Entrar As Button
Dim tipo_venta As String
Dim bTerminarClicked As Boolean = False
Private lv_server As ListView
@@ -99,6 +88,9 @@ Sub Class_Globals
Private B4XSwitch2 As B4XSwitch
Dim x As Int
Private et_codigo As EditText
Dim buscandoActualizacion As Boolean = False
Dim actualizacionRevisada As Boolean = False 'Parte de la funcionalidad "appUpdater"
Private b_actualizacion As Button
End Sub
Public Sub Initialize
@@ -107,6 +99,7 @@ End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Log("##### CREAMOS MAINPAGE LOGIN")
B4XPages.GetManager.LogEvents = True
Root = Root1
Root.LoadLayout("login")
@@ -139,15 +132,10 @@ Private Sub B4XPage_Created (Root1 As B4XView)
B4XPages.AddPage("Promos", promos)
historico.Initialize
B4XPages.AddPage("Historico", historico)
p_Main.Height = Root.Height
p_Main.Width = Root.Width
ruta = Starter.ruta
Provider.Initialize
' Subs.borraArribaDe100Errores ' Para Websockets
' Subs.borraArribaDe600RenglonesBitacora ' Para Websockets
If File.Exists(File.DirInternal, "kmt.db") = False Then
File.Copy(File.DirAssets, "kmt.db", File.DirInternal, "kmt.db")
End If
@@ -182,10 +170,11 @@ Private Sub B4XPage_Created (Root1 As B4XView)
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA (HE_CLIE TEXT, HE_RES TEXT, HE_FECHA TEXT, HE_TIPO TEXT, HE_LAT TEXT, HE_LON TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS BITACORAGPS(fechab TEXT, usuariob TEXT, almacenb TEXT, rutab TEXT, eventob TEXT, clienteb TEXT, iniciob TEXT, finb TEXT, latitudb TEXT, longitudb TEXT, precision TEXT, motivonoventa TEXT, motivonovisita TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS kmt_info2(CAT_CL_FOTO BLOB, CAT_CL_NUM_SERIEFISICO TEXT, CAT_CL_MTOCOMPRA TEXT, CAT_CL_CEDIS TEXT, CAT_CL_LAT TEXT, CAT_CL_LONG TEXT, CAT_CL_FBAJA TEXT, CAT_CL_FALTA TEXT, CAT_CL_CP TEXT, CAT_CL_EDO TEXT, CAT_CL_MUNI TEXT, CAT_CL_COLONIA TEXT, CAT_CL_CALLE2 TEXT, CAT_CL_CALLE1 TEXT, CAT_CL_NOINT TEXT, CAT_CL_NOEXT TEXT, CAT_CL_CALLE TEXT, CAT_CL_EMAIL TEXT, CAT_CL_TELEFONO TEXT, CAT_CL_ATIENTE2 TEXT, CAT_CL_ATIENDE1 TEXT, CAT_CL_NOMBRE TEXT, CAT_CL_GIRO TEXT, CAT_CL_DIAS_VISITA TEXT, CAT_CL_TIPO_RUTA TEXT, CAT_CL_RUTA TEXT, CAT_CL_CODIGO TEXT, gestion NUMERIC)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_PRO2265(H_IDCLIENTE)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_PRO2265(H_IDCLIENTE TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_PRO3054(H_IDCLIENTE TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_PRO3055(H_IDCLIENTE TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTA_SUPLENCIA(RS_RUTA TEXT)")
' skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_VARIABLES (CAT_VA_DESCRIPCION TEXT, CAT_VA_VALOR TEXT)")
Subs.agregaColumna("HIST_ENCUESTA", "HE_LAT", "TEXT")
Subs.agregaColumna("HIST_ENCUESTA", "HE_FOTO", "BLOB")
Subs.agregaColumna("PEDIDO", "PE_RECALCULO", "TEXT")
@@ -204,7 +193,6 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Log(LastException)
End Try
End Try
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna "P11" en la tabla
c=skmt.ExecQuery("SELECT COUNT(*) AS fCol FROM pragma_table_info('ENCUESTA_MODULO3') WHERE name='P11'")
c.Position = 0
@@ -218,9 +206,6 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Log(LastException)
End Try
End Try
c=skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_STAY_OUT ")
C.Position = 0
If c.GetString("CUANTOS") = 0 Then
@@ -248,22 +233,29 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End Sub
Sub B4XPage_Appear
' Log("buscandoActualizacion-" & buscandoActualizacion)
' Log("actualizacionRevisada-" & actualizacionRevisada)
'Buscamos actualización de app (appUpdater)
' If Not(versionRevisadaHoy) And Not(actualizacionRevisada) And Starter.muestraProgreso = 0 Then
' buscandoActualizacion = True
' Entrar.Enabled = False
' revisaActualizacion
' End If
reqManager.Initialize(Me, Starter.server)
If Starter.muestraProgreso = 1 Then
muestraProgreso("Descargando actualización")
muestraProgreso("Descargando nueva versión, un momento por favor.")
Starter.muestraProgreso = 0
End If
Dim ph As Phone 'Get Id Device
Dim DeviceID As String = ph.GetSettings("android_id").ToUpperCase
LogColor($"////////////////// DeviceID: ${DeviceID} ////////////////// "$, Colors.Blue)
' LogColor($"////////////////// DeviceID: ${DeviceID} ////////////////// "$, Colors.Blue)
LogColor("Revisa permisos Phone_State", Colors.Green)
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE)
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
If Result Then
IMEN.Text =""
IMEI = ""
LogColor($"////////////////// IMEI: ${IMEI} ////////////////// "$, Colors.Blue)
' LogColor($"////////////////// IMEI: ${IMEI} ////////////////// "$, Colors.Blue)
IMEI="" 'Pruebas
End If
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION)
@@ -272,7 +264,7 @@ Sub B4XPage_Appear
StartService(Tracker)
Log("Start Tracker")
Else
ToastMessageShow("No permission", True)
ToastMessageShow("Sin permisos de ubicacion", True)
End If
server = Starter.server
tgl.Initialize()
@@ -311,7 +303,6 @@ Sub B4XPage_Appear
'Obtenemos el usuario registrado
CallSubDelayed(FirebaseMessaging, "SubscribeToTopics")
dameUsuario
c = skmt.ExecQuery("SELECT HABILITADA FROM IMPRESORA")
If c.RowCount > 0 Then
c.Position = 0
@@ -323,14 +314,10 @@ Sub B4XPage_Appear
Else
B4XSwitch1.Value = False
End If
c = skmt.ExecQuery("SELECT HABILITADO FROM GPS")
If c.RowCount = 0 Then
skmt.ExecNonQuery2("INSERT INTO GPS VALUES (?)", Array As Object(0))
Else
End If
c = skmt.ExecQuery("SELECT HABILITADO FROM GPS")
If c.RowCount > 0 Then
c.Position = 0
@@ -347,6 +334,17 @@ End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub Entrar_Click
Dim reqManager9000 As DBRequestManager
reqManager9000.Initialize(Me, "http://keymon.lat:9000")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "selectVersionGuna"
cmd.Parameters = Array As Object("1")
Log("#### TEST QUERY FALSO")
reqManager9000.ExecuteQuery(cmd , 0, "testQueryFalso")
Dim r As Reflector
Dim Api As Int
Dim PP As Phone
@@ -373,7 +371,6 @@ 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
@@ -412,7 +409,6 @@ Sub Entrar_Click
else if user.Text = "IMEI" Then
user.Text = IMEI
End If
c=skmt.ExecQuery2("select count(*) as EXISTE1 from usuarioa where usuario = ?", Array As String(user.Text))
c.Position=0
existe = c.GetString("EXISTE1")
@@ -449,6 +445,14 @@ Sub Entrar_Click
End If
End Sub
Sub Entrar_LongClick
' dim a as int = "a"
End Sub
Private Sub user_EnterPressed
If user.text = "KMTS1" Then Entrar.Enabled = True
End Sub
Sub JobDone(Job As HttpJob)
Log(Job.Success)
If Job.Success = False Then
@@ -506,7 +510,6 @@ Sub JobDone(Job As HttpJob)
Next
paso1 = 1
ToastMessageShow(name, False)
Log("////////////////////////// "&name)
End If
End If
@@ -536,24 +539,20 @@ Sub JobDone(Job As HttpJob)
B4XSwitch2.Value = True
skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(1))
et_codigo.Text = ""
Private c2 As Cursor = skmt.ExecQuery("select distinct CAT_CL_RUTA from kmt_info2 where CAT_CL_RUTA not in (select * from ruta_suplencia)")
c2.Position = 0
Private rutades As String = c2.GetString("CAT_CL_RUTA")
c2.Close
Private c2 As Cursor = skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN")
c2.Position = 0
Private almacendes As String = c2.GetString("ID_ALMACEN")
c2.Close
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "delete_geoPass_GUNA"
' Log(Subs.traeAlmacen&", "& Subs.traeRuta)
cmd.Parameters = Array As Object( almacendes,rutades)
reqManager.ExecuteCommand(cmd , "traeGeoPass")
Else If cuenta = "0" Then
MsgboxAsync("Codigo incorrecto","Atención")
p_validacion.Visible = False
@@ -666,13 +665,6 @@ Sub PDF_Click
End Sub
'Private Sub GetAdvertisingId As ResumableSub
' Dim jo As JavaObject = Me
' jo.RunMethod("GetAdvertisingId", Null)
' Wait For AdvertisingId_Ready (Success As Boolean, Id As String)
' Return Id
'End Sub
Sub dameUsuario
c=skmt.ExecQuery2("select count(*) as EXISTE1 from usuarioa where usuario = ?", Array As String(user.Text))
c.Position=0
@@ -750,18 +742,13 @@ Sub i_engrane_Click
l_server.Text = Starter.server
Subs.panelVisible(p_appUpdate,0,0)
p_appUpdate.Height = Root.Height
c = skmt.ExecQuery("SELECT HABILITADA FROM IMPRESORA")
If c.RowCount = 0 Then
skmt.ExecNonQuery2("INSERT INTO IMPRESORA VALUES (?)", Array As Object(0))
Else
End If
c = skmt.ExecQuery("SELECT HABILITADO FROM GPS")
If c.RowCount = 0 Then
skmt.ExecNonQuery2("INSERT INTO GPS VALUES (?)", Array As Object(0))
Else
End If
End Sub
@@ -773,10 +760,6 @@ Sub i_engrane_LongClick
copiaDB
End Sub
Sub Entrar_LongClick
' dim a as int = "a"
End Sub
Private Sub lv_server_ItemClick (Position As Int, Value As Object)
Starter.server = Value
l_server.Text = Value
@@ -803,7 +786,6 @@ Private Sub b_envioBD_Click
StartActivity(in)
End Sub
Private Sub B4XSwitch1_ValueChanged (Value As Boolean)
If Value Then
Log("1")
@@ -815,13 +797,11 @@ Private Sub B4XSwitch1_ValueChanged (Value As Boolean)
End Sub
Private Sub B4XSwitch2_ValueChanged (Value2 As Boolean)
c = skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String("CARGA_DIA"))
If c.RowCount > 0 Then
c.Position = 0
If c.GetString("CAT_VA_VALOR") = 1 Then
If Value2 Then
p_validacion.Visible = True
p_validacion.Left = (Root.Width/2) - (p_appUpdate.Width/2)
Subs.panelVisible(p_validacion,0,0)
@@ -836,13 +816,9 @@ Private Sub B4XSwitch2_ValueChanged (Value2 As Boolean)
MsgboxAsync("Por favor primero haz carga de día","Atención")
B4XSwitch2.Value = False
End If
End Sub
Private Sub p_validacion_Click
End Sub
Private Sub b_cancelarcodigo_Click
@@ -853,31 +829,25 @@ End Sub
Private Sub b_aceptar_Click
If et_codigo.Text <> "" Then
Private c2 As Cursor = skmt.ExecQuery("select distinct CAT_CL_RUTA from kmt_info2 where CAT_CL_RUTA not in (select * from ruta_suplencia)")
c2.Position = 0
Private rutades As String = c2.GetString("CAT_CL_RUTA")
c2.Close
Private c2 As Cursor = skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN")
c2.Position = 0
Private almacendes As String = c2.GetString("ID_ALMACEN")
c2.Close
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_geoPass_GUNA"
cmd.Parameters = Array As Object(et_codigo.Text, almacendes, rutades)
reqManager.ExecuteQuery(cmd , 0, "geopass")
Else If et_codigo.Text = "" Then
MsgboxAsync("Ingresa un codigo","Atención")
p_validacion.Visible = False
B4XSwitch2.Value = False
skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(0))
et_codigo.Text = ""
End If
' c = skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =? ", Array As String("pasword"))
@@ -905,5 +875,91 @@ Private Sub b_aceptar_Click
' B4XSwitch2.Value = False
' skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(0))
' End If
End Sub
Sub revisaActualizacion 'Parte de la funcionalidad "appUpdater"
'################################################
'## Hay que subir el nuevo APK al servidor. ##
'## La ruta en el servidor es: \\10.0.0.205\e$\Cargas\MOVIL\Guna ##
'## Hay que actualizar la version en el archivo "gunaPreventa.ver" ##
'################################################
LogColor("Buscarmos archivo Ver", Colors.red)
Private link As String = "https://keymon.lat/movil/guna/gunaPreventa.ver"
Wait For (traeArchivoVer(Me, link)) JobDone (j As HttpJob)
If j.Success Then
LogColor("Archivo .VER encontrado.", Colors.red)
Try
Dim app() As String = Regex.Split(Chr(9),j.GetString)
' // Set the data
Starter.newApp.appLink = app(3) 'Liga a nuevo apk
Starter.newApp.newMsg = app(1) 'Texto de que hay actualizacion
Starter.newApp.okMsg = app(2) 'Texto de app al corriente
Starter.newApp.version = app(0) 'Version actual
Log($"Application.VersionName=${Application.VersionName}, newApp=${Starter.newApp}"$)
'Guardamos la fecha de la última revisión en CAT_VARIABLES.
DateTime.DateFormat = "yyyyMMdd"
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("REVISION_APK"))
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("REVISION_APK", DateTime.Date(DateTime.Now)))
' // App version check
If Starter.newApp.version = Application.VersionName Then
Starter.newApp.update = False
LogColor("No hay nuevo APK", Colors.red)
B4XPages.MainPage.Entrar.Enabled = True
End If
If Starter.newApp.version <> Application.VersionName Then
Starter.newApp.update = True
LogColor("Hay nuevo APK", Colors.red)
b_actualizacion.Visible = True
CallSubDelayed(appUpdater, "download_newApk")
End If
Catch
LogColor("appUpdater(), Job Failed, error " & LastException.Message, Colors.red)
If Msgbox2("Hubo un error: " & LastException.Message, "FALLO LA ACTUALIZACIÓN", "OK", "", "", Null) = DialogResponse.POSITIVE Then 'Ignore
ExitApplication
End If
End Try
Else
LogColor("appUpdater(), Job Failed " & link & CRLF & LastException.Message, Colors.Red)
If Msgbox2("Es necesaria una conexión a internet, por favor revise su conexión y vuelva a intentar", "ATENCIÓN", "OK", "", "", Null) = DialogResponse.POSITIVE Then 'Ignore
ExitApplication
End If
End If
j.Release
End Sub
'En el servidor se necesita un archivo de texto (.ver) que tenga los siguientes
'datos separados por un tabulador:
' Campo 0 = 4.10.10 <-- Esta es la version de la aplicación disponible.
' Campo 1 = Hay una nueva actualizacion disponible. <-- Mensaje para cuando hay actualización.
' Campo 2 = Tu version es la ultima. <--- Mensaje para cuando no hay actualización.
' Campo 3 = https://keymon.lat/movil/guna/Guna_Preventa.apk <--- Liga al apk de la actualización.
Sub traeArchivoVer (Callback As Object, link As String) As HttpJob 'Parte de la funcionalidad "appUpdater"
Dim j As HttpJob
j.Initialize("", Callback)
j.GetRequest.Timeout = 5000
j.Download(link)
Return j
End Sub
'Regresa verdadero si ya se reviso la version del apk el dia de hoy.
Sub versionRevisadaHoy As Boolean
Private revisada As Boolean = False
c = skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("REVISION_APK"))
If c.RowCount > 0 Then
c.Position = 0
DateTime.DateFormat = "yyyyMMdd"
If DateTime.Date(DateTime.Now) = c.GetString("CAT_VA_VALOR") Then
revisada = True
LogColor("La versión ya se revisó el día de hoy.", Colors.Red)
End If
End If
' #######################################
' ### REGRESAMOS FALSE PARA QUE SIEMPRE REVISE ###
' #######################################
Return False
' Return revisada
End Sub
Private Sub b_actualizacion_Click
CallSubDelayed(appUpdater, "download_newApk")
End Sub

View File

@@ -424,6 +424,7 @@ Sub Class_Globals
Dim contadorIniciarVenta As Int = 0
Dim IniVenNO As Boolean = False
Private geoCont As Int = 0
Private l_version As Label
End Sub
'You can add more parameters here.
@@ -475,6 +476,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
p_pregunta1.Width = Root.Height
Tels.Visible = False
gest.Visible = False
l_version.Left = Root.Width - (l_version.Width + 10)
cuest.Initialize(Me, "cuest", Root, B4XPages.MainPage.skmt)
End Sub
@@ -494,7 +496,7 @@ Sub B4XPage_Appear
LA_GPS.TextColor = Colors.Red
LA_GPS.Text = "SIN UBICACION GPS"
cercavalor = 0
l_version.Text = Application.VersionName
b_Inicio_Fin_venta.Text = "INICIAR VENTA"
b_Inicio_Fin_venta.BringToFront
' LogColor(">>>>>> EN VENTA: " & Starter.enVenta, Colors.red)
@@ -1681,7 +1683,7 @@ Private Sub b_preguntag_Click
Else
Msgbox("Contesta la pregunta de favor","AVISO")
Msgbox("Contesta la pregunta por favor","AVISO")
End If
End Sub

View File

@@ -645,7 +645,7 @@ Sub Subir_Click
cmd.Name = "insert_encuesta2_GUNA"
'TMP_HE_CLIE, TMP_HE_RES, TMP_HE_FECHA, TMP_HE_TIPO, TMP_HE_IDALMACEN, TMP_HE_RUTA, TMP_HE_LONGITUD, TMP_HE_LATITUD, TMP_HE_EXISTE
cmd.Parameters = Array As Object(C.GetString("HE_CLIE"), C.GetString("HE_RES"), C.GetString("HE_FECHA"), c.GetString("HE_TIPO"), Subs.traeAlmacen, Subs.traeRuta, c.GetString("HE_LAT"), c.GetString("HE_LON"), "", c.GetBlob("HE_FOTO"))
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_encuesta")
Next
End If
c.Close
@@ -684,23 +684,23 @@ Sub Subir_Click
d.Close
' 'CUESTIONARIO
' c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario"$)
' Private rutaActual As String = Subs.traeRuta
' If c.RowCount > 0 Then
' For i = 0 To c.RowCount - 1
' c.Position = i
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "insert_CUESTIONARIO_GUNA"
' cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, ALMACEN, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA"))
' B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_cuestionario")
' Next
' End If
' c.Close
c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario"$)
Private rutaActual As String = Subs.traeRuta
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
c.Position = i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_CUESTIONARIO_GUNA"
cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, ALMACEN, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA"))
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_cuestionario")
Next
End If
c.Close
' NOVENTA
c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA")
D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA")
D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
@@ -718,7 +718,7 @@ Sub Subir_Click
' DATOS DE KMTS PARA EL TIPO DE ABARROTE.
'''CAT_CL_GIRO = ? WHERE CAT_CL_CODIGO = ? And CAT_CL_NOMBRE = ? kmt_info2
c=B4XPages.MainPage.skmt.ExecQuery("Select CAT_CL_GIRO, CAT_CL_CODIGO from kmt_info2")
c=B4XPages.MainPage.skmt.ExecQuery("Select CAT_CL_GIRO, CAT_CL_CODIGO from kmt_info2")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
@@ -726,7 +726,7 @@ Sub Subir_Click
cmd.Initialize
cmd.Name = "insert_GIROS_ENC"
cmd.Parameters = Array As Object(C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_GIRO"))
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_abarrote")
Next
End If
c.Close
@@ -740,7 +740,7 @@ Sub Subir_Click
cmd.Initialize
cmd.Name = "insert_geocerca_GV2"
cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON"))
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_hist_geo")
Next
End If
c.Close
@@ -754,7 +754,7 @@ Sub Subir_Click
cmd.Initialize
cmd.Name = "insert_face_like_GV2"
cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN"))
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_hist_face")
Next
End If
c.Close
@@ -770,7 +770,7 @@ Sub Subir_Click
cmd.Initialize
cmd.Name ="insert_drop_GV2_2"
cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",ALMACEN)
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_drop")
img2.Visible =True
PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
@@ -932,7 +932,7 @@ Sub cargar_Click
cmd.Initialize
cmd.Name ="insert_drop_GV2_2"
cmd.Parameters = Array As Object(usuario,e_ruta.text,sDate,imei,sTime,"","","","","CARGA",ALMACEN)
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_noventa")
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_drop")
cmd.Initialize
cmd.Name = "select_cat_gunaprod_GV2"
@@ -1029,6 +1029,23 @@ Sub cargar_Click
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "hist_pro2265")
' Dim reqManager9000 As DBRequestManager
' reqManager9000.Initialize(Me, "http://keymon.lat:9000/")
'Promo PRO3054 - Plan promocional Act II Cajitas (Conagra)
' Solo aplica para los que hayan comprado la PRO3054 durante Jul-Sep, el siguiente query trae esos clientes.
cmd.Initialize
cmd.Name = "selectPromo3054Jul-Sep_Guna"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "hist_pro3054")
'Promo PRO3055 - Plan promocional Act II Cajitas (Conagra)
' Solo aplica para los que hayan comprado la PRO3055 durante Jul-Sep, el siguiente query trae esos clientes.
cmd.Initialize
cmd.Name = "selectPromo3055Jul-Sep_Guna"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "hist_pro3055")
If E_RUTA2.text <> "" Then
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO RUTA_SUPLENCIA(RS_RUTA) VALUES(?)",Array As String(E_RUTA2.Text))
@@ -1156,7 +1173,7 @@ Sub JobDone(Job As HttpJob)
If n = "OKActivo" Then
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_ruta_GV2_70_6"
cmd.Name = "select_ruta_GV2_70_8"
cmd.Parameters = Array As Object(ALMACEN,e_ruta.text)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "ruta")
'Log("Usuario guardado en BD es 'Valido'")
@@ -1913,13 +1930,24 @@ Sub JobDone(Job As HttpJob)
Next
End If
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "hist_pro2265" Then 'query tag
Starter.skmt.ExecNonQuery("delete from HIST_PRO2265")
For Each records() As Object In RESULT.Rows
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PRO2265(H_IDCLIENTE) VALUES (?)", Array As Object (records(RESULT.Columns.Get("HVD_CLIENTE"))))
Next
End If
If RESULT.Tag = "hist_pro3054" Then 'query tag
Starter.skmt.ExecNonQuery("delete from HIST_PRO3054")
For Each records() As Object In RESULT.Rows
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PRO3054(H_IDCLIENTE) VALUES (?)", Array As Object (records(RESULT.Columns.Get("HVD_CLIENTE"))))
Next
End If
If RESULT.Tag = "hist_pro3055" Then 'query tag
Starter.skmt.ExecNonQuery("delete from HIST_PRO3055")
For Each records() As Object In RESULT.Rows
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PRO3055(H_IDCLIENTE) VALUES (?)", Array As Object (records(RESULT.Columns.Get("HVD_CLIENTE"))))
Next
End If
End If
End If

View File

@@ -209,9 +209,11 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
' Dim bmp As Bitmap
' Dim jpeg() As Byte
Private yaComproPRO2265 As Boolean = Subs.revisaPRO2265(Subs.traeCliente)
Private yaComproPRO3054 As Boolean = Subs.revisaPRO3054(Subs.traeCliente)
Private yaComproPRO3055 As Boolean = Subs.revisaPRO3055(Subs.traeCliente)
If c2.RowCount > 0 Then
For i=0 To c2.RowCount -1
c2.Position=i
c2.Position = i
' jpeg = c2.GetBlob("CAT_GP_IMG")
' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
' bmp.Initialize2(ins)
@@ -222,7 +224,13 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
If yaComproPRO2265 And c2.GetString("CAT_GP_ID") = "PRO3015" Then ' Si la promo es la PRO3015 y ya compro la PRO2265, NO la mostramos.
LogColor("Ya compro la PRO2265, ya no se muestra la PRO3015", Colors.Red)
Else
lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant"))
If (yaComproPRO3054 And c2.GetString("CAT_GP_ID") = "PRO3054") Or _
(yaComproPRO3055 And c2.GetString("CAT_GP_ID") = "PRO3055") Or _
(Subs.traeCliente.StartsWith("N")) Then ' Si la promo es la PRO3054 o PRO3055 y ya compro, NO la mostramos.
LogColor("Ya compro prods de la PRO3054 o PRO3055 o es cliente nuevo, ya no se muestra.", Colors.Red)
Else
lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant"))
End If
End If
End If
Next
@@ -245,6 +253,7 @@ Sub lv_promos_ItemClick (Position As Int, Value As Object)
clv_productos.AsView.Visible = False
Dim cliente As C_Cliente = B4XPages.GetPage("Cliente")
' Log($"Entro=${entro}, value=${Value}, cuenta=${cliente.cuenta}"$)
LogColor("PROMOS CLIC", Colors.Magenta)
If Value = "PROMOS" And cliente.cuenta <> "N" Then
entro = "3"
marca = "PROMOS"
@@ -343,7 +352,10 @@ Sub llenaCatalogo(limpiar As Boolean)
bgColor = Colors.RGB(241, 255, 163) 'amarillo
End If
textColor = Colors.Black
clv_productos.Add(CreateListItem(c2.GetString("CAT_GP_NOMBRE"), c2.GetString("CAT_GP_PRECIO"), c2.GetString("CAT_GP_ALMACEN"), clv_productos.AsView.Width, 50dip, bmp, c2.GetString("CAT_GP_ID"), bgColor, textColor), c2.GetString("CAT_GP_NOMBRE"))
If c2.GetString("CAT_GP_ID") <> "GUN141" And c2.GetString("CAT_GP_ID") <> "GUN142" Then ' No mostramos los productos del Plan promocional Act II Cajitas (Conagra)
' Log(c2.GetString("CAT_GP_ID"))
clv_productos.Add(CreateListItem(c2.GetString("CAT_GP_NOMBRE"), c2.GetString("CAT_GP_PRECIO"), c2.GetString("CAT_GP_ALMACEN"), clv_productos.AsView.Width, 50dip, bmp, c2.GetString("CAT_GP_ID"), bgColor, textColor), c2.GetString("CAT_GP_NOMBRE"))
End If
Next
End If
ponProdsEnCero
@@ -417,7 +429,10 @@ Sub BUSCA_TextChanged (Old As String, New As String)
bgColor = Colors.RGB(241, 255, 163) 'amarillo
End If
textColor = Colors.Black
clv_productos.Add(CreateListItem(se.GetString("CAT_GP_NOMBRE"), se.GetString("CAT_GP_PRECIO"), se.GetString("CAT_GP_ALMACEN"), clv_productos.AsView.Width, 50dip, bmp, se.GetString("CAT_GP_ID"), bgColor, textColor), se.GetString("CAT_GP_NOMBRE"))
If se.GetString("CAT_GP_ID") <> "GUN141" And se.GetString("CAT_GP_ID") <> "GUN142" Then ' No mostramos los productos del Plan promocional Act II Cajitas (Conagra)
' Log(c2.GetString("CAT_GP_ID"))
clv_productos.Add(CreateListItem(se.GetString("CAT_GP_NOMBRE"), se.GetString("CAT_GP_PRECIO"), se.GetString("CAT_GP_ALMACEN"), clv_productos.AsView.Width, 50dip, bmp, se.GetString("CAT_GP_ID"), bgColor, textColor), se.GetString("CAT_GP_NOMBRE"))
End If
Next
If se.RowCount > 50 Then ProgressDialogHide
ponProdsEnCero
@@ -690,3 +705,10 @@ Private Sub b_buscar_Click
forzarbusqueda = True
BUSCA_TextChanged("","")
End Sub
' almacenes: 1, 5, 25, 2, 4, 38, 64, 3, 16, 14, 12, 22, 32
' Basicas GUN003, GUN002, GUN001
' Sabores GUN003, GUN005, GUN004, GUN050
' Basicas PRO3054, GUN141
' Sabores PRO3055, GUN142

View File

@@ -45,7 +45,6 @@ End Sub
'//// cuando hay alguna actualizacion de apk.
'////////////////////////////////////////////////////////////////////////////////////////////
public Sub CanRequestPackageInstalls As Boolean
' // https://www.b4x.com/android/forum/threads/version-safe-apk-installation.87667/#content
Dim ctxt As JavaObject
@@ -60,14 +59,27 @@ Sub ofreceActualizacion
CallSubDelayed(appUpdater, "download_newApk")
End If
B4XPages.MainPage.ocultaProgreso
' B4XPages.MainPage.buscandoActualizacion = False
StartActivity(Main)
' Activity.Finish
B4XPages.ShowPage("Login")
' B4XPages.ShowPage("Login")
End Sub
Sub sinActualizacion
Msgbox(appUpdater.newApp.okMsg, "Aplicación al corriente") 'ignore
' StartActivity(Main)
' Log("#### buscandoActualizacion-" & B4XPages.MainPage.buscandoActualizacion)
' Log("#### actualizacionRevisada-" & B4XPages.MainPage.actualizacionRevisada)
' Log("Ponemos actualizacionRevisada en true")
' B4XPages.MainPage.login.actualizacionRevisada = True
' If B4XPages.MainPage.buscandoActualizacion = False Then
Msgbox(appUpdater.newApp.okMsg, "Aplicación al corriente") 'ignore
' MsgboxAsync(appUpdater.newApp.okMsg, "Aplicación al corriente")
' Else
' B4XPages.MainPage.Entrar.Enabled = True
' End If
B4XPages.MainPage.ocultaProgreso
B4XPages.ShowPage("Login")
' Log("Ponemos buscandoActualizacion en False")
' B4XPages.MainPage.login.buscandoActualizacion = False
' Sleep(500)
B4XPages.ShowPage("login")
End Sub

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -249,9 +249,9 @@ NumberOfModules=25
Version=12.8
@EndOfDesignText@
#Region Project Attributes
#ApplicationLabel: Guna V3.1
#ApplicationLabel: Guna Preventa
#VersionCode: 1
#VersionName: 4.10.09.EP_d
#VersionName: 4.10.11
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False

View File

@@ -51,7 +51,7 @@ ModuleBreakpoints7=
ModuleBreakpoints8=
ModuleBreakpoints9=
ModuleClosedNodes0=
ModuleClosedNodes1=5,7,8,9,10,11,12,13,14
ModuleClosedNodes1=11,13,14
ModuleClosedNodes10=
ModuleClosedNodes11=
ModuleClosedNodes12=6
@@ -59,10 +59,10 @@ ModuleClosedNodes13=
ModuleClosedNodes14=
ModuleClosedNodes15=
ModuleClosedNodes16=
ModuleClosedNodes17=
ModuleClosedNodes17=4
ModuleClosedNodes18=
ModuleClosedNodes19=
ModuleClosedNodes2=
ModuleClosedNodes2=2,4,5
ModuleClosedNodes20=
ModuleClosedNodes21=
ModuleClosedNodes22=3,4
@@ -70,12 +70,12 @@ ModuleClosedNodes23=1
ModuleClosedNodes24=
ModuleClosedNodes25=
ModuleClosedNodes3=
ModuleClosedNodes4=
ModuleClosedNodes4=159
ModuleClosedNodes5=
ModuleClosedNodes6=8,9,10,11
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=C_Clientes,B4XPage_Appear,83,6,C_Cliente,B4XPage_Appear,496,0,C_Cliente,iniciofin,1069,0,Subs,TraeMontoProd,1205,0,Visual Designer,cliente.bal,-100,1,C_Productos,Class_Globals,0,0,C_Productos,et_pCant_TextChanged,510,0,C_Productos,cuentaProds,530,6,C_Productos,BUSCA_TextChanged,392,6,Main,Process_Globals,20,0
NavigationStack=C_Productos,lv_catalogos_ItemClick,206,0,C_Principal,cargar_Click,1017,0,C_Principal,Subir_Click,558,0,B4XMainPage,Entrar_Click,440,6,B4XMainPage,user_EnterPressed,447,0,Subs,revisaPRO3054,1486,0,C_Promos,Class_Globals,14,0,B4XMainPage,B4XPage_Created,94,3,DBRequestManager,HandleJob,187,0,B4XMainPage,JobDone,458,4
SelectedBuild=0
VisibleModules=23,2,24,13,14,4,6,9,12,5
VisibleModules=23,2,24,13,14,15,4,19

View File

@@ -29,12 +29,13 @@ Sub Process_Globals
Private logcat As LogCat
Dim logger As Boolean = False
Dim marcaCel As String = ph.manufacturer
Dim muestraProgreso = 0
Private BTAdmin As BluetoothAdmin
Dim MAC_IMPRESORA As String
Public BluetoothState As Boolean
Dim ubicacionActual As Location
Dim enVenta As Boolean = False
Dim muestraProgreso = 0 'Parte de la funcionalidad "appUpdater"
Public newApp As mNewVersion 'Parte de la funcionalidad "appUpdater"
End Sub
Sub Service_Create

View File

@@ -1177,7 +1177,7 @@ Sub agregaColumna(tabla As String, columna As String, tipo As String) 'ignore
B4XPages.MainPage.skmt.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
Log($"Columna "${columna} ${tipo}", agregada a "${tabla}"."$)
End If
Log(1)
' Log(1)
Catch 'Si no funciona "pragma_table_info" lo hacemos con try/catch
Try
B4XPages.MainPage.skmt.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
@@ -1488,3 +1488,25 @@ Sub revisaPRO2265(idCliente As String) As Boolean
Log($">>>> revisaPRO2265 ${idCliente} = ${x}"$)
Return x
End Sub
'Regresa TRUE si el cliente especificado existe en el historico de compra de la promo.
Sub revisaPRO3054(idCliente As String) As Boolean
Private r As ResultSet = Starter.skmt.ExecQuery($"select * from HIST_PRO3054 where H_IDCLIENTE = '${idCliente}'"$)
Private x As Boolean = False
Do While r.NextRow
x = True
Loop
Log($">>>> revisaPRO3054 ${idCliente} = ${x}"$)
Return x
End Sub
'Regresa TRUE si el cliente especificado existe en el historico de compra de la promo.
Sub revisaPRO3055(idCliente As String) As Boolean
Private r As ResultSet = Starter.skmt.ExecQuery($"select * from HIST_PRO3055 where H_IDCLIENTE = '${idCliente}'"$)
Private x As Boolean = False
Do While r.NextRow
x = True
Loop
Log($">>>> revisaPRO3055 ${idCliente} = ${x}"$)
Return x
End Sub

View File

@@ -78,7 +78,7 @@ Sub Process_Globals
'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/guna/cedex.ver"
Public lnk As String = "https://keymon.lat/movil/guna/gunaPreventa.ver"
' Public lnk As String = "https://10.0.0.205/Movil/Guna/cedex.ver"
'##########################################
'## La ruta en el servidor es: ##
@@ -97,12 +97,11 @@ Sub Process_Globals
'Para Download
Dim nativeMe As JavaObject
Dim n2 As Notification
Dim n2ID As Int = 16
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
@@ -119,43 +118,43 @@ End Sub
Sub Service_Start (StartingIntent As Intent)
Log("appUpdater(), Service_Start")
' CallSubDelayed2(Main, "muestraProgreso", "Buscando actualización")
B4XPages.MainPage.muestraProgreso("Buscando actualización")
B4XPages.MainPage.muestraProgreso("Buscando actualizaciones, un momento por favor.")
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
' 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
@@ -167,22 +166,28 @@ 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")
' B4XPages.ShowPage("login")
Starter.muestraProgreso = 1
B4XPages.MainPage.muestraProgreso("Descargando nueva versión, un momento por favor.")
Dim job_newAPP As HttpJob
If job_newAPP.IsInitialized Then job_newAPP.Release
' Log(">>>> LOGIN LINK : " & Starter.newApp.appLink)
If Starter.newApp.appLink <> "" Then newApp = Starter.newApp
job_newAPP.Initialize("job_newAPP",Me)
job_newAPP.Download(newApp.appLink)
' Log(newApp.appLink & "?dummy=" & DateTime.Now)
job_newAPP.Download(newApp.appLink & "?dummy=" & DateTime.Now)
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
' Log(">>>>>> Borramos achivo anterior")
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)
Log("APK dir: "&SharedFolder)
End If
job_newAPP.Release
' // Install the app