@@ -22,19 +22,21 @@ public FlutterVlcPlayerPlugin() {
2222
2323 @ SuppressWarnings ("deprecation" )
2424 public static void registerWith (io .flutter .plugin .common .PluginRegistry .Registrar registrar ) {
25- flutterVlcPlayerFactory =
26- new FlutterVlcPlayerFactory (
27- registrar .messenger (),
28- registrar .textures (),
29- registrar ::lookupKeyForAsset ,
30- registrar ::lookupKeyForAsset
31- );
32- registrar
33- .platformViewRegistry ()
34- .registerViewFactory (
35- VIEW_TYPE ,
36- flutterVlcPlayerFactory
37- );
25+ if (flutterVlcPlayerFactory == null ) {
26+ flutterVlcPlayerFactory =
27+ new FlutterVlcPlayerFactory (
28+ registrar .messenger (),
29+ registrar .textures (),
30+ registrar ::lookupKeyForAsset ,
31+ registrar ::lookupKeyForAsset
32+ );
33+ registrar
34+ .platformViewRegistry ()
35+ .registerViewFactory (
36+ VIEW_TYPE ,
37+ flutterVlcPlayerFactory
38+ );
39+ }
3840 registrar .addViewDestroyListener (view -> {
3941 stopListening ();
4042 return false ;
@@ -56,22 +58,24 @@ public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) {
5658 @ RequiresApi (api = Build .VERSION_CODES .N )
5759 @ Override
5860 public void onAttachedToActivity (@ NonNull ActivityPluginBinding binding ) {
59- final FlutterInjector injector = FlutterInjector .instance ();
60- //
61- flutterVlcPlayerFactory =
62- new FlutterVlcPlayerFactory (
63- flutterPluginBinding .getBinaryMessenger (),
64- flutterPluginBinding .getTextureRegistry (),
65- injector .flutterLoader ()::getLookupKeyForAsset ,
66- injector .flutterLoader ()::getLookupKeyForAsset
67- );
68- flutterPluginBinding
69- .getPlatformViewRegistry ()
70- .registerViewFactory (
71- VIEW_TYPE ,
72- flutterVlcPlayerFactory
73- );
74- //
61+ if (flutterVlcPlayerFactory == null ) {
62+ final FlutterInjector injector = FlutterInjector .instance ();
63+ //
64+ flutterVlcPlayerFactory =
65+ new FlutterVlcPlayerFactory (
66+ flutterPluginBinding .getBinaryMessenger (),
67+ flutterPluginBinding .getTextureRegistry (),
68+ injector .flutterLoader ()::getLookupKeyForAsset ,
69+ injector .flutterLoader ()::getLookupKeyForAsset
70+ );
71+ flutterPluginBinding
72+ .getPlatformViewRegistry ()
73+ .registerViewFactory (
74+ VIEW_TYPE ,
75+ flutterVlcPlayerFactory
76+ );
77+ //
78+ }
7579 startListening ();
7680 }
7781
0 commit comments