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

View File

@@ -187,6 +187,7 @@ Sub Class_Globals
Private admin As BluetoothAdmin
Public BluetoothState, ConnectionState As Boolean
Private ion As Object
Private p_centrado As Panel
End Sub
'You can add more parameters here.
@@ -202,9 +203,9 @@ Private Sub B4XPage_Created (Root1 As B4XView)
'load the layout to Root
Root.LoadLayout("principal")
EJECUTANDO=1
Dim ruta As String
' Dim ruta As String
img2.Visible =False
ruta = File.DirInternal
' ruta = File.DirInternal
DateTime.DateFormat = "MM/dd/yyyy"
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"))
@@ -260,66 +261,23 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End If
kh.Initialize(Me, "kh")
kh.RD_Init
Log("XXXXXXXXXXXXXXXXXXXXXXXXX REVISAMOS PERMISOS DE BT - APPEAR -")
StartBluetooth
Log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
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)
P_RESUMEN.Top = 0 : P_RESUMEN.Left = 0 'Panel Resumen
Panel5.Top = 0 : Panel5.Left = 0 ' Panel Resumen Acumualado
p_downloadPDF.Top = 0 : p_downloadPDF.left = 0
P1.Width = GetDeviceLayoutValues.Width
P1.Height = GetDeviceLayoutValues.Height
P1.Top = 0 : P1.left = 0 'Panel de cargar dia
Subs.centraPanel(p_centrado, Root.Width) 'Panel de cargar dia 2
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
Log("XXXXXXXXXXXXXXXXXXXXXXXXX REVISAMOS PERMISOS DE BT - APPEAR -")
StartBluetooth
Log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
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)
If resultado = DialogResponse.POSITIVE Then
Dim In As Intent
@@ -599,8 +557,6 @@ Sub cargar_Click
Btn_CheckList.Visible=False
' P1.Visible = True
' P1.BringToFront
P1.Width = GetDeviceLayoutValues.Width
P1.Height = GetDeviceLayoutValues.Height
Subs.panelVisible(P1, 0, 0)
trabajar.Visible = False
B_PROXIMA.Visible =False
@@ -892,8 +848,6 @@ Sub cargar_Click
trabajar.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)
End If
End Sub
@@ -904,7 +858,7 @@ Sub JobDone(Job As HttpJob)
If Job.Success = False Then
If logger Then LogColor("** " & Job.Tag & " Error: " & Job.ErrorMessage, Colors.Red) ' Mod by CHV - 211116
If Job.ErrorMessage = "STREAM" Then
contador_strem = contador_strem +1
contador_strem = contador_strem + 1
If CARGA = "SUBIR" Then
PB1.Progress = PB1.Progress + 1
If PB1.Progress > 100 Then
@@ -1354,7 +1308,7 @@ Sub JobDone(Job As HttpJob)
PB2.Progress = 100
S_CP.Text = "LISTO"
End If
Listo3 =1
Listo3 = 1
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
B4XPage_Appear
img2.Visible=False
@@ -1912,6 +1866,18 @@ Sub JobDone(Job As HttpJob)
Next
Starter.db.TransactionSuccessful
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.Position=0
' skmt.ExecNonQuery("DELETE FROM COUNT_GUNAPROD")
@@ -1940,6 +1906,8 @@ Sub JobDone(Job As HttpJob)
''' FIN CARGA PEDIDO DOE
End If
If PB2.Progress = 100 Then S_CP.Text = "LISTO"
Job.Release
End Sub
@@ -3139,4 +3107,54 @@ End Sub
Private Sub Resumen_LongClick
ToastMessageShow("Enviamos UTR", True)
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=
ModuleClosedNodes21=20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39
ModuleClosedNodes22=
ModuleClosedNodes23=6,7,8,9,10
ModuleClosedNodes23=7,8,9,10,12,13
ModuleClosedNodes24=
ModuleClosedNodes25=
ModuleClosedNodes26=
@@ -94,6 +94,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
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
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
'####### MES Vars ######
Private ion As Object
Dim device As Phone
Private mesCallback As Object
Private mesEventName As String
' Dim device As Phone
' Private mesCallback As Object
' Private mesEventName As String
Dim RD_Init_IsInitialized As Boolean = False
Dim btAdmin As BluetoothAdmin
End Sub
@@ -38,7 +38,6 @@ End Sub
'RD - Inicializa Respaldo Diario
Sub RD_Init
Log("************************** " & safePath)
Dim Dirp As String = File.DirRootExternal
Dim Dir As String
' Dim Dir2 As String
@@ -51,14 +50,10 @@ Sub RD_Init
' Log("creado en raiz")
End Try
safePath = Dirp & Dir
Log($"Safepath:${safePath}"$)
If Starter.Logger Then Log($"Safepath:${safePath}"$)
Private name() As String = Regex.split(" ", Application.LabelName)
rkmt.Initialize(safePath,$"${name(0)}.rkmt.km"$, True)
skmt.Initialize(File.DirInternal,"kmt.db", False)
' rkmt.ExecNonQuery($"create table if not exists pedidos (pe_folio NUMERIC, pe_desc NUMERIC, pe_costo_sin TEXT, pe_ruta TEXT, pe_cedis TEXT, pe_costo_tot NUMERIC, pe_costou NUMERIC, pe_cant NUMERIC, pe_pronombre TEXT, pe_proid TEXT, pe_cliente TEXT, pe_fecha TEXT, pe_usuario TEXT, 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, "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)"$)
@@ -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)"$)
DateTime.DateFormat = "MM/dd/yyyy"
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
End Sub