HealthConnectDiagnostics

data class HealthConnectDiagnostics(val sdkStatus: HealthConnectAvailabilityStatus, val providerPackageName: String, val providerVersionName: String?, val providerVersionCode: Long?, val deviceApiLevel: Int, val isFrameworkModule: Boolean, val grantedPermissions: Set<String>, val missingPermissions: Set<String>, val backgroundReadAvailable: Boolean, val historyReadAvailable: Boolean)

A snapshot of Health Connect diagnostic information for debugging purposes (Android only).

Obtain an instance via AFHealthTracking.getHealthConnectDiagnostics(). The values are captured at the moment of the call and not updated afterwards; re-query to refresh. Useful for surfacing install/update prompts and for logging why a read returned no data.

Sample usage:

lifecycleScope.launch {
val diagnostics = AFHealthTracking.getHealthConnectDiagnostics()
Log.d("HealthConnect", "Status: ${diagnostics.sdkStatus}")
Log.d("HealthConnect", "Granted: ${diagnostics.grantedPermissions}")
Log.d("HealthConnect", "Background read granted: ${diagnostics.backgroundReadAvailable}")

if (diagnostics.sdkStatus == HealthConnectAvailabilityStatus.PROVIDER_UPDATE_REQUIRED) {
// Show update prompt to the user
}
}

Constructors

Link copied to clipboard
constructor(sdkStatus: HealthConnectAvailabilityStatus, providerPackageName: String, providerVersionName: String?, providerVersionCode: Long?, deviceApiLevel: Int, isFrameworkModule: Boolean, grantedPermissions: Set<String>, missingPermissions: Set<String>, backgroundReadAvailable: Boolean, historyReadAvailable: Boolean)

Properties

Link copied to clipboard

true when the background-read permission has been granted.

Link copied to clipboard

The device's Android API level (Build.VERSION.SDK_INT).

Link copied to clipboard

Health Connect permission strings currently granted to the app.

Link copied to clipboard

true when the history-read (data older than 30 days) permission has been granted.

Link copied to clipboard

Convenience flag: true when sdkStatus is HealthConnectAvailabilityStatus.AVAILABLE, i.e. Health Connect is installed, up to date, and ready to query.

Link copied to clipboard

true when Health Connect ships as a built-in framework module (Android 14+) rather than a standalone app.

Link copied to clipboard

Required permission strings that have NOT been granted yet.

Link copied to clipboard

Package name of the Health Connect provider used for the check.

Link copied to clipboard

Installed version code of the Health Connect provider, or null if not installed.

Link copied to clipboard

Installed version name of the Health Connect provider, or null if not installed.

Link copied to clipboard

Current Health Connect SDK availability status on this device.

Functions

Link copied to clipboard
open override fun toString(): String