He visto por encima (es bastante complejo para mi) el proyecto Pleroma:
En este proyecto hay un módulo estático para las constantes (Constants) que Erel llama en dos ocasiones a Constants.Initialize desde B4XMainPage sin tener ningún código. Tenéis idea del motivo? es necesario para alguna de las plataformas (p. ej. B4J)?
[B4X] [B4XPages] Pleroma / Mastodon Client
Roughly speaking, Mastodon is an open source, distributed, social network a bit similar to Twitter: https://joinmastodon.org/ Pleroma is a lightweight implementation of Mastodon with some extensions: https://blog.soykaf.com/post/what-is-pleroma/ I'm building an open source client for Pleroma...
www.b4x.com
En este proyecto hay un módulo estático para las constantes (Constants) que Erel llama en dos ocasiones a Constants.Initialize desde B4XMainPage sin tener ningún código. Tenéis idea del motivo? es necesario para alguna de las plataformas (p. ej. B4J)?
B4XMainPage:
Public Sub Initialize
Log($"Version:${NumberFormat2(Constants.Version, 0, 2, 2, False)}"$)
xui.SetDataFolder("b4x_pleroma")
Settings.Initialize
TextUtils1.Initialize
LinksManager.Initialize
Constants.Initialize
ServerManager1.Initialize
HamburgerIcons.Initialize
store.Initialize(xui.DefaultFolder, "store.dat")
StoreVersion = store.GetDefault("version", 0)
Log($"Store version:${NumberFormat2(StoreVersion, 0, 2, 2, False)}"$)
If StoreVersion < Constants.Version Then
UpdateOldStore
End If
store.Put("version", Constants.VERSION)
Settings.LoadFromStore(store, StoreVersion)
Theme.Initialize(File.ReadString(File.DirAssets, "theme.json"))
ServerManager1.AfterThemeCreated
ImagesCache1.Initialize
ViewsCache1.Initialize
auth.Initialize(Me, "auth")
#if B4A
Provider.Initialize
#End If
Constants.Initialize
push1.Initialize
Report.Initialize
Theme.RegisterForEvents(Me)
Stream.Initialize
Stream.LoadFromStore(store)
B4XPages.GetManager.TransitionAnimationDuration = 0
Sound.Initialize
Sound.AddSound(Constants.SOUND_MESSAGE, File.DirAssets, "message.wav")
ServerFeatures.Initialize
End Sub