Package 

Class LocationDataSupplierImpl

  • All Implemented Interfaces:
    com.pointrlabs.core.bluetooth.wrapper.BleScannerWrapper.Listener , com.pointrlabs.core.management.AppStateManager.Listener , com.pointrlabs.core.management.ConfigurationManager.Listener , com.pointrlabs.core.management.PTRListener , com.pointrlabs.core.positioning.internal.gps.GpsTracker.Listener , com.pointrlabs.core.positioning.internal.interfaces.LocationDataSupplier , com.pointrlabs.core.receiver.BluetoothStateChangeReceiver.Listener , com.pointrlabs.core.receiver.GpsGeofenceBroadcastReceiver.Listener , com.pointrlabs.core.receiver.PointrBroadcastReceiver.Listener

    
    public class LocationDataSupplierImpl
     implements BleScannerWrapper.Listener, LocationDataSupplier, AppStateManager.Listener, BluetoothStateChangeReceiver.Listener, GpsGeofenceBroadcastReceiver.Listener, ConfigurationManager.Listener, GpsTracker.Listener
                        

    This class wraps the bluetooth adapter.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Detail

      • onCycleEnd

         void onCycleEnd()

        Invoked when CycledLeScanner finishes cycle period for current cycle.

      • start

         synchronized void start()
      • stop

         synchronized void stop()
      • startAndroidOBackgroundScan

         void startAndroidOBackgroundScan()

        Starts the le scanning cycle for android O and higher This needs to be public, to be called from JobScheduler and JobService

      • stopAndroidOBackgroundScan

         void stopAndroidOBackgroundScan()

        Stops the le scanning cycle for android O and lower This needs to be public, to be called from JobScheduler and JobService

      • onBluetoothCorrupted

         void onBluetoothCorrupted()

        Notifies the listeners when the system bluetooth app has entered a bad state, where no new GattClients can be registered, hence no bluetooth scanning can be made.

        Currently there is no comprehensive solution for this, so we notify the third party to act as they please. This error loop is resolved only by deleting the storage of the bluetooth system app from Settings->Apps->System Apps->Bluetooth->Storage->Clear Storage

      • onBluetoothRestored

         void onBluetoothRestored()

        This is for the case where bluetooth of the device was corrupted but then bluetooth medic was able to resolve the issue by doing a power cycle.

        This means that the SDK will be able to scan beacons without any problem