@ -48,8 +48,8 @@ public class NearbyConnectionsPlugin implements MethodCallHandler, FlutterPlugin
private Activity activity ;
private Activity activity ;
private static final String SERVICE_ID = "com.pkmnapps.nearby_connections" ;
private static final String SERVICE_ID = "com.pkmnapps.nearby_connections" ;
private static MethodChannel channel ;
private static MethodChannel channel ;
private static Location Enabler locationEnabl er;
private static Location Helper locationHelp er;
private static ActivityPluginBinding activity Binding;
private static ActivityPluginBinding activity Plugin Binding;
private static PluginRegistry . Registrar pluginRegistrar ;
private static PluginRegistry . Registrar pluginRegistrar ;
private NearbyConnectionsPlugin ( Activity activity ) {
private NearbyConnectionsPlugin ( Activity activity ) {
@ -63,8 +63,8 @@ public class NearbyConnectionsPlugin implements MethodCallHandler, FlutterPlugin
public static void registerWith ( Registrar registrar ) {
public static void registerWith ( Registrar registrar ) {
pluginRegistrar = registrar ;
pluginRegistrar = registrar ;
location Enabler = new LocationEnabl er( registrar ) ;
location Helper = new LocationHelp er( registrar ) ;
location Enabl er. setActivity ( registrar . activity ( ) ) ;
location Help er. setActivity ( registrar . activity ( ) ) ;
initiate ( ) ;
initiate ( ) ;
channel = new MethodChannel ( registrar . messenger ( ) , "nearby_connections" ) ;
channel = new MethodChannel ( registrar . messenger ( ) , "nearby_connections" ) ;
channel . setMethodCallHandler ( new NearbyConnectionsPlugin ( registrar . activity ( ) ) ) ;
channel . setMethodCallHandler ( new NearbyConnectionsPlugin ( registrar . activity ( ) ) ) ;
@ -85,10 +85,7 @@ public class NearbyConnectionsPlugin implements MethodCallHandler, FlutterPlugin
}
}
break ;
break ;
case "askLocationPermission" :
case "askLocationPermission" :
ActivityCompat . requestPermissions ( activity , new String [ ] { Manifest . permission . ACCESS_FINE_LOCATION ,
locationHelper . requestLocationPermission ( result ) ;
Manifest . permission . ACCESS_COARSE_LOCATION } , 0 ) ;
Log . d ( "nearby_connections" , "askLocationPermission" ) ;
result . success ( null ) ;
break ;
break ;
case "checkLocationEnabled" :
case "checkLocationEnabled" :
LocationManager lm = ( LocationManager ) activity . getSystemService ( activity . LOCATION_SERVICE ) ;
LocationManager lm = ( LocationManager ) activity . getSystemService ( activity . LOCATION_SERVICE ) ;
@ -105,7 +102,7 @@ public class NearbyConnectionsPlugin implements MethodCallHandler, FlutterPlugin
result . success ( gps_enabled | | network_enabled ) ;
result . success ( gps_enabled | | network_enabled ) ;
break ;
break ;
case "enableLocationServices" :
case "enableLocationServices" :
location Enabl er. requestLocationEnable ( result ) ;
location Help er. requestLocationEnable ( result ) ;
break ;
break ;
case "checkExternalStoragePermission" :
case "checkExternalStoragePermission" :
if ( ContextCompat . checkSelfPermission ( activity ,
if ( ContextCompat . checkSelfPermission ( activity ,
@ -480,18 +477,18 @@ public class NearbyConnectionsPlugin implements MethodCallHandler, FlutterPlugin
@Override
@Override
public void onAttachedToEngine ( @NonNull FlutterPluginBinding binding ) {
public void onAttachedToEngine ( @NonNull FlutterPluginBinding binding ) {
location Enabler = new LocationEnabl er( ) ;
location Helper = new LocationHelp er( ) ;
}
}
@Override
@Override
public void onDetachedFromEngine ( @NonNull FlutterPluginBinding binding ) {
public void onDetachedFromEngine ( @NonNull FlutterPluginBinding binding ) {
location Enabl er = null ;
location Help er = null ;
}
}
private static void attachToActivity ( ActivityPluginBinding binding ) {
private static void attachToActivity ( ActivityPluginBinding binding ) {
activity Binding = binding ;
activity Plugin Binding = binding ;
try {
try {
location Enabl er. setActivity ( binding . getActivity ( ) ) ;
location Help er. setActivity ( binding . getActivity ( ) ) ;
initiate ( ) ;
initiate ( ) ;
} catch ( Exception e ) {
} catch ( Exception e ) {
e . printStackTrace ( ) ;
e . printStackTrace ( ) ;
@ -499,8 +496,9 @@ public class NearbyConnectionsPlugin implements MethodCallHandler, FlutterPlugin
}
}
private void detachActivity ( ) {
private void detachActivity ( ) {
activityBinding . removeActivityResultListener ( locationEnabler ) ;
activityPluginBinding . removeRequestPermissionsResultListener ( locationHelper ) ;
activityBinding = null ;
activityPluginBinding . removeActivityResultListener ( locationHelper ) ;
activityPluginBinding = null ;
}
}
@Override
@Override
@ -525,9 +523,11 @@ public class NearbyConnectionsPlugin implements MethodCallHandler, FlutterPlugin
private static void initiate ( ) {
private static void initiate ( ) {
if ( pluginRegistrar ! = null ) {
if ( pluginRegistrar ! = null ) {
pluginRegistrar . addActivityResultListener ( locationEnabler ) ;
pluginRegistrar . addActivityResultListener ( locationHelper ) ;
pluginRegistrar . addRequestPermissionsResultListener ( locationHelper ) ;
} else {
} else {
activityBinding . addActivityResultListener ( locationEnabler ) ;
activityPluginBinding . addActivityResultListener ( locationHelper ) ;
activityPluginBinding . addRequestPermissionsResultListener ( locationHelper ) ;
}
}
}
}