Package 

Class BleConfiguration


  • @Serializable() 
    public final class BleConfiguration
    
                        

    Experimental BLE-advertisement collection config. Defaults to disabled — the server does not send a ble block yet, so BLE only runs when a local override forces it on (see com.doorstepai.sdks.tracking.DebugCollectionConfig). When the server later adds this block (phase 3), flipping enabled here is all that's needed to control BLE scanning remotely.

    • Method Detail

      • getScanMode

         final Integer getScanMode()

        Android ScanSettings scan mode: 0=LOW_POWER, 1=BALANCED, 2=LOW_LATENCY (fastest).

      • getReportDelayMs

         final Long getReportDelayMs()

        Batch reporting delay (ms). 0 = deliver each advertisement immediately (no batching).

      • getCallbackType

         final Integer getCallbackType()

        ScanSettings callback type: 1=ALL_MATCHES, 2=FIRST_MATCH, 4=MATCH_LOST (API 23+).

      • getMatchMode

         final Integer getMatchMode()

        ScanSettings match mode: 1=AGGRESSIVE, 2=STICKY (API 23+).

      • getNumOfMatches

         final Integer getNumOfMatches()

        ScanSettings number of matches: 1=ONE, 2=FEW, 3=MAX_ADVERTISEMENT (API 23+).

      • getLegacyOnly

         final Boolean getLegacyOnly()

        setLegacy: true = only legacy (pre-5.0) advertisements; false = also extended adv (API 26+).

      • getServiceUuids

         final List<String> getServiceUuids()

        BLE ScanFilters. When BOTH lists are empty the scan is filterless (wildcard) — the broadest survey, but Android returns ZERO results while the screen is OFF. Supplying at least one service UUID or manufacturer id makes it a FILTERED scan that keeps delivering with the screen off (at a reduced/batched cadence). Trade breadth for screen-off coverage. Default: empty (unfiltered wildcard).

      • getManufacturerIds

         final List<Integer> getManufacturerIds()

        Company ids to match (e.g. 76 = Apple, 6 = Microsoft, 117 = Samsung, 224 = Google).

      • getCycleScannerEnabled

         final Boolean getCycleScannerEnabled()

        Destroy-and-recreate the scanner on a short cadence to continually observe repeat advertisements from already-seen devices. A filterless SCAN_MODE_LOW_LATENCY scan's results collapse after a few minutes because the BLE controller's onFound/dedup match table saturates and stops re-reporting known devices (observed on the S22U). Fully tearing down and re-registering the scan forces the controller to rebuild that table, so repeats resume. When false (default) the scan is only bounced on the slow restartIntervalMs cadence (30-min opportunistic avoidance).