11package  com .baseflow .geolocator ;
22
3- import  android .util .Log ;
4- 
53import  androidx .annotation .NonNull ;
64import  androidx .annotation .Nullable ;
75
86import  com .baseflow .geolocator .location .GeolocationManager ;
7+ import  com .baseflow .geolocator .nmea .NmeaMessageManager ;
98import  com .baseflow .geolocator .permission .PermissionManager ;
109import  io .flutter .embedding .engine .plugins .FlutterPlugin ;
1110import  io .flutter .embedding .engine .plugins .activity .ActivityAware ;
@@ -18,14 +17,15 @@ public class GeolocatorPlugin implements FlutterPlugin, ActivityAware {
1817  private  static  final  String  TAG  = "GeocodingPlugin" ;
1918  private  final  PermissionManager  permissionManager ;
2019  private  final  GeolocationManager  geolocationManager ;
20+   private  final  NmeaMessageManager  nmeaMessageManager ;
2121
2222  @ Nullable  private  MethodCallHandlerImpl  methodCallHandler ;
2323
2424  @ Nullable 
25-   private  PositionStreamImpl   streamHandler ;
25+   private  PositionStreamHandlerImpl   positionStreamHandler ;
2626
2727  @ Nullable 
28-   private  NmeaStreamImpl   nmeaStream ;
28+   private  NmeaStreamHandlerImpl   nmeaStreamHandler ;
2929
3030  @ Nullable 
3131  private  Registrar  pluginRegistrar ;
@@ -34,8 +34,8 @@ public class GeolocatorPlugin implements FlutterPlugin, ActivityAware {
3434  private  ActivityPluginBinding  pluginBinding ;
3535
3636  public  GeolocatorPlugin () {
37- 
3837    this .permissionManager  = new  PermissionManager ();
38+     this .nmeaMessageManager  = new  NmeaMessageManager (permissionManager );
3939    this .geolocationManager  = new  GeolocationManager (permissionManager );
4040  }
4141
@@ -59,11 +59,11 @@ public static void registerWith(Registrar registrar) {
5959    methodCallHandler .startListening (registrar .context (), registrar .messenger ());
6060    methodCallHandler .setActivity (registrar .activity ());
6161
62-     PositionStreamImpl  streamHandler  = new  PositionStreamImpl (geolocatorPlugin .geolocationManager );
62+     PositionStreamHandlerImpl  streamHandler  = new  PositionStreamHandlerImpl (geolocatorPlugin .geolocationManager );
6363    streamHandler .startListening (registrar .context (), registrar .messenger ());
6464    streamHandler .setActivity (registrar .activity ());
6565
66-     NmeaStreamImpl  nmeaStream  = new  NmeaStreamImpl (geolocatorPlugin .geolocationManager );
66+     NmeaStreamHandlerImpl  nmeaStream  = new  NmeaStreamHandlerImpl (geolocatorPlugin .nmeaMessageManager );
6767    nmeaStream .startListening (registrar .context (), registrar .messenger ());
6868    nmeaStream .setActivity (registrar .activity ());
6969  }
@@ -73,11 +73,11 @@ public void onAttachedToEngine(@NonNull FlutterPluginBinding flutterPluginBindin
7373    methodCallHandler  = new  MethodCallHandlerImpl (this .permissionManager , this .geolocationManager );
7474    methodCallHandler .startListening (
7575        flutterPluginBinding .getApplicationContext (), flutterPluginBinding .getBinaryMessenger ());
76-     streamHandler  = new  PositionStreamImpl (this .geolocationManager );
77-     streamHandler .startListening (
76+     positionStreamHandler  = new  PositionStreamHandlerImpl (this .geolocationManager );
77+     positionStreamHandler .startListening (
7878        flutterPluginBinding .getApplicationContext (), flutterPluginBinding .getBinaryMessenger ());
79-     nmeaStream  = new  NmeaStreamImpl (this .geolocationManager );
80-     nmeaStream .startListening (
79+     nmeaStreamHandler  = new  NmeaStreamHandlerImpl (this .nmeaMessageManager );
80+     nmeaStreamHandler .startListening (
8181        flutterPluginBinding .getApplicationContext (), flutterPluginBinding .getBinaryMessenger ());
8282  }
8383
@@ -88,14 +88,14 @@ public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) {
8888      methodCallHandler  = null ;
8989    }
9090
91-     if  (streamHandler  != null ) {
92-       streamHandler .stopListening ();
93-       streamHandler  = null ;
91+     if  (positionStreamHandler  != null ) {
92+       positionStreamHandler .stopListening ();
93+       positionStreamHandler  = null ;
9494    }
9595
96-     if  (nmeaStream  != null ) {
97-       nmeaStream .stopListening ();
98-       nmeaStream  = null ;
96+     if  (nmeaStreamHandler  != null ) {
97+       nmeaStreamHandler .stopListening ();
98+       nmeaStreamHandler  = null ;
9999    }
100100  }
101101
@@ -104,12 +104,12 @@ public void onAttachedToActivity(@NonNull ActivityPluginBinding binding) {
104104    if  (methodCallHandler  != null ) {
105105      methodCallHandler .setActivity (binding .getActivity ());
106106    }
107-     if  (streamHandler  != null ) {
108-       streamHandler .setActivity (binding .getActivity ());
107+     if  (positionStreamHandler  != null ) {
108+       positionStreamHandler .setActivity (binding .getActivity ());
109109    }
110110
111-     if  (nmeaStream  != null ) {
112-       nmeaStream .setActivity (binding .getActivity ());
111+     if  (nmeaStreamHandler  != null ) {
112+       nmeaStreamHandler .setActivity (binding .getActivity ());
113113    }
114114
115115    this .pluginBinding  = binding ;
@@ -131,12 +131,12 @@ public void onDetachedFromActivity() {
131131    if  (methodCallHandler  != null ) {
132132      methodCallHandler .setActivity (null );
133133    }
134-     if  (streamHandler  != null ) {
135-       streamHandler .setActivity (null );
134+     if  (positionStreamHandler  != null ) {
135+       positionStreamHandler .setActivity (null );
136136    }
137137
138-     if  (nmeaStream  != null ) {
139-       nmeaStream .setActivity (null );
138+     if  (nmeaStreamHandler  != null ) {
139+       nmeaStreamHandler .setActivity (null );
140140    }
141141
142142    deregisterListeners ();
0 commit comments