GeofencePolicy

data class GeofencePolicy(val enabled: Boolean = false, val regions: List<GeofenceRegion> = emptyList(), val defaultPolicyProfile: String = PolicyProfile.DEFAULT_PROFILE_NAME, val dwellTimeMs: Long, val locationAccuracyMeters: Float = 100.0f, val loiteringDelayMs: Int, val notificationResponsiveness: Int)

Policy for geofence-aware configuration switching.

Privacy (GDPR Art. 5): Location is processed locally only. No coordinates are stored or transmitted. Only region membership state is tracked for policy switching.

Security (BSI SYS.3.2.2.A8): Uses passive location providers to minimize battery impact.

Since

0.4.0

Constructors

Link copied to clipboard
constructor(enabled: Boolean = false, regions: List<GeofenceRegion> = emptyList(), defaultPolicyProfile: String = PolicyProfile.DEFAULT_PROFILE_NAME, dwellTimeMs: Long, locationAccuracyMeters: Float = 100.0f, loiteringDelayMs: Int, notificationResponsiveness: Int)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Default policy when outside all regions

Link copied to clipboard

Time required inside region before triggering dwell (ms)

Link copied to clipboard

Enable geofence monitoring

Link copied to clipboard

Minimum location accuracy required

Link copied to clipboard

Delay before DWELL transition fires

Link copied to clipboard

How quickly to receive transitions (ms)

Link copied to clipboard

Defined geofence regions

Functions

Link copied to clipboard

Find regions that overlap (centers within each other's radius). Useful for detecting configuration issues.

Link copied to clipboard
fun findRegionAt(latitude: Double, longitude: Double): GeofenceRegion?

Find the highest-priority region containing a point.

Link copied to clipboard

Get regions sorted by priority (highest first).