Package-level declarations
Types
Bounded IO pool for binder/disk/sensor reads — matches CollectorRuntime.passiveSemaphore.
Shared runtime scaffolding used by collectors: concurrency limits, per-category timeouts, API-level guards, safe Settings readers and a bounded/timed collect wrapper.
Immutable result of an OpenGL ES / EGL fingerprint probe.
Aggregate counts describing installed applications, without listing package names.
Heuristic custom-ROM detection and cross-ROM safe property reads. Works on stock OEM, LineageOS, GrapheneOS, /e/OS, crDroid, PixelExperience, MIUI, etc.
Pure functions that turn raw probe values into human-readable, privacy-aware descriptions.
Summary of installed TTS voice locales.
Result of the in-app WebView browser-fingerprint probe.
Properties
Sentinel FingerprintSignal.value marking a probe that failed to collect.
Functions
Adds signal only when block succeeds; failed probes are skipped (logged at WARN).
Emits live SignalCategory.Audio signals as audio routing changes.
Emits live SignalCategory.Battery signals from the ACTION_BATTERY_CHANGED broadcast.
Returns the device's sensor list, capped at max entries and failing soft to empty.
Converts a byte array to a lowercase hex string.
Collects an OpenGL ES / EGL fingerprint by briefly creating an offscreen GL context.
Collects a summary of installed TTS voice locales via a short-lived TextToSpeech engine.
Runs the FINGERPRINT_HTML page in an offscreen WebView and collects the resulting browser fingerprint.
Builds a DisplayHint.Compound signal from key/value entries; the flat value is a newline-joined key: value rendering for exports.
Counts the rows a content-provider query returns without exposing their contents.
Discovers mDNS/DNS-SD services on the local network via NsdManager for a bounded time.
Builds an error FingerprintSignal (DisplayHint.Error) representing a failed probe.
Builds a FingerprintSignal that carries both a human-friendly summary and the original raw value (retained in FingerprintSignal.rawValue).
Emits live SignalCategory.DeviceMotion signals from the accelerometer.
Probes accessibility-related Settings.Secure values (enabled a11y services hash, daltonizer/color-inversion, captioning preset and font scale).
Hashes the sorted set of visible account names via AccountManager.
Probes the Google Advertising ID (GAID) via reflection into Play Services.
Probes extended audio-hardware characteristics via AudioManager and the supplied output AudioDeviceInfos.
Probes extended battery telemetry from BatteryManager and the sticky battery broadcast intent.
Probes passive Bluetooth adapter capabilities.
Probes the camera inventory via CameraManager without opening any camera.
Probes the media codec inventory via MediaCodecList (Android 5+).
Probes the device's default/role-holder apps and key platform package versions.
Reads a DRM device-unique id (e.g. Widevine) via MediaDrm and returns it hashed as hex.
Reports the count of dynamically-connected sensors (Android 7+).
Returns a SHA-256 hash of the enabled input-methods list.
Counts enabled input methods from Settings.Secure.ENABLED_INPUT_METHODS.
Builds a label=bool string reporting presence of each feature in EXTENDED_FEATURES (fingerprint, face/iris biometrics, NFC, BLE, USB host, StrongBox, etc.).
Reports presence of environmental/extended sensors (light, proximity, pressure, humidity, ambient temperature, and hinge angle on Android 11+).
Probes a profile of Settings.Global values (boot count, airplane/auto-time, provisioning, Wi-Fi/mobile data, zen mode, HTTP proxy hash, private DNS host hash on Android 9+).
Probes connected input devices and installed input methods.
Probes installed-application counts via PackageManager.getInstalledApplications.
Probes assorted hardware/system properties in one pass.
Probes extended network characteristics from ConnectivityManager and the active network's NetworkCapabilities / android.net.LinkProperties.
Reports whether NFC is present and enabled via android.nfc.NfcAdapter.
Reads the configured notification-sound URI from Settings.System.
Runs block, returning its result or null if it throws.
Reads the configured ringtone URI from Settings.System.
Probes CPU/memory characteristics via Runtime and ActivityManager.
Reports installed SDK extension versions for R/S/T/U (Android 11+ via android.os.ext.SdkExtensions).
Reads a secure setting and returns its SHA-256 hash (for sensitive string values).
Probes a profile of Settings.Secure values (navigation mode, autofill/voice IME package, accessibility speak-password, one-handed mode, night display, notification-listener hash, IME subtype).
Reports the min/max reporting delay of the default accelerometer.
Reports the accelerometer's hardware FIFO max event count.
Hashes the (bounded) list of sensors reported by SensorManager.
Reports the power draw of a bounded sample of sensors.
Reports the maximum range of the default accelerometer, gyroscope, magnetometer and light sensors.
Reports the accelerometer's wake-up capability and reporting mode (Android 5+).
Hashes the sorted list of system shared library names.
Probes extended storage characteristics from Environment, StatFs and storage volumes.
Hashes the sorted list of all system features reported by PackageManager.
Probes a profile of user-facing Settings.System values (brightness, timeouts, haptics, rotation, pointer speed, alarm URI hash).
Probes extended telephony characteristics from TelephonyManager.
Enumerates installed text-to-speech voices by briefly initializing a TextToSpeech engine.
Probes presence of Vulkan graphics feature declarations.
Hashes a sample of the current system wallpaper (Android 7+).
Probes passive Wi-Fi capabilities via WifiManager without scanning networks.
Reads an integer from Settings.Global, or null on failure.
Reads a non-blank Settings.Global string, or null. @param key Global setting key.
Reads an integer from Settings.Secure, or null on failure.
Reads a non-blank Settings.Secure string, or null. @param key Secure setting key.
Reads an integer from Settings.System, or null on failure.
Reads a non-blank Settings.System string, or null. @param key System setting key.
Runs block, returning its string result or "unavailable" if it throws.
Builds a plain FingerprintSignal for a single value.
Builds a DisplayHint.Tags signal whose value is a comma-joined list of tags.