Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Public Member Functions | Package Functions | List of all members
io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry Class Reference
Inheritance diagram for io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry:
io.flutter.embedding.engine.plugins.PluginRegistry

Public Member Functions

 ShimPluginRegistry (@NonNull FlutterEngine flutterEngine)
 
Registrar registrarFor (@NonNull String pluginKey)
 
boolean hasPlugin (@NonNull String pluginKey)
 
- Public Member Functions inherited from io.flutter.embedding.engine.plugins.PluginRegistry
void add (@NonNull FlutterPlugin plugin)
 
void add (@NonNull Set< FlutterPlugin > plugins)
 
boolean has (@NonNull Class<? extends FlutterPlugin > pluginClass)
 
FlutterPlugin get (@NonNull Class<? extends FlutterPlugin > pluginClass)
 
void remove (@NonNull Class<? extends FlutterPlugin > pluginClass)
 
void remove (@NonNull Set< Class<? extends FlutterPlugin > > plugins)
 
void removeAll ()
 

Package Functions

public< T > T valuePublishedByPlugin (@NonNull String pluginKey)
 

Detailed Description

A PluginRegistry that is shimmed to let old plugins use the new Android embedding and plugin API behind the scenes.

The following is an example usage of ShimPluginRegistry within a
FlutterActivity
:

// Create the FlutterEngine that will back the Flutter UI.
FlutterEngineGroup group = new FlutterEngineGroup(context);
FlutterEngine flutterEngine = group.createAndRunDefaultEngine(context);

// Create a ShimPluginRegistry and wrap the FlutterEngine with the shim.
ShimPluginRegistry shimPluginRegistry = new ShimPluginRegistry(flutterEngine, platformViewsController);

// Use the GeneratedPluginRegistrant to add every plugin that's in the pubspec.
GeneratedPluginRegistrant.registerWith(shimPluginRegistry);

Definition at line 38 of file ShimPluginRegistry.java.

Constructor & Destructor Documentation

◆ ShimPluginRegistry()

io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry.ShimPluginRegistry ( @NonNull FlutterEngine  flutterEngine)
inline

Definition at line 45 of file ShimPluginRegistry.java.

45 {
46 this.flutterEngine = flutterEngine;
47 this.shimRegistrarAggregate = new ShimRegistrarAggregate();
48 this.flutterEngine.getPlugins().add(shimRegistrarAggregate);
49 }

Member Function Documentation

◆ hasPlugin()

boolean io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry.hasPlugin ( @NonNull String  pluginKey)
inline

Definition at line 65 of file ShimPluginRegistry.java.

65 {
66 return pluginMap.containsKey(pluginKey);
67 }

◆ registrarFor()

Registrar io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry.registrarFor ( @NonNull String  pluginKey)
inline

Definition at line 53 of file ShimPluginRegistry.java.

53 {
54 Log.v(TAG, "Creating plugin Registrar for '" + pluginKey + "'");
55 if (pluginMap.containsKey(pluginKey)) {
56 throw new IllegalStateException("Plugin key " + pluginKey + " is already in use");
57 }
58 pluginMap.put(pluginKey, null);
59 ShimRegistrar registrar = new ShimRegistrar(pluginKey, pluginMap);
60 shimRegistrarAggregate.addPlugin(registrar);
61 return registrar;
62 }
void Log(const char *format,...) SK_PRINTF_LIKE(1

◆ valuePublishedByPlugin()

public< T > T io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry.valuePublishedByPlugin ( @NonNull String  pluginKey)
inlinepackage

Definition at line 71 of file ShimPluginRegistry.java.

71 {
72 return (T) pluginMap.get(pluginKey);
73 }

The documentation for this class was generated from the following file: