Commit 689df72c17a578e7a271b42804f0d11fecd5e7a1

Authored by 常守达
1 parent 3921ac0c

feat(bridge): 接口兼容

@@ -2,6 +2,7 @@ package com.doublefeel.app.native @@ -2,6 +2,7 @@ package com.doublefeel.app.native
2 2
3 import com.doublefeel.app.MainActivity 3 import com.doublefeel.app.MainActivity
4 import com.doublefeel.app.pigeon.HealthActivityTargetData 4 import com.doublefeel.app.pigeon.HealthActivityTargetData
  5 +import com.doublefeel.app.pigeon.HealthAuthorization
5 import com.doublefeel.app.pigeon.HealthKitHostApi 6 import com.doublefeel.app.pigeon.HealthKitHostApi
6 import com.doublefeel.app.pigeon.HealthSleepUploadDataPoint 7 import com.doublefeel.app.pigeon.HealthSleepUploadDataPoint
7 import com.doublefeel.app.pigeon.HealthUploadDataPoint 8 import com.doublefeel.app.pigeon.HealthUploadDataPoint
@@ -12,15 +13,9 @@ class HealthKitHostApiImpl( @@ -12,15 +13,9 @@ class HealthKitHostApiImpl(
12 ) : HealthKitHostApi { 13 ) : HealthKitHostApi {
13 14
14 15
15 - override fun checkHealthAppAuthorization(callback: (Result<Boolean>) -> Unit) {  
16 - }  
17 -  
18 override fun getHealthServerAuthUrl(callback: (Result<String>) -> Unit) { 16 override fun getHealthServerAuthUrl(callback: (Result<String>) -> Unit) {
19 } 17 }
20 18
21 - override fun requestHealthClientAuthorization(): Boolean {  
22 - return HuaweiHealthBridge.requestClientAuthorization(activity)  
23 - }  
24 19
25 override fun cancelHealthAppAuthorization(): Boolean { 20 override fun cancelHealthAppAuthorization(): Boolean {
26 return HuaweiHealthBridge.cancelHealthAppAuthorization(activity) 21 return HuaweiHealthBridge.cancelHealthAppAuthorization(activity)
@@ -34,12 +29,19 @@ class HealthKitHostApiImpl( @@ -34,12 +29,19 @@ class HealthKitHostApiImpl(
34 ) 29 )
35 } 30 }
36 31
  32 + override fun checkHealthAppAuthorization(callback: (Result<HealthAuthorization>) -> Unit) {
  33 +
  34 + }
  35 +
  36 + override fun requestHealthClientAuthorization(callback: (Result<Boolean>) -> Unit) {
  37 +
  38 + }
  39 +
37 override fun fetchHrvData( 40 override fun fetchHrvData(
38 startTime: Long, 41 startTime: Long,
39 endTime: Long, 42 endTime: Long,
40 callback: (Result<List<HealthUploadDataPoint>>) -> Unit 43 callback: (Result<List<HealthUploadDataPoint>>) -> Unit
41 ) { 44 ) {
42 - TODO("Not yet implemented")  
43 } 45 }
44 46
45 override fun fetchHeartRateData( 47 override fun fetchHeartRateData(
@@ -47,7 +49,6 @@ class HealthKitHostApiImpl( @@ -47,7 +49,6 @@ class HealthKitHostApiImpl(
47 endTime: Long, 49 endTime: Long,
48 callback: (Result<List<HealthUploadDataPoint>>) -> Unit 50 callback: (Result<List<HealthUploadDataPoint>>) -> Unit
49 ) { 51 ) {
50 - TODO("Not yet implemented")  
51 } 52 }
52 53
53 override fun fetchWalkingHeartRateData( 54 override fun fetchWalkingHeartRateData(
@@ -55,7 +56,6 @@ class HealthKitHostApiImpl( @@ -55,7 +56,6 @@ class HealthKitHostApiImpl(
55 endTime: Long, 56 endTime: Long,
56 callback: (Result<List<HealthUploadDataPoint>>) -> Unit 57 callback: (Result<List<HealthUploadDataPoint>>) -> Unit
57 ) { 58 ) {
58 - TODO("Not yet implemented")  
59 } 59 }
60 60
61 override fun fetchRestingHeartRateData( 61 override fun fetchRestingHeartRateData(
@@ -63,7 +63,6 @@ class HealthKitHostApiImpl( @@ -63,7 +63,6 @@ class HealthKitHostApiImpl(
63 endTime: Long, 63 endTime: Long,
64 callback: (Result<List<HealthUploadDataPoint>>) -> Unit 64 callback: (Result<List<HealthUploadDataPoint>>) -> Unit
65 ) { 65 ) {
66 - TODO("Not yet implemented")  
67 } 66 }
68 67
69 override fun fetchSleepingHeartRateData( 68 override fun fetchSleepingHeartRateData(
@@ -71,7 +70,6 @@ class HealthKitHostApiImpl( @@ -71,7 +70,6 @@ class HealthKitHostApiImpl(
71 endTime: Long, 70 endTime: Long,
72 callback: (Result<List<HealthUploadDataPoint>>) -> Unit 71 callback: (Result<List<HealthUploadDataPoint>>) -> Unit
73 ) { 72 ) {
74 - TODO("Not yet implemented")  
75 } 73 }
76 74
77 override fun fetchOxygenSaturationData( 75 override fun fetchOxygenSaturationData(
@@ -79,7 +77,6 @@ class HealthKitHostApiImpl( @@ -79,7 +77,6 @@ class HealthKitHostApiImpl(
79 endTime: Long, 77 endTime: Long,
80 callback: (Result<List<HealthUploadDataPoint>>) -> Unit 78 callback: (Result<List<HealthUploadDataPoint>>) -> Unit
81 ) { 79 ) {
82 - TODO("Not yet implemented")  
83 } 80 }
84 81
85 override fun fetchActiveEnergyData( 82 override fun fetchActiveEnergyData(
@@ -87,7 +84,6 @@ class HealthKitHostApiImpl( @@ -87,7 +84,6 @@ class HealthKitHostApiImpl(
87 endTime: Long, 84 endTime: Long,
88 callback: (Result<List<HealthUploadDataPoint>>) -> Unit 85 callback: (Result<List<HealthUploadDataPoint>>) -> Unit
89 ) { 86 ) {
90 - TODO("Not yet implemented")  
91 } 87 }
92 88
93 override fun fetchExerciseData( 89 override fun fetchExerciseData(
@@ -95,7 +91,7 @@ class HealthKitHostApiImpl( @@ -95,7 +91,7 @@ class HealthKitHostApiImpl(
95 endTime: Long, 91 endTime: Long,
96 callback: (Result<List<HealthUploadDataPoint>>) -> Unit 92 callback: (Result<List<HealthUploadDataPoint>>) -> Unit
97 ) { 93 ) {
98 - TODO("Not yet implemented") 94 +
99 } 95 }
100 96
101 override fun fetchStandData( 97 override fun fetchStandData(
@@ -103,7 +99,7 @@ class HealthKitHostApiImpl( @@ -103,7 +99,7 @@ class HealthKitHostApiImpl(
103 endTime: Long, 99 endTime: Long,
104 callback: (Result<List<HealthUploadDataPoint>>) -> Unit 100 callback: (Result<List<HealthUploadDataPoint>>) -> Unit
105 ) { 101 ) {
106 - TODO("Not yet implemented") 102 +
107 } 103 }
108 104
109 override fun fetchStepCountData( 105 override fun fetchStepCountData(
@@ -111,7 +107,7 @@ class HealthKitHostApiImpl( @@ -111,7 +107,7 @@ class HealthKitHostApiImpl(
111 endTime: Long, 107 endTime: Long,
112 callback: (Result<List<HealthUploadDataPoint>>) -> Unit 108 callback: (Result<List<HealthUploadDataPoint>>) -> Unit
113 ) { 109 ) {
114 - TODO("Not yet implemented") 110 +
115 } 111 }
116 112
117 override fun fetchSleepData( 113 override fun fetchSleepData(
@@ -119,7 +115,7 @@ class HealthKitHostApiImpl( @@ -119,7 +115,7 @@ class HealthKitHostApiImpl(
119 endTime: Long, 115 endTime: Long,
120 callback: (Result<List<HealthSleepUploadDataPoint>>) -> Unit 116 callback: (Result<List<HealthSleepUploadDataPoint>>) -> Unit
121 ) { 117 ) {
122 - TODO("Not yet implemented") 118 +
123 } 119 }
124 120
125 override fun fetchSleepingWristTemperatureData( 121 override fun fetchSleepingWristTemperatureData(
@@ -127,7 +123,7 @@ class HealthKitHostApiImpl( @@ -127,7 +123,7 @@ class HealthKitHostApiImpl(
127 endTime: Long, 123 endTime: Long,
128 callback: (Result<List<HealthUploadDataPoint>>) -> Unit 124 callback: (Result<List<HealthUploadDataPoint>>) -> Unit
129 ) { 125 ) {
130 - TODO("Not yet implemented") 126 +
131 } 127 }
132 128
133 override fun fetchRespiratoryRateData( 129 override fun fetchRespiratoryRateData(
@@ -135,7 +131,7 @@ class HealthKitHostApiImpl( @@ -135,7 +131,7 @@ class HealthKitHostApiImpl(
135 endTime: Long, 131 endTime: Long,
136 callback: (Result<List<HealthUploadDataPoint>>) -> Unit 132 callback: (Result<List<HealthUploadDataPoint>>) -> Unit
137 ) { 133 ) {
138 - TODO("Not yet implemented") 134 +
139 } 135 }
140 136
141 override fun fetchIrregularHeartRhythmData( 137 override fun fetchIrregularHeartRhythmData(
@@ -143,7 +139,7 @@ class HealthKitHostApiImpl( @@ -143,7 +139,7 @@ class HealthKitHostApiImpl(
143 endTime: Long, 139 endTime: Long,
144 callback: (Result<List<HealthUploadDataPoint>>) -> Unit 140 callback: (Result<List<HealthUploadDataPoint>>) -> Unit
145 ) { 141 ) {
146 - TODO("Not yet implemented") 142 +
147 } 143 }
148 144
149 override fun fetchActivityTargetData( 145 override fun fetchActivityTargetData(
@@ -151,7 +147,7 @@ class HealthKitHostApiImpl( @@ -151,7 +147,7 @@ class HealthKitHostApiImpl(
151 endTime: Long, 147 endTime: Long,
152 callback: (Result<HealthActivityTargetData?>) -> Unit 148 callback: (Result<HealthActivityTargetData?>) -> Unit
153 ) { 149 ) {
154 - TODO("Not yet implemented") 150 +
155 } 151 }
156 152
157 } 153 }
@@ -4,6 +4,8 @@ import android.content.pm.PackageManager @@ -4,6 +4,8 @@ import android.content.pm.PackageManager
4 import android.content.res.Resources 4 import android.content.res.Resources
5 import android.os.Build 5 import android.os.Build
6 import android.webkit.WebSettings 6 import android.webkit.WebSettings
  7 +import com.doublefeel.app.pigeon.platform.AppleProductInfo
  8 +import com.doublefeel.app.pigeon.platform.AppleProductPaymentResult
7 import com.doublefeel.app.pigeon.platform.AppleSignInModel 9 import com.doublefeel.app.pigeon.platform.AppleSignInModel
8 import com.doublefeel.app.pigeon.platform.PlatformHostApi 10 import com.doublefeel.app.pigeon.platform.PlatformHostApi
9 import kotlin.math.max 11 import kotlin.math.max
@@ -56,7 +58,27 @@ class PlatformHostApiImpl(private val application: android.app.Application) : Pl @@ -56,7 +58,27 @@ class PlatformHostApiImpl(private val application: android.app.Application) : Pl
56 return "${systemUa.trim()} $customAgent".trim() 58 return "${systemUa.trim()} $customAgent".trim()
57 } 59 }
58 60
  61 + override fun updateLoginInfo(jsonString: String, baseUrl: String) {
  62 +
  63 + }
  64 +
59 override fun requestAppleSignIn(callback: (Result<AppleSignInModel?>) -> Unit) { 65 override fun requestAppleSignIn(callback: (Result<AppleSignInModel?>) -> Unit) {
60 66
61 } 67 }
  68 +
  69 + override fun requestAppleProductInfo(
  70 + productId: String,
  71 + baseUnit: Long,
  72 + callback: (Result<AppleProductInfo?>) -> Unit
  73 + ) {
  74 + }
  75 +
  76 +
  77 +
  78 + override fun performApplePayment(
  79 + productId: String,
  80 + uuid: String,
  81 + callback: (Result<AppleProductPaymentResult?>) -> Unit
  82 + ) {
  83 + }
62 } 84 }
@@ -116,25 +116,27 @@ class TodayController extends GetxController { @@ -116,25 +116,27 @@ class TodayController extends GetxController {
116 final hrvAnnotations = <HrvAnnotation>[].obs; 116 final hrvAnnotations = <HrvAnnotation>[].obs;
117 117
118 Future<void> requestHealthAuthorization() async { 118 Future<void> requestHealthAuthorization() async {
119 - try {  
120 - final result = await _hostApi.checkHealthAppAuthorization();  
121 - print("checkHealthAppAuthorization : $result");  
122 - if (result.status == 0) {  
123 - bool success = await _hostApi.requestHealthClientAuthorization();  
124 - print("requestHealthClientAuthorization : $success");  
125 - if (success) {  
126 - _performDataUpload();  
127 - } else {  
128 - Get.to(NoHealthDataPage(  
129 - onRefresh: _performDataUpload,  
130 - )); 119 + if (GetPlatform.isIOS) {
  120 + try {
  121 + final result = await _hostApi.checkHealthAppAuthorization();
  122 + print("checkHealthAppAuthorization : $result");
  123 + if (result.status == 0) {
  124 + bool success = await _hostApi.requestHealthClientAuthorization();
  125 + print("requestHealthClientAuthorization : $success");
  126 + if (success) {
  127 + _performDataUpload();
  128 + } else {
  129 + Get.to(NoHealthDataPage(
  130 + onRefresh: _performDataUpload,
  131 + ));
  132 + }
  133 + return;
131 } 134 }
132 - return;  
133 - }  
134 - Get.to(NoHealthDataPage(  
135 - onRefresh: _performDataUpload,  
136 - ));  
137 - } catch (e) {} 135 + Get.to(NoHealthDataPage(
  136 + onRefresh: _performDataUpload,
  137 + ));
  138 + } catch (e) {}
  139 + }
138 } 140 }
139 141
140 @override 142 @override