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

Public Member Functions

 ShimRegistrar (@NonNull String pluginId, @NonNull Map< String, Object > globalRegistrarMap)
 
Activity activity ()
 
Context context ()
 
Context activeContext ()
 
BinaryMessenger messenger ()
 
TextureRegistry textures ()
 
PlatformViewRegistry platformViewRegistry ()
 
FlutterView view ()
 
String lookupKeyForAsset (String asset)
 
String lookupKeyForAsset (String asset, String packageName)
 
PluginRegistry.Registrar publish (Object value)
 
PluginRegistry.Registrar addRequestPermissionsResultListener (PluginRegistry.RequestPermissionsResultListener listener)
 
PluginRegistry.Registrar addActivityResultListener (PluginRegistry.ActivityResultListener listener)
 
PluginRegistry.Registrar addNewIntentListener (PluginRegistry.NewIntentListener listener)
 
PluginRegistry.Registrar addUserLeaveHintListener (PluginRegistry.UserLeaveHintListener listener)
 
PluginRegistry.Registrar addWindowFocusChangedListener (PluginRegistry.WindowFocusChangedListener listener)
 
PluginRegistry.Registrar addViewDestroyListener ( @NonNull PluginRegistry.ViewDestroyListener listener)
 
void onAttachedToEngine (@NonNull FlutterPluginBinding binding)
 
void onDetachedFromEngine (@NonNull FlutterPluginBinding binding)
 
void onAttachedToActivity (@NonNull ActivityPluginBinding binding)
 
void onDetachedFromActivityForConfigChanges ()
 
void onReattachedToActivityForConfigChanges (@NonNull ActivityPluginBinding binding)
 
void onDetachedFromActivity ()
 

Detailed Description

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

Instances of ShimRegistrars are vended internally by a ShimPluginRegistry.

Definition at line 30 of file ShimRegistrar.java.

Constructor & Destructor Documentation

◆ ShimRegistrar()

io.flutter.embedding.engine.plugins.shim.ShimRegistrar.ShimRegistrar ( @NonNull String  pluginId,
@NonNull Map< String, Object >  globalRegistrarMap 
)
inline

Definition at line 47 of file ShimRegistrar.java.

47 {
48 this.pluginId = pluginId;
49 this.globalRegistrarMap = globalRegistrarMap;
50 }

Member Function Documentation

◆ activeContext()

Context io.flutter.embedding.engine.plugins.shim.ShimRegistrar.activeContext ( )
inline

Definition at line 63 of file ShimRegistrar.java.

63 {
64 return activityPluginBinding == null ? context() : activity();
65 }

◆ activity()

Activity io.flutter.embedding.engine.plugins.shim.ShimRegistrar.activity ( )
inline

Definition at line 53 of file ShimRegistrar.java.

53 {
54 return activityPluginBinding != null ? activityPluginBinding.getActivity() : null;
55 }

◆ addActivityResultListener()

PluginRegistry.Registrar io.flutter.embedding.engine.plugins.shim.ShimRegistrar.addActivityResultListener ( PluginRegistry.ActivityResultListener  listener)
inline

Definition at line 117 of file ShimRegistrar.java.

118 {
119 activityResultListeners.add(listener);
120
121 if (activityPluginBinding != null) {
122 activityPluginBinding.addActivityResultListener(listener);
123 }
124
125 return this;
126 }

◆ addNewIntentListener()

PluginRegistry.Registrar io.flutter.embedding.engine.plugins.shim.ShimRegistrar.addNewIntentListener ( PluginRegistry.NewIntentListener  listener)
inline

Definition at line 129 of file ShimRegistrar.java.

129 {
130 newIntentListeners.add(listener);
131
132 if (activityPluginBinding != null) {
133 activityPluginBinding.addOnNewIntentListener(listener);
134 }
135
136 return this;
137 }

◆ addRequestPermissionsResultListener()

PluginRegistry.Registrar io.flutter.embedding.engine.plugins.shim.ShimRegistrar.addRequestPermissionsResultListener ( PluginRegistry.RequestPermissionsResultListener  listener)
inline

Definition at line 105 of file ShimRegistrar.java.

106 {
107 requestPermissionsResultListeners.add(listener);
108
109 if (activityPluginBinding != null) {
110 activityPluginBinding.addRequestPermissionsResultListener(listener);
111 }
112
113 return this;
114 }

◆ addUserLeaveHintListener()

PluginRegistry.Registrar io.flutter.embedding.engine.plugins.shim.ShimRegistrar.addUserLeaveHintListener ( PluginRegistry.UserLeaveHintListener  listener)
inline

Definition at line 140 of file ShimRegistrar.java.

141 {
142 userLeaveHintListeners.add(listener);
143
144 if (activityPluginBinding != null) {
145 activityPluginBinding.addOnUserLeaveHintListener(listener);
146 }
147
148 return this;
149 }

◆ addViewDestroyListener()

PluginRegistry.Registrar io.flutter.embedding.engine.plugins.shim.ShimRegistrar.addViewDestroyListener ( @NonNull PluginRegistry.ViewDestroyListener  listener)
inline

Definition at line 165 of file ShimRegistrar.java.

166 {
167 viewDestroyListeners.add(listener);
168 return this;
169 }

◆ addWindowFocusChangedListener()

PluginRegistry.Registrar io.flutter.embedding.engine.plugins.shim.ShimRegistrar.addWindowFocusChangedListener ( PluginRegistry.WindowFocusChangedListener  listener)
inline

Definition at line 152 of file ShimRegistrar.java.

153 {
154 WindowFocusChangedListeners.add(listener);
155
156 if (activityPluginBinding != null) {
157 activityPluginBinding.addOnWindowFocusChangedListener(listener);
158 }
159
160 return this;
161 }

◆ context()

Context io.flutter.embedding.engine.plugins.shim.ShimRegistrar.context ( )
inline

Definition at line 58 of file ShimRegistrar.java.

58 {
59 return pluginBinding != null ? pluginBinding.getApplicationContext() : null;
60 }

◆ lookupKeyForAsset() [1/2]

String io.flutter.embedding.engine.plugins.shim.ShimRegistrar.lookupKeyForAsset ( String  asset)
inline

Definition at line 89 of file ShimRegistrar.java.

89 {
90 return FlutterInjector.instance().flutterLoader().getLookupKeyForAsset(asset);
91 }

◆ lookupKeyForAsset() [2/2]

String io.flutter.embedding.engine.plugins.shim.ShimRegistrar.lookupKeyForAsset ( String  asset,
String  packageName 
)
inline

Definition at line 94 of file ShimRegistrar.java.

94 {
95 return FlutterInjector.instance().flutterLoader().getLookupKeyForAsset(asset, packageName);
96 }

◆ messenger()

BinaryMessenger io.flutter.embedding.engine.plugins.shim.ShimRegistrar.messenger ( )
inline

Definition at line 68 of file ShimRegistrar.java.

68 {
69 return pluginBinding != null ? pluginBinding.getBinaryMessenger() : null;
70 }

◆ onAttachedToActivity()

void io.flutter.embedding.engine.plugins.shim.ShimRegistrar.onAttachedToActivity ( @NonNull ActivityPluginBinding  binding)
inline

Definition at line 191 of file ShimRegistrar.java.

191 {
192 Log.v(TAG, "Attached to an Activity.");
193 activityPluginBinding = binding;
194 addExistingListenersToActivityPluginBinding();
195 }
void Log(const char *format,...) SK_PRINTF_LIKE(1

◆ onAttachedToEngine()

void io.flutter.embedding.engine.plugins.shim.ShimRegistrar.onAttachedToEngine ( @NonNull FlutterPluginBinding  binding)
inline

This FlutterPlugin has been associated with a io.flutter.embedding.engine.FlutterEngine instance.

Relevant resources that this FlutterPlugin may need are provided via the
binding
. The binding may be cached and referenced until onDetachedFromEngine(FlutterPluginBinding) is invoked and returns.

Implements io.flutter.embedding.engine.plugins.FlutterPlugin.

Definition at line 172 of file ShimRegistrar.java.

172 {
173 Log.v(TAG, "Attached to FlutterEngine.");
174 pluginBinding = binding;
175 }

◆ onDetachedFromActivity()

void io.flutter.embedding.engine.plugins.shim.ShimRegistrar.onDetachedFromActivity ( )
inline

Definition at line 211 of file ShimRegistrar.java.

211 {
212 Log.v(TAG, "Detached from an Activity.");
213 activityPluginBinding = null;
214 }

◆ onDetachedFromActivityForConfigChanges()

void io.flutter.embedding.engine.plugins.shim.ShimRegistrar.onDetachedFromActivityForConfigChanges ( )
inline

Definition at line 198 of file ShimRegistrar.java.

198 {
199 Log.v(TAG, "Detached from an Activity for config changes.");
200 activityPluginBinding = null;
201 }

◆ onDetachedFromEngine()

void io.flutter.embedding.engine.plugins.shim.ShimRegistrar.onDetachedFromEngine ( @NonNull FlutterPluginBinding  binding)
inline

This FlutterPlugin has been removed from a io.flutter.embedding.engine.FlutterEngine instance.

The binding passed to this method is the same instance that was passed in onAttachedToEngine(FlutterPluginBinding). It is provided again in this method as a convenience. The binding may be referenced during the execution of this method, but it must not be cached or referenced after this method returns.

FlutterPlugins should release all resources in this method.

Implements io.flutter.embedding.engine.plugins.FlutterPlugin.

Definition at line 178 of file ShimRegistrar.java.

178 {
179 Log.v(TAG, "Detached from FlutterEngine.");
180 for (PluginRegistry.ViewDestroyListener listener : viewDestroyListeners) {
181 // The following invocation might produce unexpected behavior in old plugins because
182 // we have no FlutterNativeView to pass to onViewDestroy(). This is a limitation of this shim.
183 listener.onViewDestroy(null);
184 }
185
186 pluginBinding = null;
187 activityPluginBinding = null;
188 }

◆ onReattachedToActivityForConfigChanges()

void io.flutter.embedding.engine.plugins.shim.ShimRegistrar.onReattachedToActivityForConfigChanges ( @NonNull ActivityPluginBinding  binding)
inline

Definition at line 204 of file ShimRegistrar.java.

204 {
205 Log.v(TAG, "Reconnected to an Activity after config changes.");
206 activityPluginBinding = binding;
207 addExistingListenersToActivityPluginBinding();
208 }

◆ platformViewRegistry()

PlatformViewRegistry io.flutter.embedding.engine.plugins.shim.ShimRegistrar.platformViewRegistry ( )
inline

Definition at line 78 of file ShimRegistrar.java.

78 {
79 return pluginBinding != null ? pluginBinding.getPlatformViewRegistry() : null;
80 }

◆ publish()

PluginRegistry.Registrar io.flutter.embedding.engine.plugins.shim.ShimRegistrar.publish ( Object  value)
inline

Definition at line 99 of file ShimRegistrar.java.

99 {
100 globalRegistrarMap.put(pluginId, value);
101 return this;
102 }

◆ textures()

TextureRegistry io.flutter.embedding.engine.plugins.shim.ShimRegistrar.textures ( )
inline

Definition at line 73 of file ShimRegistrar.java.

73 {
74 return pluginBinding != null ? pluginBinding.getTextureRegistry() : null;
75 }

◆ view()

FlutterView io.flutter.embedding.engine.plugins.shim.ShimRegistrar.view ( )
inline

Definition at line 83 of file ShimRegistrar.java.

83 {
84 throw new UnsupportedOperationException(
85 "The new embedding does not support the old FlutterView.");
86 }

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