PluginManager

Types

Link copied to clipboard
data class OnlinePluginData(val savedData: PluginData, val onlineData: Pair<String, SitePlugin>)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val lock: Mutex
Link copied to clipboard
Link copied to clipboard
const val TAG: String
Link copied to clipboard

Functions

Link copied to clipboard

This can be used to override any extension loading to fix crashes!

Link copied to clipboard

Deletes all generated oat files which will force Android to recompile the dex extensions. This might fix unrecoverable SIGSEGV exceptions when old oat files are loaded in a new app update.

Link copied to clipboard
suspend fun deletePlugin(file: File): Boolean
Link copied to clipboard
suspend fun deleteRepositoryData(repositoryPath: String)
Link copied to clipboard

Automatically download plugins not yet existing on local

Link copied to clipboard
suspend fun downloadPlugin(activity: Activity, pluginUrl: String, internalName: String, file: File, loadPlugin: Boolean): Boolean
suspend fun downloadPlugin(activity: Activity, pluginUrl: String, internalName: String, repositoryUrl: String, loadPlugin: Boolean): Boolean
Link copied to clipboard
fun getPluginPath(context: Context, internalName: String, repositoryUrl: String): File

This should not be changed as it is used to also detect if a plugin is installed!

Link copied to clipboard

Spits out a unique and safe filename based on name. Used for repo folders (using repo url) and plugin file names (using internalName)

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun hotReloadAllLocalPlugins(activity: <Error class: unknown class>?)

Reloads all local plugins and forces a page update, used for hot reloading with deployWithAdb

Link copied to clipboard
fun loadAllLocalPlugins(context: Context, forceReload: Boolean)
Link copied to clipboard

Use updateAllOnlinePluginsAndLoadThem

Link copied to clipboard
suspend fun loadSinglePlugin(context: Context, apiName: String): Boolean
Link copied to clipboard
fun unloadPlugin(absolutePath: String)
Link copied to clipboard

Needs to be run before other plugin loading because plugin loading can not be overwritten