Package-level declarations

Types

Link copied to clipboard

Interface for providing Android Build properties in a testable way.

Link copied to clipboard
@Serializable
data class BluetoothData(val supported: Boolean)

Data class representing Bluetooth hardware capability information of the device.

Link copied to clipboard
@Serializable
data class BrowserData(val userAgent: String)

Data class representing browser and WebView characteristics of the device.

Link copied to clipboard

Default implementation of AndroidBuildProvider that returns actual Android Build properties.

Link copied to clipboard
interface DeviceCollector<T : @Serializable Any>

Represents a device collector that collects data of type T.

Link copied to clipboard

A comprehensive device collector that orchestrates the collection of device profile data.

Link copied to clipboard
@Serializable
data class DeviceProfileResult(val identifier: String, val metadata: JsonElement? = null, val location: LocationInfo? = null, val version: String)

Data class representing the complete structure of collected device profile data.

Link copied to clipboard
class HardwareCollector(androidBuildProvider: AndroidBuildProvider = DefaultAndroidBuildProvider()) : DeviceCollector<HardwareInfo>

A device collector that gathers comprehensive hardware information about the Android device.

Link copied to clipboard
@Serializable
data class HardwareInfo(var hardware: String = "test", var manufacturer: String = "", var storage: Long, var memory: Long, var cpu: Int, val display: Map<String, Int>?, val camera: Map<String, Int>?)

Data class containing comprehensive hardware information about the Android device.

Link copied to clipboard

A device collector that gathers GPS location information from the device.

Link copied to clipboard
@Serializable
data class LocationInfo(val latitude: Double?, val longitude: Double?)

Data class containing GPS location coordinates.

Link copied to clipboard
interface LoggerAware
Link copied to clipboard

A device collector that gathers network connectivity information from the Android device.

Link copied to clipboard
@Serializable
data class NetworkInfo(val connected: Boolean)

Data class containing network connectivity information.

Link copied to clipboard
class PlatformCollector(tamperDetector: MutableList<TamperDetector>.() -> Unit = DefaultTamperDetector()) : DeviceCollector<PlatformInfo>

A device collector that gathers platform and device identification information.

Link copied to clipboard
@Serializable
data class PlatformInfo(val platform: String, var version: Int? = null, var device: String = "", var deviceName: String = "", var model: String = "", var brand: String = "", var locale: String = "", var timeZone: String = "", var jailBreakScore: Double? = null)

Data class containing comprehensive platform and device information.

Link copied to clipboard
@Serializable
data class TelephonyInfo(val networkCountryIso: String?, val carrierName: String?)

Data class containing telephony and carrier information.

Properties

Link copied to clipboard
val BluetoothCollector: <Error class: unknown class>

Pre-configured device collector for gathering Bluetooth hardware capability information.

Link copied to clipboard
val BrowserCollector: <Error class: unknown class>

Pre-configured device collector for gathering browser and WebView information.

Link copied to clipboard
val TelephonyCollector: <Error class: unknown class>

A device collector that gathers telephony and carrier information from the Android device.

Functions

Link copied to clipboard
suspend fun MutableList<DeviceCollector<*>>.collect(): JsonElement
Link copied to clipboard

Creates a default configuration of device collectors for gathering comprehensive device profile information.

Link copied to clipboard
inline fun <T : @Serializable Any> DeviceCollector(key: String, noinline collect: suspend () -> T?): DeviceCollector<T>

Creates a DeviceCollector with the specified key and collection logic.