- VERSION 4.12.04

- Se movio la variable "servidores" de Mainpage a Starter.
This commit is contained in:
Jose Alberto Guerra Ugalde
2024-12-04 09:53:10 -06:00
parent 80d6ded85e
commit 2a8bfcc967
9 changed files with 82 additions and 14 deletions

View File

@@ -72,7 +72,7 @@ Sub Class_Globals
Private lv_servidoresActivos As ListView Private lv_servidoresActivos As ListView
Dim jsn As JSONParser Dim jsn As JSONParser
Dim jsnGnr As JSONGenerator Dim jsnGnr As JSONGenerator
DIM rp AS RuntimePermissions Dim rp As RuntimePermissions
End Sub End Sub
Public Sub Initialize Public Sub Initialize
@@ -140,6 +140,12 @@ Private Sub B4XPage_Created (Root1 As B4XView)
s.borraArribaDeXXXErrores(3000) s.borraArribaDeXXXErrores(3000)
rp.CheckAndRequest(rp.PERMISSION_POST_NOTIFICATIONS) rp.CheckAndRequest(rp.PERMISSION_POST_NOTIFICATIONS)
Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) 'change to Activity_PermissionResult if non-B4XPages. Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) 'change to Activity_PermissionResult if non-B4XPages.
' Log(999)
' rp.CheckAndRequest(rp.PERMISSION_READ_PHONE_STATE)
' Wait For B4XPage_PermissionResult (Permission As String, Result As Boolean) 'change to Activity_PermissionResult if non-B4XPages.
' Log(888)
End Sub End Sub
Sub B4XPage_Appear Sub B4XPage_Appear

View File

@@ -468,7 +468,9 @@ Sub ping
If Not(Starter.ping) Then If Not(Starter.ping) Then
If Starter.logger Then Log("Sin conexión a Google!!!") If Starter.logger Then Log("Sin conexión a Google!!!")
notiLowReturn("SIN INTERNET ❌", "NO hay conexion a Google.", Monitor.nid) notiLowReturn("SIN INTERNET ❌", "NO hay conexion a Google.", Monitor.nid)
If B4XPages.IsInitialized Then B4XPages.MainPage.l_status.Text = "NO hay conexión a Google!!" Dim cs As CSBuilder
cs.Initialize
If B4XPages.IsInitialized Then B4XPages.MainPage.l_status.Text = cs.Color(Colors.red).append("NO hay conexión a Google!!").PopAll
End If End If
Else Else
Log("Error: " & LastException) Log("Error: " & LastException)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -4,13 +4,15 @@ File2=kmt.db
File3=listItem.bal File3=listItem.bal
File4=login.bal File4=login.bal
File5=logo_keymon.png File5=logo_keymon.png
File6=MainPage.bal File6=logo_keymon_noTransparencia.png
File7=MainPage.bal
FileGroup1=Default Group FileGroup1=Default Group
FileGroup2=Default Group FileGroup2=Default Group
FileGroup3=Default Group FileGroup3=Default Group
FileGroup4=Default Group FileGroup4=Default Group
FileGroup5=Default Group FileGroup5=Default Group
FileGroup6=Default Group FileGroup6=Default Group
FileGroup7=Default Group
Group=Default Group Group=Default Group
Library1=b4xpages Library1=b4xpages
Library10=reflection Library10=reflection
@@ -26,7 +28,7 @@ Library6=json
Library7=okhttputils2 Library7=okhttputils2
Library8=phone Library8=phone
Library9=randomaccessfile Library9=randomaccessfile
ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="33"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true"~\n~ android:smallScreens="true"~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~<meta-data~\n~ android:name="com.google.android.geo.API_KEY"~\n~ android:value="AIzaSyBlBnx3O-DncOSv3oFIp-12wgujOYYcl-U"/>~\n~ <meta-data android:name="com.google.android.gms.version"~\n~ android:value="@integer/google_play_services_version" />~\n~)~\n~AddApplicationText(~\n~<uses-library~\n~ android:name="org.apache.http.legacy"~\n~ android:required="false" />~\n~)~\n~'AddManifestText(~\n~'<uses-permission~\n~' android:name="android.permission.WRITE_EXTERNAL_STORAGE"~\n~' android:maxSdkVersion="33" />~\n~')~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~'AddManifestText(<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="33" />)~\n~'AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~'AddManifestText(<uses-permission android:name="android.permission.READ_PHONE_STATE" android:maxSdkVersion="33" />)~\n~'AddManifestText(<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" android:maxSdkVersion="33" />) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~AddManifestText(<uses-feature android:name="android.hardware.telephony" android:required="false" />)~\n~'AddManifestText(<uses-feature android:name="android.hardware.camera" android:required="false" />)~\n~'AddManifestText(<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />)~\n~'AddManifestText(<uses-feature android:name="android.hardware.camera.flash" android:required="false" />)~\n~'AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~'AddPermission(android.permission.INSTALL_PACKAGES)~\n~'AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~'AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~'AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~'AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~'SetApplicationAttribute(android:largeHeap, "true")~\n~~\n~AddManifestText(<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" android:maxSdkVersion="33" />)~\n~AddPermission(android.permission.INTERNET)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~'AddApplicationText(~\n~'<service android:name="b4a.jsaplication.com.br.ReplyAuto"~\n~' android:label="MonitorKeymon"~\n~' android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"~\n~' android:exported="true">~\n~' <intent-filter>~\n~' <action android:name="android.service.notification.NotificationListenerService" />~\n~' </intent-filter>~\n~'</service>) ManifestCode='This code will be applied to the manifest file during compilation.~\n~'You do not need to modify it in most cases.~\n~'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136~\n~AddManifestText(~\n~<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="33"/>~\n~<supports-screens android:largeScreens="true" ~\n~ android:normalScreens="true"~\n~ android:smallScreens="true"~\n~ android:anyDensity="true"/>)~\n~SetApplicationAttribute(android:icon, "@drawable/icon")~\n~SetApplicationAttribute(android:label, "$LABEL$")~\n~CreateResourceFromFile(Macro, Themes.LightTheme)~\n~CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)~\n~ 'End of default text.~\n~''''' CAMBIA LA CLAVE API~\n~AddApplicationText(~\n~<meta-data~\n~ android:name="com.google.android.geo.API_KEY"~\n~ android:value="AIzaSyBlBnx3O-DncOSv3oFIp-12wgujOYYcl-U"/>~\n~ <meta-data android:name="com.google.android.gms.version"~\n~ android:value="@integer/google_play_services_version" />~\n~)~\n~AddApplicationText(~\n~<uses-library~\n~ android:name="org.apache.http.legacy"~\n~ android:required="false" />~\n~)~\n~'AddManifestText(~\n~'<uses-permission~\n~' android:name="android.permission.WRITE_EXTERNAL_STORAGE"~\n~' android:maxSdkVersion="33" />~\n~')~\n~ 'End of default text.~\n~ ~\n~SetApplicationAttribute(android:usesCleartextTraffic, "true")~\n~AddManifestText(<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="33" />)~\n~AddPermission(android.permission.ACCESS_BACKGROUND_LOCATION)~\n~AddManifestText(<uses-permission android:name="android.permission.READ_PHONE_STATE" android:maxSdkVersion="33" />)~\n~AddManifestText(<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" android:maxSdkVersion="33" />) 'in order to access the device non-resettable identifiers such as IMEI and serial number.~\n~AddManifestText(<uses-feature android:name="android.hardware.telephony" android:required="false" />)~\n~'AddManifestText(<uses-feature android:name="android.hardware.camera" android:required="false" />)~\n~'AddManifestText(<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />)~\n~'AddManifestText(<uses-feature android:name="android.hardware.camera.flash" android:required="false" />)~\n~'AddPermission(android.permission.REQUEST_INSTALL_PACKAGES)~\n~AddPermission(android.permission.INTERNET)~\n~'AddPermission(android.permission.INSTALL_PACKAGES)~\n~'AddPermission(android.permission.READ_EXTERNAL_STORAGE)~\n~'AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)~\n~AddPermission(android.permission.READ_PHONE_STATE)~\n~AddPermission(android.permission.WAKE_LOCK)~\n~AddPermission(android.permission.ACCESS_NETWORK_STATE)~\n~~\n~'AddPermission("android.permission.MANAGE_EXTERNAL_STORAGE")~\n~'SetApplicationAttribute(android:largeHeap, "true")~\n~~\n~AddManifestText(<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" android:maxSdkVersion="33" />)~\n~AddPermission(android.permission.INTERNET)~\n~SetApplicationAttribute(android:allowBackup, "false")~\n~'AddApplicationText(~\n~'<service android:name="b4a.jsaplication.com.br.ReplyAuto"~\n~' android:label="MonitorKeymon"~\n~' android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"~\n~' android:exported="true">~\n~' <intent-filter>~\n~' <action android:name="android.service.notification.NotificationListenerService" />~\n~' </intent-filter>~\n~'</service>)
Module1=B4XMainPage Module1=B4XMainPage
Module2=BatteryUtilities Module2=BatteryUtilities
Module3=C_Subs Module3=C_Subs
@@ -34,7 +36,7 @@ Module4=DBRequestManager
Module5=Monitor Module5=Monitor
Module6=NotificationServiceXXX Module6=NotificationServiceXXX
Module7=Starter Module7=Starter
NumberOfFiles=6 NumberOfFiles=7
NumberOfLibraries=14 NumberOfLibraries=14
NumberOfModules=7 NumberOfModules=7
Version=12.8 Version=12.8
@@ -42,7 +44,7 @@ Version=12.8
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: Monitor Keymon #ApplicationLabel: Monitor Keymon
#VersionCode: 1 #VersionCode: 1
#VersionName: 4.11.30 #VersionName: 4.12.04
'SupportedOrientations possible values: unspecified, landscape or portrait. 'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False

View File

@@ -22,6 +22,6 @@ ModuleClosedNodes4=
ModuleClosedNodes5=5 ModuleClosedNodes5=5
ModuleClosedNodes6= ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
NavigationStack=Monitor,Process_Globals,22,5,NotificationServiceXXX,Service_Start,28,0,NotificationServiceXXX,Process_Globals,12,0,NotificationServiceXXX,Service_Create,20,0,B4XMainPage,B4XPage_Appear,155,0,B4XMainPage,B4XPage_Created,133,5,Starter,Process_Globals,8,0,Starter,Service_Start,57,0,Monitor,JobDone,148,6,Monitor,Timer1_Tick,54,0,Monitor,Service_Start,38,0 NavigationStack=Monitor,Service_Create,38,0,Monitor,Service_Start,47,1,Monitor,Process_Globals,17,4,Monitor,Timer1_Tick,61,0,Starter,Process_Globals,22,0,Starter,Service_Create,30,0,Monitor,probamosConexion,95,3,Monitor,JobDone,147,0,Monitor,reinicializaReqManager,125,0,B4XMainPage,B4XPage_Created,95,6
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,7,3,5,4 VisibleModules=1,7,3,5,4

View File

@@ -0,0 +1,54 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Service
Version=11
@EndOfDesignText@
#Region Service Attributes
#StartAtBoot: False
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
' Dim rp As ReplyAuto
' Dim activo As Boolean = True
Dim ultimaNoti As String
Dim logger As Boolean = False
End Sub
Sub Service_Create
' rp.Initialize("MonitorKeymon")
#if not(DEBUG)
logger = False
#end if
If logger Then Log("**************** Iniciamos Monitor Keymon ***********************")
End Sub
Sub Service_Start (StartingIntent As Intent)
' Log("NotificationService Start")
' If rp.HandleIntent(StartingIntent) Then Return
DateTime.DateFormat = "mm"
ultimaNoti = DateTime.Date(DateTime.now)
If logger Then LogColor($"Ultima notificación en el minuto ${ultimaNoti}"$, Colors.green)
End Sub
Sub Service_Destroy
End Sub
'Sub MonitorKeymon_NotificationPosted (SBN As StatusBarNotification)
' If ultimaNoti = "" Then ultimaNoti = 0
' DateTime.DateFormat = "mm"
' Private estaNoti As String = DateTime.Date(DateTime.now)
' If estaNoti > 60 Then estaNoti = estaNoti - 60
' If logger Then LogColor("Diferencia de tiempo entre notis = " & (estaNoti - ultimaNoti), Colors.blue)
' If logger Then LogColor($"Esta noti en el minuto ${DateTime.Date(DateTime.now)}, ultima noti = ${ultimaNoti}"$, Colors.green)
' If logger Then Log(SBN.PackageName)
' If ultimaNoti < estaNoti Then
' If logger Then LogColor($"******** TIEMPO *******"$, Colors.red)
' ultimaNoti = estaNoti
' If IsPaused(Monitor) Then StartService(Monitor)
' End If
' If logger Then LogColor("Monitor inicializado:" & Monitor.Timer1.IsInitialized, Colors.Magenta)
'End Sub

View File

@@ -26,6 +26,7 @@ Sub Process_Globals
' Dim DBOk As Boolean = True ' Dim DBOk As Boolean = True
Dim logger As Boolean = False Dim logger As Boolean = False
Dim ping As Boolean = False Dim ping As Boolean = False
Dim servidores As List
End Sub End Sub
Sub Service_Create Sub Service_Create
@@ -36,6 +37,7 @@ Sub Service_Create
#if not(DEBUG) #if not(DEBUG)
logger = False logger = False
#end if #end if
servidores.Initialize
End Sub End Sub
Sub Service_Start (StartingIntent As Intent) Sub Service_Start (StartingIntent As Intent)
@@ -62,7 +64,6 @@ Sub Service_Start (StartingIntent As Intent)
If sa.GetString("cuantos") = 0 Then If sa.GetString("cuantos") = 0 Then
skmt.ExecNonQuery($"insert into cat_servidores (url, intervalo, timeout) values ('http://keymon.lat:1781', '30', '11000')"$) skmt.ExecNonQuery($"insert into cat_servidores (url, intervalo, timeout) values ('http://keymon.lat:1781', '30', '11000')"$)
End If End If
StartService(Monitor) StartService(Monitor)
End Sub End Sub
' '

View File

@@ -27,6 +27,7 @@ Sub Process_Globals
Dim logger As Boolean = True Dim logger As Boolean = True
Dim timeout As Int Dim timeout As Int
Dim cs As CSBuilder Dim cs As CSBuilder
Dim rp As RuntimePermissions
End Sub End Sub
Sub Service_Create Sub Service_Create
@@ -67,9 +68,9 @@ End Sub
Sub probamosConexion Sub probamosConexion
If logger Then Log("###################### "& CRLF& " probamos probamosConexion"& CRLF& " ############") If logger Then Log("###################### "& CRLF& " probamos probamosConexion"& CRLF& " ############")
If B4XPages.IsInitialized Then
B4XPages.MainPage.lv_servidores.Clear B4XPages.MainPage.lv_servidores.Clear
B4XPages.MainPage.lv_dbs.Clear B4XPages.MainPage.lv_dbs.Clear
If B4XPages.IsInitialized Then
B4XPages.MainPage.cb_conexion.Checked = False B4XPages.MainPage.cb_conexion.Checked = False
B4XPages.MainPage.cb_internet.Checked = False B4XPages.MainPage.cb_internet.Checked = False
' B4XPages.MainPage.cb_dbreqserver.Checked = False ' B4XPages.MainPage.cb_dbreqserver.Checked = False
@@ -90,9 +91,8 @@ Sub probamosConexion
s.notiLowReturn("Hay conexion a internet ✅️", "Revisando servidor ...", nid) s.notiLowReturn("Hay conexion a internet ✅️", "Revisando servidor ...", nid)
If B4XPages.IsInitialized Then B4XPages.MainPage.l_status.Text = "Hay conexion a internet!!" If B4XPages.IsInitialized Then B4XPages.MainPage.l_status.Text = "Hay conexion a internet!!"
Dim cmd As DBCommand Dim cmd As DBCommand
For i = 0 To Starter.servidores.Size - 1
For i = 0 To B4XPages.MainPage.servidores.Size - 1 Private esteServidor As Map = Starter.servidores.Get(i).As(Map)
Private esteServidor As Map = B4XPages.MainPage.servidores.Get(i).As(Map)
Log(esteServidor.Get("servidor")) Log(esteServidor.Get("servidor"))
reqManager.Initialize(Me, esteServidor.Get("servidor")) reqManager.Initialize(Me, esteServidor.Get("servidor"))
cmd.Initialize cmd.Initialize
@@ -119,7 +119,8 @@ Sub probamosConexion
Else Else
If logger Then Log("Sin conexión a internet!!!") If logger Then Log("Sin conexión a internet!!!")
s.notiLowReturn("SIN INTERNET ❌", "NO hay conexion a internet.", nid) s.notiLowReturn("SIN INTERNET ❌", "NO hay conexion a internet.", nid)
If B4XPages.IsInitialized Then B4XPages.MainPage.l_status.Text = "NO hay conexión a internet!!" cs.Initialize
If B4XPages.IsInitialized Then B4XPages.MainPage.l_status.Text = cs.Color(Colors.red).append("NO hay conexión a internet!!").PopAll
End If End If
End Sub End Sub
@@ -147,6 +148,7 @@ Sub JobDone(Job As HttpJob)
s.notiHigh("ERROR ❌", $"El servidor ${m.Get("url").As(String).Replace("http://", "")} NO responde!!"$, nid, Main) s.notiHigh("ERROR ❌", $"El servidor ${m.Get("url").As(String).Replace("http://", "")} NO responde!!"$, nid, Main)
cs.Initialize cs.Initialize
B4XPages.MainPage.lv_servidores.AddSingleLine(cs.Color(Colors.red).append($"${m.Get("url").As(String).Replace("http://", "")} - ERROR"$).PopAll) B4XPages.MainPage.lv_servidores.AddSingleLine(cs.Color(Colors.red).append($"${m.Get("url").As(String).Replace("http://", "")} - ERROR"$).PopAll)
B4XPages.MainPage.lv_servidores.SetSelection(B4XPages.MainPage.lv_servidores.Size - 1)
' B4XPages.MainPage.lv_servidores.AddSingleLine($"${m.Get("url").As(String).Replace("http://", "")} - ERROR"$) ' B4XPages.MainPage.lv_servidores.AddSingleLine($"${m.Get("url").As(String).Replace("http://", "")} - ERROR"$)
End If End If
@@ -188,6 +190,7 @@ Sub JobDone(Job As HttpJob)
' Sleep(200) ' Sleep(200)
cs.Initialize cs.Initialize
B4XPages.MainPage.lv_dbs.AddSingleLine(cs.Color(Colors.red).append($"${m.Get("url").As(String).Replace("http://", "")} - ERROR"$).PopAll) B4XPages.MainPage.lv_dbs.AddSingleLine(cs.Color(Colors.red).append($"${m.Get("url").As(String).Replace("http://", "")} - ERROR"$).PopAll)
B4XPages.MainPage.lv_servidores.SetSelection(B4XPages.MainPage.lv_servidores.Size - 1)
' B4XPages.MainPage.lv_dbs.AddSingleLine($"${m.Get("url").As(String).Replace("http://", "")} - ERROR"$) ' B4XPages.MainPage.lv_dbs.AddSingleLine($"${m.Get("url").As(String).Replace("http://", "")} - ERROR"$)
Starter.skmt.ExecNonQuery($"insert into error_log(error, fecha) values ('La BD NO esta respondiendo!!', '${s.fechaKMT(DateTime.Now)}')"$) Starter.skmt.ExecNonQuery($"insert into error_log(error, fecha) values ('La BD NO esta respondiendo!!', '${s.fechaKMT(DateTime.Now)}')"$)
Dim cd1 As ColorDrawable Dim cd1 As ColorDrawable