File tree Expand file tree Collapse file tree
src/main/kotlin/com/itsaky/androidide/plugins/base Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -108,21 +108,18 @@ public abstract interface class com/itsaky/androidide/plugins/ServiceRegistry {
108108 public abstract fun unregister (Ljava/lang/Class;)V
109109}
110110
111+ public abstract interface annotation class com/itsaky/androidide/plugins/base/InternalPluginApi : java/lang/annotation/Annotation {
112+ }
113+
111114public final class com/itsaky/androidide/plugins/base/PluginFragmentHelper {
112115 public static final field INSTANCE Lcom/itsaky/androidide/plugins/base/PluginFragmentHelper;
113- public static final fun clearAllContexts ()V
114116 public static final fun getCurrentActivityContext (Ljava/lang/String;)Landroid/content/Context;
115117 public static final fun getCurrentActivityTheme (Ljava/lang/String;)Landroid/content/res/Resources$Theme;
116118 public static final fun getOnPluginInflationError ()Lkotlin/jvm/functions/Function2;
117119 public static final fun getPluginContext (Ljava/lang/String;)Landroid/content/Context;
118120 public static final fun getPluginInflater (Ljava/lang/String;Landroid/view/LayoutInflater;)Landroid/view/LayoutInflater;
119121 public static final fun getServiceRegistry (Ljava/lang/String;)Lcom/itsaky/androidide/plugins/ServiceRegistry;
120- public static final fun registerPluginContext (Ljava/lang/String;Landroid/content/Context;)V
121- public static final fun registerPluginContext (Ljava/lang/String;Landroid/content/Context;Z)V
122- public static synthetic fun registerPluginContext$default (Ljava/lang/String;Landroid/content/Context;ZILjava/lang/Object;)V
123- public static final fun registerServiceRegistry (Ljava/lang/String;Lcom/itsaky/androidide/plugins/ServiceRegistry;)V
124122 public static final fun setOnPluginInflationError (Lkotlin/jvm/functions/Function2;)V
125- public static final fun unregisterPluginContext (Ljava/lang/String;)V
126123}
127124
128125public final class com/itsaky/androidide/plugins/base/SafePluginLayoutInflater : android/view/LayoutInflater {
Original file line number Diff line number Diff line change @@ -30,6 +30,7 @@ kotlin {
3030
3131apiValidation {
3232 ignoredClasses.add(" com.itsaky.androidide.plugins.api.BuildConfig" )
33+ nonPublicMarkers.add(" com.itsaky.androidide.plugins.base.InternalPluginApi" )
3334}
3435
3536dependencies {
Original file line number Diff line number Diff line change 1+ package com.itsaky.androidide.plugins.base
2+
3+ @RequiresOptIn(
4+ level = RequiresOptIn .Level .ERROR ,
5+ message = " Host-internal plugin API: only the IDE host (plugin manager) may call it, not plugins." ,
6+ )
7+ @Retention(AnnotationRetention .BINARY )
8+ @Target(AnnotationTarget .FUNCTION )
9+ annotation class InternalPluginApi
Original file line number Diff line number Diff line change @@ -41,6 +41,7 @@ object PluginFragmentHelper {
4141 * Register a plugin's resource context.
4242 * Called by the plugin manager when loading APK-based plugins.
4343 */
44+ @InternalPluginApi
4445 @JvmStatic
4546 @JvmOverloads
4647 fun registerPluginContext (pluginId : String , context : Context , isLegacy : Boolean = false) {
@@ -52,6 +53,7 @@ object PluginFragmentHelper {
5253 * Unregister a plugin's resource context.
5354 * Called when a plugin is unloaded.
5455 */
56+ @InternalPluginApi
5557 @JvmStatic
5658 fun unregisterPluginContext (pluginId : String ) {
5759 pluginContexts.remove(pluginId)
@@ -71,6 +73,7 @@ object PluginFragmentHelper {
7173 * Register a plugin's service registry.
7274 * Called by the plugin manager when creating plugin context.
7375 */
76+ @InternalPluginApi
7477 @JvmStatic
7578 fun registerServiceRegistry (pluginId : String , registry : ServiceRegistry ) {
7679 serviceRegistries[pluginId] = registry
@@ -87,6 +90,7 @@ object PluginFragmentHelper {
8790 /* *
8891 * Clear all registered plugin contexts.
8992 */
93+ @InternalPluginApi
9094 @JvmStatic
9195 fun clearAllContexts () {
9296 pluginContexts.clear()
Original file line number Diff line number Diff line change @@ -13,6 +13,12 @@ android {
1313 }
1414}
1515
16+ kotlin {
17+ compilerOptions {
18+ optIn.add(" com.itsaky.androidide.plugins.base.InternalPluginApi" )
19+ }
20+ }
21+
1622dependencies {
1723 api(projects.pluginApi)
1824
You can’t perform that action at this time.
0 commit comments