Skip to content

Commit

Permalink
Migrate to Health Connect 1.0.0-alpha11 (#101)
Browse files Browse the repository at this point in the history
  • Loading branch information
vishnuravi authored Mar 27, 2023
1 parent 997eb67 commit ffb5c7e
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 32 deletions.
18 changes: 10 additions & 8 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@

<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>

<uses-permission android:name="android.permission.health.READ_HEART_RATE"/>
<uses-permission android:name="android.permission.health.READ_STEPS"/>
<uses-permission android:name="android.permission.health.READ_WEIGHT"/>

<application
android:name=".CardinalKitApp"
Expand All @@ -29,27 +33,25 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

<!-- Health Connect Privacy Policy -->
<intent-filter>
<action android:name="androidx.health.ACTION_SHOW_PERMISSIONS_RATIONALE" />
</intent-filter>

<!-- Specify which Health Connect permissions the app can request -->
<meta-data
android:name="health_permissions"
android:resource="@array/health_permissions"/>

</activity>

<activity
android:name=".presentation.surveys.SurveyActivity"
android:theme="@style/Theme.CardinalKit"
android:label="Survey">
</activity>

</application>

<queries>
<package android:name="com.google.android.apps.healthdata" />

<intent>
<action android:name="androidx.health.ACTION_SHOW_PERMISSIONS_RATIONALE" />
</intent>
</queries>

</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ class MainActivity : AppCompatActivity() {
.healthConnectManager
.healthConnectClient
.permissionController
.getGrantedPermissions(permissions)
.getGrantedPermissions()
if (!granted.containsAll(permissions)) {
requestPermissions.launch(permissions)
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ class HealthViewModel @Inject constructor(
private var permissionsGranted = mutableStateOf<Boolean>(false)

val permissions = setOf(
HealthPermission.createReadPermission(StepsRecord::class),
HealthPermission.createReadPermission(WeightRecord::class)
HealthPermission.getReadPermission(StepsRecord::class),
HealthPermission.getReadPermission(WeightRecord::class)
)

init {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import android.content.Context
import androidx.compose.runtime.mutableStateOf
import androidx.health.connect.client.HealthConnectClient
import androidx.health.connect.client.aggregate.AggregationResult
import androidx.health.connect.client.permission.HealthPermission
import androidx.health.connect.client.records.HeartRateRecord
import androidx.health.connect.client.records.StepsRecord
import androidx.health.connect.client.records.WeightRecord
Expand All @@ -20,19 +19,23 @@ class HealthConnectManager @Inject constructor(
) {
val healthConnectClient by lazy { HealthConnectClient.getOrCreate(context) }

var isAvailable = mutableStateOf(false); private set
var isAvailable = mutableStateOf(false)
private set

init {
isAvailable.value = HealthConnectClient.isAvailable(context)
isAvailable.value = checkAvailabilityStatus()
}

fun checkAvailabilityStatus(): Boolean {
val availabilityStatus = HealthConnectClient.sdkStatus(context, "com.google.android.apps.healthdata")
return availabilityStatus == HealthConnectClient.SDK_AVAILABLE
}

/**
* Determines if all requested permissions are granted.
*/
suspend fun hasAllPermissions(permissions: Set<HealthPermission>): Boolean {
return permissions == healthConnectClient.permissionController.getGrantedPermissions(
permissions
)
suspend fun hasAllPermissions(permissions: Set<String>): Boolean {
return healthConnectClient.permissionController.getGrantedPermissions().containsAll(permissions)
}

/**
Expand Down
9 changes: 0 additions & 9 deletions app/src/main/res/values/health_permissions.xml

This file was deleted.

9 changes: 4 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
buildscript {
ext {
gradle_version = '7.2.2'
kotlin_version = "1.7.20"
kotlin_version = "1.8.0"
google_services_version = "4.3.10"
hilt_version = "2.43.2"
core_version = "1.8.0"
appcompat_version = "1.5.0"
live_data_version = "2.5.1"
material_version = "1.6.1"
compose_version = "1.3.2"
compose_bom_version = "2022.10.00"
compose_version = "1.4.1"
compose_bom_version = "2023.03.00"
hilt_navigation_compose_version = "1.0.0"
firebase_bom_version = "30.1.0"
play_services_version = "1.6.2"
play_services_auth_version = "20.3.0"
accompanist_version = "0.24.10-beta"
coil_compose_version = "2.1.0"
health_connect_version = '1.0.0-alpha07'
health_connect_version = '1.0.0-alpha11'
android_fhir_version = '1.0.0'
spotless_version = '6.10.0'
}
Expand Down

0 comments on commit ffb5c7e

Please sign in to comment.