public LocationListener( ICheckPermissionProvider permissionProvider, IExceptionHandlerService exceptionHandling, ISchedulerFactory scheduler, CLLocationManager locationManager = null) : base(permissionProvider, exceptionHandling, scheduler) { _locationManager = locationManager; PositionFactory = createPositionFromPlatform; }
public LocationListener( ICheckPermissionProvider permissionProvider, IExceptionHandlerService exceptionHandling, ISchedulerFactory scheduler, LocationRequest locationRequest = null) : base(permissionProvider, exceptionHandling, scheduler) { mLocationRequest = locationRequest; mFusedLocationClient = LocationServices.GetFusedLocationProviderClient(GetContext()); _myCallback = new LocationCallbackImpl(); PositionFactory = createPositionFromPlatform; }
public static LocationListener Create ( IExceptionHandlerService exceptionHandler = null, ISchedulerFactory scheduler = null, ICheckPermissionProvider permissionProvider = null ) { scheduler = scheduler ?? CreateScheduler(); exceptionHandler = exceptionHandler ?? CreateExceptionHandler(); permissionProvider = permissionProvider ?? CreatePermissionProvider(scheduler); return(new LocationListener(permissionProvider, exceptionHandler, scheduler)); }
public LocationListenerBase( ICheckPermissionProvider permissionProvider, IExceptionHandlerService exceptionHandling, ISchedulerFactory scheduler) { _scheduler = scheduler ?? throw new ArgumentNullException(nameof(scheduler)); _exceptionHandling = exceptionHandling ?? throw new ArgumentNullException(nameof(exceptionHandling)); _permissionProvider = permissionProvider ?? throw new ArgumentNullException(nameof(permissionProvider)); _isListeningForChangesObs = new BehaviorSubject <bool>(false); _isListeningForChangesImperative = false; _PositionChanged = new Lazy <IObservable <LocationRecorded> >(createPositionChanged); }
public static IObservable <bool> CheckLocationPermission ( this ICheckPermissionProvider permissionProvider, IExceptionHandlerService exceptionHandler ) => permissionProvider .Location .Select(result => { if (!result) { exceptionHandler.LogException(new LocationActivationException(ActivationFailedReasons.PermissionsIssue)); return(false); } return(true); });
public LocationListener( ICheckPermissionProvider permissionProvider, IExceptionHandlerService exceptionHandling, ISchedulerFactory scheduler) { }