Skip to content

Commit

Permalink
update health connect client version to Version 1.1.0-alpha12
Browse files Browse the repository at this point in the history
  • Loading branch information
weichenc committed Feb 27, 2025
1 parent 35773f6 commit 47f0144
Show file tree
Hide file tree
Showing 8 changed files with 17 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ import androidx.health.connect.client.HealthConnectClient.Companion.SDK_UNAVAILA
import androidx.health.connect.client.HealthConnectFeatures
import androidx.health.connect.client.PermissionController
import androidx.health.connect.client.changes.Change
import androidx.health.connect.client.feature.ExperimentalFeatureAvailabilityApi
import androidx.health.connect.client.records.DistanceRecord
import androidx.health.connect.client.records.ExerciseSessionRecord
import androidx.health.connect.client.records.HeartRateRecord
Expand All @@ -37,6 +36,7 @@ import androidx.health.connect.client.records.SpeedRecord
import androidx.health.connect.client.records.StepsRecord
import androidx.health.connect.client.records.TotalCaloriesBurnedRecord
import androidx.health.connect.client.records.WeightRecord
import androidx.health.connect.client.records.metadata.Metadata
import androidx.health.connect.client.request.AggregateRequest
import androidx.health.connect.client.request.ChangesTokenRequest
import androidx.health.connect.client.request.ReadRecordsRequest
Expand Down Expand Up @@ -151,6 +151,7 @@ class HealthConnectManager(private val context: Context) {
return healthConnectClient.insertRecords(
listOf(
ExerciseSessionRecord(
metadata = Metadata.manualEntry(),
startTime = start.toInstant(),
startZoneOffset = start.offset,
endTime = end.toInstant(),
Expand All @@ -159,20 +160,23 @@ class HealthConnectManager(private val context: Context) {
title = "My Run #${Random.nextInt(0, 60)}"
),
StepsRecord(
metadata = Metadata.manualEntry(),
startTime = start.toInstant(),
startZoneOffset = start.offset,
endTime = end.toInstant(),
endZoneOffset = end.offset,
count = (1000 + 1000 * Random.nextInt(3)).toLong()
),
DistanceRecord(
metadata = Metadata.manualEntry(),
startTime = start.toInstant(),
startZoneOffset = start.offset,
endTime = end.toInstant(),
endZoneOffset = end.offset,
distance = Length.meters((1000 + 100 * Random.nextInt(20)).toDouble())
),
TotalCaloriesBurnedRecord(
metadata = Metadata.manualEntry(),
startTime = start.toInstant(),
startZoneOffset = start.offset,
endTime = end.toInstant(),
Expand Down Expand Up @@ -279,6 +283,7 @@ class HealthConnectManager(private val context: Context) {
.withHour(Random.nextInt(19, 22))
.withMinute(Random.nextInt(0, 60))
val sleepSession = SleepSessionRecord(
metadata = Metadata.manualEntry(),
notes = notes[Random.nextInt(0, notes.size)],
startTime = bedtime.toInstant(),
startZoneOffset = bedtime.offset,
Expand Down Expand Up @@ -479,14 +484,14 @@ class HealthConnectManager(private val context: Context) {
time = time.plusSeconds(30)
}
return HeartRateRecord(
metadata = Metadata.manualEntry(),
startTime = sessionStartTime.toInstant(),
startZoneOffset = sessionStartTime.offset,
endTime = sessionEndTime.toInstant(),
endZoneOffset = sessionEndTime.offset,
samples = samples)
}

@OptIn(ExperimentalFeatureAvailabilityApi::class)
fun isFeatureAvailable(feature: Int): Boolean{
return healthConnectClient
.features
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.health.connect.client.records.HeartRateRecord
import androidx.health.connect.client.records.SpeedRecord
import androidx.health.connect.client.records.metadata.Metadata
import com.example.healthconnectsample.R
import com.example.healthconnectsample.data.dateTimeWithOffsetOrDefault
import com.example.healthconnectsample.presentation.theme.HealthConnectTheme
Expand Down Expand Up @@ -142,6 +143,7 @@ fun HeartRateSeriesPreview() {
labelId = R.string.hr_series,
series = listOf(
HeartRateRecord(
metadata = Metadata.manualEntry(),
startTime = time2,
startZoneOffset = ZoneId.systemDefault().rules.getOffset(time2),
endTime = time1,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,8 @@ fun HealthConnectNavigation(
permissionsGranted = permissionsGranted,
sessionMetrics = sessionMetrics,
uiState = viewModel.uiState,
onDetailsClick = { recordType, uid, seriesRecordsType ->
navController.navigate(Screen.RecordListScreen.route + "/" + recordType + "/"+ uid + "/" + seriesRecordsType)
onDetailsClick = { recordType, recordId, seriesRecordsType ->
navController.navigate(Screen.RecordListScreen.route + "/" + recordType + "/"+ recordId + "/" + seriesRecordsType)
},
onError = { exception ->
showExceptionSnackbar(scaffoldState, scope, exception)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
Expand All @@ -42,6 +41,7 @@ import androidx.health.connect.client.HealthConnectClient.Companion.SDK_UNAVAILA
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.compose.LocalLifecycleOwner
import com.example.healthconnectsample.R
import com.example.healthconnectsample.presentation.component.InstalledMessage
import com.example.healthconnectsample.presentation.component.NotInstalledMessage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.health.connect.client.HealthConnectFeatures
import androidx.health.connect.client.feature.ExperimentalFeatureAvailabilityApi
import androidx.health.connect.client.permission.HealthPermission
import androidx.health.connect.client.permission.HealthPermission.Companion.PERMISSION_READ_HEALTH_DATA_IN_BACKGROUND
import androidx.health.connect.client.records.DistanceRecord
Expand Down Expand Up @@ -140,7 +139,6 @@ class ExerciseSessionViewModel(private val healthConnectManager: HealthConnectMa
* Where an error is caught, of the type Health Connect is known to throw, [uiState] is set to
* [UiState.Error], which results in the snackbar being used to show the error message.
*/
@OptIn(ExperimentalFeatureAvailabilityApi::class)
private suspend fun tryWithPermissionsCheck(block: suspend () -> Unit) {
permissionsGranted.value = healthConnectManager.hasAllPermissions(permissions)
backgroundReadAvailable.value = healthConnectManager.isFeatureAvailable(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.health.connect.client.permission.HealthPermission
import androidx.health.connect.client.records.WeightRecord
import androidx.health.connect.client.records.metadata.Metadata
import androidx.health.connect.client.units.Mass
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
Expand Down Expand Up @@ -71,6 +72,7 @@ class InputReadingsViewModel(private val healthConnectManager: HealthConnectMana
tryWithPermissionsCheck {
val time = ZonedDateTime.now().withNano(0)
val weight = WeightRecord(
metadata = Metadata.manualEntry(),
weight = Mass.kilograms(inputValue),
time = time.toInstant(),
zoneOffset = time.offset
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,12 +160,13 @@ fun RecordListScreen(

private fun buildStepsSeries(sessionStartTime: ZonedDateTime, sessionEndTime: ZonedDateTime) =
StepsRecord(
metadata = Metadata.manualEntry(),
startTime = sessionStartTime.toInstant(),
startZoneOffset = sessionStartTime.offset,
endTime = sessionEndTime.toInstant(),
endZoneOffset = sessionEndTime.offset,
count = Random.nextInt(9000).toLong() + 1000,
metadata = Metadata(id = UUID.randomUUID().toString()))
)

fun LazyListScope.renderData(
record: Record,
Expand Down
2 changes: 1 addition & 1 deletion health-connect/HealthConnectSample/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ buildscript {
navigation_compose_version = '2.8.2'

concurrent_futures_version = '1.2.0'
health_connect_version = '1.1.0-alpha11'
health_connect_version = '1.1.0-alpha12'
lifecycle_version = '2.8.6'
}
repositories {
Expand Down

0 comments on commit 47f0144

Please sign in to comment.