@sency/react-native-smkit-ui 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +105 -146
- package/android/build.gradle +4 -1
- package/android/src/main/java/com/smkituilibrary/SmkitUiLibraryModule.kt +93 -5
- package/android/src/main/java/com/smkituilibrary/mapper/SMMapper.kt +52 -5
- package/android/src/main/java/com/smkituilibrary/model/WFPSummary.kt +49 -0
- package/android/src/main/java/com/smkituilibrary/serializers/Serializers.kt +182 -0
- package/ios/SMKitUIManager.swift +265 -228
- package/lib/typescript/example/src/App.d.ts.map +1 -1
- package/lib/typescript/example/src/components/EditText.d.ts +9 -0
- package/lib/typescript/example/src/components/EditText.d.ts.map +1 -0
- package/lib/typescript/example/src/components/ThreeCheckboxes.d.ts +7 -0
- package/lib/typescript/example/src/components/ThreeCheckboxes.d.ts.map +1 -0
- package/package.json +4 -1
- package/react-native-smkit-ui.podspec +1 -1
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
package com.smkituilibrary.serializers
|
|
2
|
+
|
|
3
|
+
import com.google.gson.JsonElement
|
|
4
|
+
import com.google.gson.JsonObject
|
|
5
|
+
import com.google.gson.JsonSerializationContext
|
|
6
|
+
import com.google.gson.JsonSerializer
|
|
7
|
+
import com.sency.smkitui.model.ExerciseData
|
|
8
|
+
import com.sency.smkitui.model.Feedback
|
|
9
|
+
import com.sency.smkitui.model.ScoringParamsData
|
|
10
|
+
import com.sency.smkitui.model.UserData
|
|
11
|
+
import com.sency.smkitui.model.WorkoutSummaryData
|
|
12
|
+
import com.sency.smkitui.model.workoutConfig.WorkoutConfig
|
|
13
|
+
import com.sency.smkitui.model.workoutConfig.WorkoutConfigModel
|
|
14
|
+
import com.smkituilibrary.model.WFPExerciseData
|
|
15
|
+
import com.smkituilibrary.model.WFPSummary
|
|
16
|
+
import java.lang.reflect.Type
|
|
17
|
+
|
|
18
|
+
class WorkoutSummarySerializer : JsonSerializer<WorkoutSummaryData> {
|
|
19
|
+
override fun serialize(
|
|
20
|
+
src: WorkoutSummaryData,
|
|
21
|
+
typeOfSrc: Type?,
|
|
22
|
+
context: JsonSerializationContext
|
|
23
|
+
): JsonElement {
|
|
24
|
+
return JsonObject().apply {
|
|
25
|
+
add("workout_details", context.serialize(src.workoutConfig))
|
|
26
|
+
add("user_data", context.serialize(src.userData))
|
|
27
|
+
add("session_id", context.serialize(src.sessionId))
|
|
28
|
+
add("type", context.serialize(src.activityType))
|
|
29
|
+
add("start_time", context.serialize(src.startTime))
|
|
30
|
+
add("end_time", context.serialize(src.endTime))
|
|
31
|
+
add("total_time", context.serialize(src.totalTime.toDouble()))
|
|
32
|
+
add("total_score", context.serialize(src.totalScore.toInt()))
|
|
33
|
+
add("total_score_segmented", context.serialize(src.totalScoreSegmented.toInt()))
|
|
34
|
+
add("exercises", context.serialize(src.exercises))
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
class WFPSummarySerializer : JsonSerializer<WFPSummary> {
|
|
40
|
+
override fun serialize(
|
|
41
|
+
src: WFPSummary,
|
|
42
|
+
typeOfSrc: Type?,
|
|
43
|
+
context: JsonSerializationContext
|
|
44
|
+
): JsonElement {
|
|
45
|
+
return JsonObject().apply {
|
|
46
|
+
add("workout_details", context.serialize(src.workoutConfig))
|
|
47
|
+
add("user_data", context.serialize(src.userData))
|
|
48
|
+
add("session_id", context.serialize(src.sessionId))
|
|
49
|
+
add("type", context.serialize(src.activityType))
|
|
50
|
+
add("start_time", context.serialize(src.startTime))
|
|
51
|
+
add("end_time", context.serialize(src.endTime))
|
|
52
|
+
add("total_time", context.serialize(src.totalTime.toDouble()))
|
|
53
|
+
add("total_score", context.serialize(src.totalScore.toInt()))
|
|
54
|
+
add("exercises", context.serialize(src.exercises))
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
class WorkoutConfigSerializer: JsonSerializer<WorkoutConfigModel> {
|
|
60
|
+
override fun serialize(
|
|
61
|
+
src: WorkoutConfigModel,
|
|
62
|
+
typeOfSrc: Type?,
|
|
63
|
+
context: JsonSerializationContext?
|
|
64
|
+
): JsonElement {
|
|
65
|
+
return src.convertToJson()
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
class UserDataSerializer: JsonSerializer<UserData> {
|
|
70
|
+
override fun serialize(
|
|
71
|
+
src: UserData,
|
|
72
|
+
typeOfSrc: Type?,
|
|
73
|
+
context: JsonSerializationContext
|
|
74
|
+
): JsonElement {
|
|
75
|
+
return JsonObject().apply {
|
|
76
|
+
add("age", context.serialize(src.age))
|
|
77
|
+
add("gender", context.serialize(src.gender))
|
|
78
|
+
add("email", context.serialize(src.email))
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
class ExerciseDataSerializer : JsonSerializer<ExerciseData> {
|
|
85
|
+
override fun serialize(
|
|
86
|
+
src: ExerciseData,
|
|
87
|
+
typeOfSrc: Type?,
|
|
88
|
+
context: JsonSerializationContext
|
|
89
|
+
): JsonElement {
|
|
90
|
+
return JsonObject().apply {
|
|
91
|
+
add("activity_type", context.serialize(src.activityType))
|
|
92
|
+
src.totalScore?.let { add("total_score", context.serialize(it)) }
|
|
93
|
+
src.totalScoreSegmented?.let { add("total_score_segmented", context.serialize(it)) }
|
|
94
|
+
src.performanceScore?.let { add("performance_score", context.serialize(it)) }
|
|
95
|
+
src.performanceScoreSegmented?.let { add("performance_score_segmented", context.serialize(it)) }
|
|
96
|
+
src.techniqueScore?.let { add("technique_score", context.serialize(it)) }
|
|
97
|
+
src.techniqueScoreSegmented?.let { add("technique_score_segmented", context.serialize(it)) }
|
|
98
|
+
src.repsPerformed?.let { add("reps_performed", context.serialize(it)) }
|
|
99
|
+
src.repsPerformedPerfect?.let { add("reps_performed_perfect", context.serialize(it)) }
|
|
100
|
+
src.timeInPosition?.let { add("time_in_position", context.serialize(it)) }
|
|
101
|
+
src.timeInPositionPerfect?.let { add("time_in_position_perfect", context.serialize(it)) }
|
|
102
|
+
src.peakRangeOfMotion?.let { add("peak_range_of_motion_score", context.serialize(it)) }
|
|
103
|
+
add("user_data", context.serialize(src.userData))
|
|
104
|
+
add("session_id", context.serialize(src.sessionId))
|
|
105
|
+
add("start_time", context.serialize(src.startTime))
|
|
106
|
+
add("end_time", context.serialize(src.endTime))
|
|
107
|
+
add("feedback", context.serialize(src.feedbacks))
|
|
108
|
+
add("exercise_id", context.serialize(src.exerciseId))
|
|
109
|
+
add("total_time", context.serialize(src.totalTime))
|
|
110
|
+
val strings = src.uiElements.map { it.name }
|
|
111
|
+
add("ui_elements", context.serialize(strings))
|
|
112
|
+
add("instruction_video", context.serialize(src.instructionVideo))
|
|
113
|
+
add("voice_outro", context.serialize(src.voicOutro))
|
|
114
|
+
add("voice_intro", context.serialize(src.voiceIntro))
|
|
115
|
+
add("pretty_name", context.serialize(src.prettyName))
|
|
116
|
+
add("score_params", context.serialize(src.scoringParamsData))
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
class WFPExerciseDataSerializer : JsonSerializer<WFPExerciseData> {
|
|
122
|
+
override fun serialize(
|
|
123
|
+
src: WFPExerciseData,
|
|
124
|
+
typeOfSrc: Type?,
|
|
125
|
+
context: JsonSerializationContext
|
|
126
|
+
): JsonElement {
|
|
127
|
+
return JsonObject().apply {
|
|
128
|
+
add("activity_type", context.serialize(src.activityType))
|
|
129
|
+
add("start_time", context.serialize(src.startTime))
|
|
130
|
+
add("end_time", context.serialize(src.endTime))
|
|
131
|
+
add("exercise_info", JsonObject().apply {
|
|
132
|
+
add("pretty_name", context.serialize(src.prettyName))
|
|
133
|
+
add("exercise_id", context.serialize(src.exerciseId))
|
|
134
|
+
add("total_time", context.serialize(src.totalTime))
|
|
135
|
+
add("score_params", context.serialize(src.scoringParamsData))
|
|
136
|
+
val strings = src.uiElements.map { it.name }
|
|
137
|
+
add("ui_elements", context.serialize(strings))
|
|
138
|
+
add("instruction_video", context.serialize(src.instructionVideo))
|
|
139
|
+
add("voice_intro", context.serialize(src.voiceIntro))
|
|
140
|
+
|
|
141
|
+
})
|
|
142
|
+
add("feedback", context.serialize(src.feedbacks))
|
|
143
|
+
src.totalScore?.let { add("total_score", context.serialize(it)) }
|
|
144
|
+
src.performanceScore?.let { add("performance_score", context.serialize(it)) }
|
|
145
|
+
src.techniqueScore?.let { add("technique_score", context.serialize(it)) }
|
|
146
|
+
src.repsPerformed?.let { add("reps_performed", context.serialize(it)) }
|
|
147
|
+
src.repsPerformedPerfect?.let { add("reps_performed_perfect", context.serialize(it)) }
|
|
148
|
+
src.timeInPosition?.let { add("time_in_position", context.serialize(it)) }
|
|
149
|
+
src.timeInPositionPerfect?.let { add("time_in_position_perfect", context.serialize(it)) }
|
|
150
|
+
src.peakRangeOfMotion?.let { add("peak_range_of_motion_score", context.serialize(it)) }
|
|
151
|
+
add("session_id", context.serialize(src.sessionId))
|
|
152
|
+
add("user_data", context.serialize(src.userData))
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
class ScoringParamsDataSerializer : JsonSerializer<ScoringParamsData> {
|
|
158
|
+
override fun serialize(
|
|
159
|
+
src: ScoringParamsData, typeOfSrc: Type, context: JsonSerializationContext
|
|
160
|
+
): JsonElement {
|
|
161
|
+
return JsonObject().apply {
|
|
162
|
+
add("score_factor", context.serialize(src.scoreFactor))
|
|
163
|
+
add("type", context.serialize(src.type))
|
|
164
|
+
add("target_time", context.serialize(src.targetTime))
|
|
165
|
+
add("target_reps", context.serialize(src.targetReps))
|
|
166
|
+
add("pass_criteria", context.serialize(src.passCriteria))
|
|
167
|
+
add("target_rom", context.serialize(src.targetRom))
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
class FeedbackSerializer : JsonSerializer<Feedback> {
|
|
173
|
+
override fun serialize(
|
|
174
|
+
src: Feedback, typeOfSrc: Type, context: JsonSerializationContext
|
|
175
|
+
): JsonElement {
|
|
176
|
+
return JsonObject().apply {
|
|
177
|
+
add("feedback_type", context.serialize(src.feedbackType))
|
|
178
|
+
add("occurrence_rate", context.serialize(src.occurrenceRate.toString()))
|
|
179
|
+
add("description", context.serialize(src.description))
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|