Package io.flutter.embedding.engine.plugins.shim

# Class ShimPluginRegistry

java.lang.Object
io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry

All Implemented Interfaces:
  `PluginRegistry`

public class ShimPluginRegistry extends Object implements PluginRegistry
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);

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface io.flutter.plugin.common.PluginRegistry

  `PluginRegistry.ActivityResultListener, PluginRegistry.NewIntentListener, PluginRegistry.PluginRegistrantCallback, PluginRegistry.Registrar, PluginRegistry.RequestPermissionsResultListener, PluginRegistry.UserLeaveHintListener, PluginRegistry.ViewDestroyListener, PluginRegistry.WindowFocusChangedListener`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ShimPluginRegistry(FlutterEngine flutterEngine)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `hasPlugin(String pluginKey)`
  Returns whether the specified plugin is known to this registry.
  `PluginRegistry.Registrar`
  `registrarFor(String pluginKey)`
  Returns a `PluginRegistry.Registrar` for receiving the registrations pertaining to the specified plugin.
  `<T> T`
  `valuePublishedByPlugin(String pluginKey)`
  Returns the value published by the specified plugin, if any.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ShimPluginRegistry

    public ShimPluginRegistry(@NonNull FlutterEngine flutterEngine)

- ## Method Details

  - ### registrarFor

    @NonNull public PluginRegistry.Registrar registrarFor(@NonNull String pluginKey)
    Description copied from interface: `PluginRegistry`
    Returns a `PluginRegistry.Registrar` for receiving the registrations pertaining to the specified plugin.
    Specified by:
      `registrarFor` in interface `PluginRegistry`
    Parameters:
      `pluginKey` - a unique String identifying the plugin; typically the fully qualified name of the plugin's main class.
    Returns:
      A `PluginRegistry.Registrar` for receiving the registrations pertianing to the specified plugin.

  - ### hasPlugin

    public boolean hasPlugin(@NonNull String pluginKey)
    Description copied from interface: `PluginRegistry`
    Returns whether the specified plugin is known to this registry.
    Specified by:
      `hasPlugin` in interface `PluginRegistry`
    Parameters:
      `pluginKey` - a unique String identifying the plugin; typically the fully qualified name of the plugin's main class.
    Returns:
      true if this registry has handed out a registrar for the specified plugin.

  - ### valuePublishedByPlugin

    public <T> T valuePublishedByPlugin(@NonNull String pluginKey)
    Description copied from interface: `PluginRegistry`
    Returns the value published by the specified plugin, if any.

    Plugins may publish a single value, such as an instance of the plugin's main class, for situations where external control or interaction is needed. Clients are expected to know the value's type.

    Specified by:
      `valuePublishedByPlugin` in interface `PluginRegistry`
    Type Parameters:
      `T` - The type of the value.
    Parameters:
      `pluginKey` - a unique String identifying the plugin; typically the fully qualified name of the plugin's main class.
    Returns:
      the published value, possibly null.