Files
ReplyAutoV1---WIP/B4A/Starter.bas
2023-09-24 03:29:06 -06:00

103 lines
3.6 KiB
QBasic

B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Service
Version=9.85
@EndOfDesignText@
#Region Service Attributes
#StartAtBoot: False
#ExcludeFromLibrary: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Public rp As RuntimePermissions
Dim reqManager As DBRequestManager 'ignore
Dim cmd As DBCommand 'ignore
' Dim DBRServer As String = "http://10.0.0.205:1782"
Dim DBRServer As String = "http://keymon.lat:1782"
' Dim DBRServer As String = "http://192.168.137.5:1782"
Dim ultimoServidorConectado As String = ""
' Dim DBRChecked As Boolean = False
' Dim pruebaPaso As Int = 0
Dim desbloqueoUsrs As Map
' Dim ultimaReglaCumplida As Map
'Para los Logs
Dim logs As StringBuilder
Private logcat As LogCat
Dim ruta As String
Dim starterStatus, nsStatus As Map
Dim notisMap2 As Map
Dim reglasDB, historicoDB, colaNotifs, waDB As SQL
Dim waPackage As String = "com.gbwhatsapp"
Dim waApp As String = "GBWhatsApp"
Dim waDir As String = $"/sdcard/Android/media/${waPackage}/${waApp}"$
Dim Logger As Boolean = True
Dim showLogs As Boolean = False
End Sub
Sub Service_Create
'This is the program entry point.
'This is a good place to load resources that are not specific to a single activity.
'Para los Logs
#if RELEASE
logcat.LogCatStart(Array As String("-v","raw","*:F","B4A:v"), "logcat")
Logger = False
#end if
logs.Initialize
' Logger = True
End Sub
Sub Service_Start (StartingIntent As Intent)
Service.StopAutomaticForeground 'Starter service can start in the foreground state in some edge cases.
desbloqueoUsrs.Initialize
Subs.revisaBD
ruta = File.DirInternal
' If Not(reglasDB.IsInitialized) Then
reglasDB.Initialize(ruta, "bow.db", True)
colaNotifs.Initialize(ruta, "colaNotifs.db", True)
' End If
If Logger Then LogColor(ruta, Colors.Red)
notisMap2.Initialize
starterStatus.Initialize
If NotificationService.starterStatus.IsInitialized Then starterStatus = NotificationService.starterStatus
starterStatus.Put(Subs.fechaKMT(DateTime.now),"inicia")
If NotificationService.nsStatus.IsInitialized Then
nsStatus.Initialize
nsStatus = NotificationService.nsStatus
Else If Not(NotificationService.nsStatus.IsInitialized) And nsStatus.IsInitialized Then
NotificationService.nsStatus.Initialize
NotificationService.nsStatus = nsStatus
Else
nsStatus.Initialize
NotificationService.nsStatus.Initialize
nsStatus.Put(Subs.fechaKMT(DateTime.now),"inicia")
NotificationService.nsStatus.Put(Subs.fechaKMT(DateTime.now),"inicia")
End If
If Logger Then Log($"starterStatus=${starterStatus}"$)
End Sub
Sub Service_TaskRemoved
'This event will be raised when the user removes the app from the recent apps list.
End Sub
'Return true to allow the OS default exceptions handler to handle the uncaught exception. 'Para los Logs
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
'wait for 500ms to allow the logs to be updated.
Dim jo As JavaObject
Dim l As Long = 500: jo.InitializeStatic("java.lang.Thread").RunMethod("sleep", Array(l)) 'Sleep 500ms
logcat.LogCatStop
logs.Initialize
logs.Append("Ver " & Application.VersionName & CRLF)
logs.Append(StackTrace)
Subs.revisaBD
Subs.errorLog.ExecNonQuery2("INSERT INTO errores(fecha, error) VALUES (?,?)", Array As Object (Subs.fechaKMT(DateTime.now), logs))
' StartActivity(errorManager) 'errorManager despliega una pantalla con el error y manda el mensaje de error al servidor.
Return True
End Sub
Sub Service_Destroy
starterStatus.put(Subs.fechaKMT(DateTime.now),"termina")
End Sub