Skip to content

Commit d6c5941

Browse files
author
Mads Christensen
committed
Merge branch 'health-connect-beta'
2 parents 2a97465 + b578ce9 commit d6c5941

11 files changed

Lines changed: 1204 additions & 401 deletions

File tree

packages/health/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
## 5.0.0
2+
3+
- Added initial support for the new Health Connect API, as Google Fit is being deprecated.
4+
- Does not yet support `revokePermissions`, `getTotalStepsInInterval`.
5+
- Changed Intl package version dependancy to `^0.17.0` to work with flutter stable version.
6+
- Updated the example app to handle more buttons.
7+
18
## 4.6.0
29

310
- Added method for revoking permissions. On Android it uses `disableFit()` to remove access to Google Fit - `revokePermissions`. Documented lack of methods for iOS.

packages/health/README.md

Lines changed: 213 additions & 185 deletions
Large diffs are not rendered by default.

packages/health/android/build.gradle

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ group 'cachet.plugins.health'
22
version '1.2'
33

44
buildscript {
5-
ext.kotlin_version = '1.6.21'
5+
ext.kotlin_version = '1.8.0'
66
repositories {
77
google()
88
jcenter()
@@ -31,8 +31,8 @@ android {
3131
main.java.srcDirs += 'src/main/kotlin'
3232
}
3333
defaultConfig {
34-
minSdkVersion 16
35-
targetSdkVersion 31
34+
minSdkVersion 26
35+
targetSdkVersion 33
3636
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
3737
}
3838
lintOptions {
@@ -41,7 +41,11 @@ android {
4141
}
4242

4343
dependencies {
44+
def composeBom = platform('androidx.compose:compose-bom:2022.10.00')
45+
implementation(composeBom)
4446
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
4547
implementation("com.google.android.gms:play-services-fitness:21.1.0")
4648
implementation("com.google.android.gms:play-services-auth:20.2.0")
49+
// The new health connect api
50+
implementation("androidx.health.connect:connect-client:1.0.0-alpha11")
4751
}

packages/health/android/src/main/kotlin/cachet/plugins/health/HealthPlugin.kt

Lines changed: 664 additions & 5 deletions
Large diffs are not rendered by default.

packages/health/example/android/app/build.gradle

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ android {
3636
defaultConfig {
3737
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
3838
applicationId "cachet.plugins.example_app"
39-
minSdkVersion 16
39+
minSdkVersion 26
4040
targetSdkVersion 31
4141
versionCode flutterVersionCode.toInteger()
4242
versionName flutterVersionName
@@ -60,10 +60,14 @@ flutter {
6060
}
6161

6262
dependencies {
63+
def composeBom = platform('androidx.compose:compose-bom:2022.10.00')
64+
implementation(composeBom)
6365
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
6466
testImplementation 'junit:junit:4.12'
6567
implementation("com.google.android.gms:play-services-fitness:21.1.0")
6668
implementation("com.google.android.gms:play-services-auth:20.2.0")
6769
androidTestImplementation 'androidx.test:runner:1.1.1'
6870
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
71+
// The new health connect api
72+
// implementation("androidx.health.connect:connect-client:1.0.0-alpha11")
6973
}

packages/health/example/android/app/src/main/AndroidManifest.xml

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
22
package="cachet.plugins.example_app">
33

4+
<!-- Check whether Health Connect is installed or not -->
5+
<queries>
6+
<package android:name="com.google.android.apps.healthdata" />
7+
<intent>
8+
<action android:name="androidx.health.ACTION_SHOW_PERMISSIONS_RATIONALE" />
9+
</intent>
10+
</queries>
411
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
512
calls FlutterMain.startInitialization(this); in its onCreate method.
613
In most cases you can leave this as-is, but you if you want to provide
@@ -9,6 +16,39 @@
916
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
1017
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
1118
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
19+
<!-- Permissions for new android API (Health Connect) -->
20+
<uses-permission android:name="android.permission.health.READ_STEPS"/>
21+
<uses-permission android:name="android.permission.health.WRITE_STEPS"/>
22+
<uses-permission android:name="android.permission.health.READ_WEIGHT"/>
23+
<uses-permission android:name="android.permission.health.WRITE_WEIGHT"/>
24+
<uses-permission android:name="android.permission.health.READ_HEIGHT"/>
25+
<uses-permission android:name="android.permission.health.WRITE_HEIGHT"/>
26+
<uses-permission android:name="android.permission.health.READ_HEART_RATE"/>
27+
<uses-permission android:name="android.permission.health.WRITE_HEART_RATE"/>
28+
<uses-permission android:name="android.permission.health.READ_EXERCISE"/>
29+
<uses-permission android:name="android.permission.health.WRITE_EXERCISE"/>
30+
<uses-permission android:name="android.permission.health.READ_SLEEP"/>
31+
<uses-permission android:name="android.permission.health.WRITE_SLEEP"/>
32+
<uses-permission android:name="android.permission.health.READ_SPEED"/>
33+
<uses-permission android:name="android.permission.health.WRITE_SPEED"/>
34+
<uses-permission android:name="android.permission.health.READ_DISTANCE"/>
35+
<uses-permission android:name="android.permission.health.WRITE_DISTANCE"/>
36+
<uses-permission android:name="android.permission.health.READ_TOTAL_CALORIES_BURNED"/>
37+
<uses-permission android:name="android.permission.health.WRITE_TOTAL_CALORIES_BURNED"/>
38+
<uses-permission android:name="android.permission.health.READ_ACTIVE_CALORIES_BURNED"/>
39+
<uses-permission android:name="android.permission.health.WRITE_ACTIVE_CALORIES_BURNED"/>
40+
<uses-permission android:name="android.permission.health.READ_BLOOD_GLUCOSE"/>
41+
<uses-permission android:name="android.permission.health.WRITE_BLOOD_GLUCOSE"/>
42+
<uses-permission android:name="android.permission.health.READ_BLOOD_PRESSURE"/>
43+
<uses-permission android:name="android.permission.health.WRITE_BLOOD_PRESSURE"/>
44+
<uses-permission android:name="android.permission.health.READ_BODY_FAT"/>
45+
<uses-permission android:name="android.permission.health.WRITE_BODY_FAT"/>
46+
<uses-permission android:name="android.permission.health.READ_BODY_TEMPERATURE"/>
47+
<uses-permission android:name="android.permission.health.WRITE_BODY_TEMPERATURE"/>
48+
<uses-permission android:name="android.permission.health.READ_OXYGEN_SATURATION"/>
49+
<uses-permission android:name="android.permission.health.WRITE_OXYGEN_SATURATION"/>
50+
<uses-permission android:name="android.permission.health.READ_HYDRATION"/>
51+
<uses-permission android:name="android.permission.health.WRITE_HYDRATION"/>
1252
<application android:label="health_example"
1353
android:icon="@mipmap/ic_launcher">
1454
<activity android:name=".MainActivity"
@@ -21,12 +61,15 @@
2161
<!-- Theme to apply as soon as Flutter begins rendering frames -->
2262
<meta-data android:name="io.flutter.embedding.android.NormalTheme"
2363
android:resource="@style/NormalTheme" />
24-
<meta-data android:name="flutterEmbedding"
25-
android:value="2"/>
2664
<intent-filter>
2765
<action android:name="android.intent.action.MAIN"/>
2866
<category android:name="android.intent.category.LAUNCHER"/>
2967
</intent-filter>
68+
<intent-filter>
69+
<action android:name="androidx.health.ACTION_SHOW_PERMISSIONS_RATIONALE" />
70+
</intent-filter>
3071
</activity>
72+
<meta-data android:name="flutterEmbedding"
73+
android:value="2"/>
3174
</application>
3275
</manifest>

packages/health/example/android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
buildscript {
2-
ext.kotlin_version = '1.6.21'
2+
ext.kotlin_version = '1.8.0'
33
repositories {
44
google()
55
jcenter()

0 commit comments

Comments
 (0)