4/10/23 - Actualización en el manifiesto y en el diseño.

- Se modifico la declaracion de la libreria ReplyAuto para que incluya "android:exported="true"", esta modificación es necesaria para Android 12+
- Se cambian tamaños y posicion de paneles para que se adapten a la pantalla del movil (pantalla principal).
This commit is contained in:
2023-10-04 20:28:32 -06:00
parent 52bb35dbdc
commit adab335f3e
7 changed files with 104 additions and 89 deletions

View File

@@ -140,6 +140,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
B4XPages.AddPage("Historico", historico) B4XPages.AddPage("Historico", historico)
checklist.Initialize checklist.Initialize
B4XPages.AddPage("CheckList", checklist) B4XPages.AddPage("CheckList", checklist)
Panel1.Top = 0 : Panel1.left = 0
ruta = Starter.ruta ruta = Starter.ruta
ruta = File.DirInternal ruta = File.DirInternal
Starter.tiempos.Initialize Starter.tiempos.Initialize
@@ -302,9 +303,11 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' If Result Then Log("Tenemos permisos de bluetooth.") ' If Result Then Log("Tenemos permisos de bluetooth.")
' Log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") ' Log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
' Log("Check phone state: " & rp.Check(rp.PERMISSION_READ_PHONE_STATE)) ' Log("Check phone state: " & rp.Check(rp.PERMISSION_READ_PHONE_STATE))
End Sub
Sub B4XPage_Appear
MES1.Initialize(Me, "MES1") MES1.Initialize(Me, "MES1")
' get the device SDK version ' Get the device SDK version
Dim SdkVersion As Int = device.SdkVersion Dim SdkVersion As Int = device.SdkVersion
' Choose which permission to request in order to access external storgage ' Choose which permission to request in order to access external storgage
If SdkVersion < 30 Then If SdkVersion < 30 Then
@@ -317,18 +320,13 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' Log("SDK = " & SdkVersion & " : Requesting MANAGE_EXTERNAL_STORAGE permission") ' Log("SDK = " & SdkVersion & " : Requesting MANAGE_EXTERNAL_STORAGE permission")
' Log("On Entry MANAGE_EXTERNAL_STORAGE = " & MES1.HasPermission) ' Log("On Entry MANAGE_EXTERNAL_STORAGE = " & MES1.HasPermission)
If Not(MES1.HasPermission) Then If Not(MES1.HasPermission) Then
Dim r As String = Msgbox2("This app requires access to all files, please enable the option", "Manage All Files", "OK", "", "", Null) MsgboxAsync("This app requires access to all files, please enable the option", "Manage All Files")
If r = DialogResponse.POSITIVE Then Wait For Msgbox_Result(Res As Int)
MES1.GetPermission
' Wait For Msgbox_Result(Res As Int)
' Log("Getting permission") ' Log("Getting permission")
Wait For MES_StorageAvailable MES1.GetPermission
End If Wait For MES_StorageAvailable
End If End If
End If End If
End Sub
Sub B4XPage_Appear
' server = "http://keymon.com.mx:1782" ' server = "http://keymon.com.mx:1782"
' server = "http://201.99.139.28:1782" ' server = "http://201.99.139.28:1782"
' server = "http://177.244.63.54:1782" ' server = "http://177.244.63.54:1782"
@@ -387,6 +385,10 @@ End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub pass_EnterPressed
Entrar_Click
End Sub
Sub Entrar_Click Sub Entrar_Click
DateTime.DateFormat = "yyyyMMdd" DateTime.DateFormat = "yyyyMMdd"
If user.Text = "ALTERNO" Then If user.Text = "ALTERNO" Then
@@ -433,7 +435,7 @@ Sub Entrar_Click
Dim cmd As DBCommand Dim cmd As DBCommand
cmd.Initialize cmd.Initialize
cmd.Name = "select_version_KELL" cmd.Name = "select_version_KELL"
Starter.reqManager.ExecuteQuery(cmd , 0, "version") reqManager.ExecuteQuery(cmd , 0, "version")
Else Else
Subs.iniciaActividad("Principal") Subs.iniciaActividad("Principal")
' B4XPages.ShowPage("Principal") ' B4XPages.ShowPage("Principal")

View File

@@ -187,6 +187,7 @@ Sub Class_Globals
Private admin As BluetoothAdmin Private admin As BluetoothAdmin
Public BluetoothState, ConnectionState As Boolean Public BluetoothState, ConnectionState As Boolean
Private ion As Object Private ion As Object
Private p_centrado As Panel
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -202,9 +203,9 @@ Private Sub B4XPage_Created (Root1 As B4XView)
'load the layout to Root 'load the layout to Root
Root.LoadLayout("principal") Root.LoadLayout("principal")
EJECUTANDO=1 EJECUTANDO=1
Dim ruta As String ' Dim ruta As String
img2.Visible =False img2.Visible =False
ruta = File.DirInternal ' ruta = File.DirInternal
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
fecha=DateTime.Date(DateTime.Now) fecha=DateTime.Date(DateTime.Now)
c=Starter.db.ExecQuery2("select CAT_CO_CONFIGURACION from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER")) c=Starter.db.ExecQuery2("select CAT_CO_CONFIGURACION from CAT_CODIGOS where CAT_CO_PONDERACION =1 AND CAT_CO_ACCION = ?", Array As String("SERVER"))
@@ -260,66 +261,23 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End If End If
kh.Initialize(Me, "kh") kh.Initialize(Me, "kh")
kh.RD_Init kh.RD_Init
Log("XXXXXXXXXXXXXXXXXXXXXXXXX REVISAMOS PERMISOS DE BT - APPEAR -") P_RESUMEN.Top = 0 : P_RESUMEN.Left = 0 'Panel Resumen
StartBluetooth Panel5.Top = 0 : Panel5.Left = 0 ' Panel Resumen Acumualado
Log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") p_downloadPDF.Top = 0 : p_downloadPDF.left = 0
P1.Width = GetDeviceLayoutValues.Width
End Sub P1.Height = GetDeviceLayoutValues.Height
P1.Top = 0 : P1.left = 0 'Panel de cargar dia
Private Sub StartBluetooth Subs.centraPanel(p_centrado, Root.Width) 'Panel de cargar dia 2
If admin.IsEnabled = False Then
Wait For (EnableBluetooth) Complete (Success As Boolean)
If Success = False Then
ToastMessageShow("Failed to enable bluetooth", True)
End If
End If
BluetoothState = admin.IsEnabled
StateChanged
End Sub
Private Sub StateChanged
' btnSearchForDevices.Enabled = BluetoothState
' btnAllowConnection.Enabled = BluetoothState
' ChatPage1.btnSend.Enabled = ConnectionState
End Sub
Private Sub EnableBluetooth As ResumableSub
ToastMessageShow("Enabling Bluetooth adapter...", False)
Dim ph As Phone
If ph.SdkVersion >= 31 Then
Log(31)
rp.CheckAndRequest("android.permission.BLUETOOTH_CONNECT")
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
Log(Result)
If Result = False Then Return False
If ph.SdkVersion >= 33 Then
Log(33)
Dim in As Intent
in.Initialize("android.bluetooth.adapter.action.REQUEST_ENABLE", "")
StartActivityForResult(in)
Wait For ion_Event (MethodName As String, Args() As Object)
Return admin.IsEnabled
End If
End If
Return admin.Enable
End Sub
Private Sub StartActivityForResult(i As Intent)
Dim jo As JavaObject = GetBA
ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
jo.RunMethod("startActivityForResult", Array As Object(ion, i))
End Sub
Sub GetBA As Object
Dim jo As JavaObject = Me
Return jo.RunMethod("getBA", Null)
End Sub End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear Sub B4XPage_Appear
Log("XXXXXXXXXXXXXXXXXXXXXXXXX REVISAMOS PERMISOS DE BT - APPEAR -")
StartBluetooth
Log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
If Not(kh.CheckNotificationAccess) Then If Not(kh.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) 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", "", "", Null, True)
Wait For Msgbox_Result (resultado As Int) Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then If resultado = DialogResponse.POSITIVE Then
Dim In As Intent Dim In As Intent
@@ -599,8 +557,6 @@ Sub cargar_Click
Btn_CheckList.Visible=False Btn_CheckList.Visible=False
' P1.Visible = True ' P1.Visible = True
' P1.BringToFront ' P1.BringToFront
P1.Width = GetDeviceLayoutValues.Width
P1.Height = GetDeviceLayoutValues.Height
Subs.panelVisible(P1, 0, 0) Subs.panelVisible(P1, 0, 0)
trabajar.Visible = False trabajar.Visible = False
B_PROXIMA.Visible =False B_PROXIMA.Visible =False
@@ -892,8 +848,6 @@ Sub cargar_Click
trabajar.Visible=False trabajar.Visible=False
inv.Visible = False inv.Visible = False
If Starter.marcaCel <> "LGE" Then ToastMessageShow("Se Actualizarán los datos. Este proceso podria tardar hasta un minuto, gracias" , True) If Starter.marcaCel <> "LGE" Then ToastMessageShow("Se Actualizarán los datos. Este proceso podria tardar hasta un minuto, gracias" , True)
End If End If
End Sub End Sub
@@ -904,7 +858,7 @@ Sub JobDone(Job As HttpJob)
If Job.Success = False Then If Job.Success = False Then
If logger Then LogColor("** " & Job.Tag & " Error: " & Job.ErrorMessage, Colors.Red) ' Mod by CHV - 211116 If logger Then LogColor("** " & Job.Tag & " Error: " & Job.ErrorMessage, Colors.Red) ' Mod by CHV - 211116
If Job.ErrorMessage = "STREAM" Then If Job.ErrorMessage = "STREAM" Then
contador_strem = contador_strem +1 contador_strem = contador_strem + 1
If CARGA = "SUBIR" Then If CARGA = "SUBIR" Then
PB1.Progress = PB1.Progress + 1 PB1.Progress = PB1.Progress + 1
If PB1.Progress > 100 Then If PB1.Progress > 100 Then
@@ -1354,7 +1308,7 @@ Sub JobDone(Job As HttpJob)
PB2.Progress = 100 PB2.Progress = 100
S_CP.Text = "LISTO" S_CP.Text = "LISTO"
End If End If
Listo3 =1 Listo3 = 1
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
B4XPage_Appear B4XPage_Appear
img2.Visible=False img2.Visible=False
@@ -1912,6 +1866,18 @@ Sub JobDone(Job As HttpJob)
Next Next
Starter.db.TransactionSuccessful Starter.db.TransactionSuccessful
Starter.db.EndTransaction Starter.db.EndTransaction
If PB2.Progress = 0 Then
PB2.Progress = 30
S_CP.Text = "CARGANDO"
ELSE If PB2.Progress = 30 Then
PB2.Progress = 60
ELSE IF PB2.Progress = 60 Then
PB2.Progress = 80
ELSE IF PB2.Progress = 80 Then
PB2.Progress = 100
S_CP.Text = "LISTO"
End If
' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc") ' c=skmt.ExecQuery("select CAT_GP_CLASIF, COUNT(*) AS CUANTOS from CAT_GUNAPROD GROUP BY CAT_GP_CLASIF order by CAT_GP_CLASIF asc")
' c.Position=0 ' c.Position=0
' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD") ' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD")
@@ -1940,6 +1906,8 @@ Sub JobDone(Job As HttpJob)
''' FIN CARGA PEDIDO DOE ''' FIN CARGA PEDIDO DOE
End If End If
If PB2.Progress = 100 Then S_CP.Text = "LISTO"
Job.Release Job.Release
End Sub End Sub
@@ -3140,3 +3108,53 @@ Private Sub Resumen_LongClick
ToastMessageShow("Enviamos UTR", True) ToastMessageShow("Enviamos UTR", True)
CallSubDelayed(Starter, "ENVIA_ULTIMA_GPS") CallSubDelayed(Starter, "ENVIA_ULTIMA_GPS")
End Sub End Sub
Private Sub StartBluetooth
If admin.IsEnabled = False Then
Wait For (EnableBluetooth) Complete (Success As Boolean)
If Success = False Then
ToastMessageShow("Failed to enable bluetooth", True)
End If
End If
BluetoothState = admin.IsEnabled
StateChanged
End Sub
Private Sub StateChanged
' btnSearchForDevices.Enabled = BluetoothState
' btnAllowConnection.Enabled = BluetoothState
' ChatPage1.btnSend.Enabled = ConnectionState
End Sub
Private Sub EnableBluetooth As ResumableSub
ToastMessageShow("Enabling Bluetooth adapter...", False)
Dim ph As Phone
If ph.SdkVersion >= 31 Then
Log(31)
rp.CheckAndRequest("android.permission.BLUETOOTH_CONNECT")
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean)
Log(Result)
If Result = False Then Return False
If ph.SdkVersion >= 33 Then
Log(33)
Dim in As Intent
in.Initialize("android.bluetooth.adapter.action.REQUEST_ENABLE", "")
StartActivityForResult(in)
Wait For ion_Event (MethodName As String, Args() As Object)
Return admin.IsEnabled
End If
End If
Return admin.Enable
End Sub
Private Sub StartActivityForResult(i As Intent)
Dim jo As JavaObject = GetBA
ion = jo.CreateEvent("anywheresoftware.b4a.IOnActivityResult", "ion", Null)
jo.RunMethod("startActivityForResult", Array As Object(ion, i))
End Sub
Sub GetBA As Object
Dim jo As JavaObject = Me
Return jo.RunMethod("getBA", Null)
End Sub

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -78,7 +78,7 @@ ModuleClosedNodes2=
ModuleClosedNodes20= ModuleClosedNodes20=
ModuleClosedNodes21=20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39 ModuleClosedNodes21=20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39
ModuleClosedNodes22= ModuleClosedNodes22=
ModuleClosedNodes23=6,7,8,9,10 ModuleClosedNodes23=7,8,9,10,12,13
ModuleClosedNodes24= ModuleClosedNodes24=
ModuleClosedNodes25= ModuleClosedNodes25=
ModuleClosedNodes26= ModuleClosedNodes26=
@@ -94,6 +94,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=kms_helperSubs,logJobDoneResultados,410,0,kms_helperSubs,CheckNotificationAccess,413,0,C_Principal,descargaCartaPorte,2940,0,C_Principal,cargar_Click,561,0,C_Principal,B4XPage_Appear,321,2,C_Principal,EnableBluetooth,297,0,B4XMainPage,B_SERVER_Click,600,0,B4XMainPage,B4XPage_CloseRequest,520,1,B4XMainPage,JobDone,510,0,C_Principal,GetBA,312,0 NavigationStack=C_Principal,EnableBluetooth,3133,0,C_Principal,GetBA,3152,0,C_Principal,Class_Globals,184,0,B4XMainPage,Entrar_Click,391,0,C_Principal,StartBluetooth,3100,0,Tracker,Service_Create,43,0,Tracker,Process_Globals,31,0,Visual Designer,principal.bal,-100,6,C_Principal,B4XPage_Appear,280,6,C_Principal,B4XPage_Created,264,6
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,29,11,23,27,14,30,3,4,13,12 VisibleModules=1,29,11,23,24,14,30,3,4,13,31

View File

@@ -16,9 +16,9 @@ Sub Class_Globals
Dim skmtAttached As Boolean = False Dim skmtAttached As Boolean = False
'####### MES Vars ###### '####### MES Vars ######
Private ion As Object Private ion As Object
Dim device As Phone ' Dim device As Phone
Private mesCallback As Object ' Private mesCallback As Object
Private mesEventName As String ' Private mesEventName As String
Dim RD_Init_IsInitialized As Boolean = False Dim RD_Init_IsInitialized As Boolean = False
Dim btAdmin As BluetoothAdmin Dim btAdmin As BluetoothAdmin
End Sub End Sub
@@ -38,7 +38,6 @@ End Sub
'RD - Inicializa Respaldo Diario 'RD - Inicializa Respaldo Diario
Sub RD_Init Sub RD_Init
Log("************************** " & safePath)
Dim Dirp As String = File.DirRootExternal Dim Dirp As String = File.DirRootExternal
Dim Dir As String Dim Dir As String
' Dim Dir2 As String ' Dim Dir2 As String
@@ -51,14 +50,10 @@ Sub RD_Init
' Log("creado en raiz") ' Log("creado en raiz")
End Try End Try
safePath = Dirp & Dir safePath = Dirp & Dir
Log($"Safepath:${safePath}"$) If Starter.Logger Then Log($"Safepath:${safePath}"$)
Private name() As String = Regex.split(" ", Application.LabelName) Private name() As String = Regex.split(" ", Application.LabelName)
rkmt.Initialize(safePath,$"${name(0)}.rkmt.km"$, True) rkmt.Initialize(safePath,$"${name(0)}.rkmt.km"$, True)
skmt.Initialize(File.DirInternal,"kmt.db", False) 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, pe_envio_ok 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)"$)
'' rkmt.ExecNonQuery($"create table if not exists inventarios2 (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)"$)
' rkmt.ExecNonQuery($"create table if not exists paquetes (cat_dp_precio_simptos TEXT, cat_dp_precio TEXT, cat_dp_almacen TEXT, cat_dp_id TEXT, cat_dp_idprod TEXT, cat_dp_tipo TEXT, cat_dp_pzas TEXT, cat_dp_usuario TEXT, cat_dp_fecha TEXT, cat_dp_regalo TEXT, cat_dp_clasif TEXT, fecha TEXT)"$)
If chkIfTableExists(skmt, "PEDIDO") Then rkmt.ExecNonQuery($"create table if not exists PEDIDO (${getTableColumnList(skmt, "PEDIDO")}, FECHA TEXT)"$) If chkIfTableExists(skmt, "PEDIDO") Then rkmt.ExecNonQuery($"create table if not exists PEDIDO (${getTableColumnList(skmt, "PEDIDO")}, FECHA TEXT)"$)
If chkIfTableExists(skmt, "CAT_DETALLES_PAQ") Then rkmt.ExecNonQuery($"create table if not exists CAT_DETALLES_PAQ (${getTableColumnList(skmt, "CAT_DETALLES_PAQ")}, FECHA TEXT)"$) If chkIfTableExists(skmt, "CAT_DETALLES_PAQ") Then rkmt.ExecNonQuery($"create table if not exists CAT_DETALLES_PAQ (${getTableColumnList(skmt, "CAT_DETALLES_PAQ")}, FECHA TEXT)"$)
If chkIfTableExists(skmt, "CAT_GUNAPROD") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD (${getTableColumnList(skmt, "CAT_GUNAPROD")}, FECHA TEXT)"$) If chkIfTableExists(skmt, "CAT_GUNAPROD") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD (${getTableColumnList(skmt, "CAT_GUNAPROD")}, FECHA TEXT)"$)
@@ -66,7 +61,7 @@ Sub RD_Init
If chkIfTableExists(skmt, "kmt_info") Then rkmt.ExecNonQuery($"create table if not exists kmt_info (${getTableColumnList(skmt, "kmt_info")}, FECHA TEXT)"$) If chkIfTableExists(skmt, "kmt_info") Then rkmt.ExecNonQuery($"create table if not exists kmt_info (${getTableColumnList(skmt, "kmt_info")}, FECHA TEXT)"$)
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
fechaHoy = DateTime.Date(DateTime.Now) fechaHoy = DateTime.Date(DateTime.Now)
Log("RKMTS: " & rkmt.IsInitialized) If Starter.Logger Then Log("RKMTS: " & rkmt.IsInitialized)
If revisaSkmtAttached And rkmt.IsInitialized Then RD_Init_IsInitialized = True Else RD_Init_IsInitialized = False If revisaSkmtAttached And rkmt.IsInitialized Then RD_Init_IsInitialized = True Else RD_Init_IsInitialized = False
End Sub End Sub