flutter_smkit_ui 1.4.3
flutter_smkit_ui: ^1.4.3 copied to clipboard
Flutter Plugin for Sency's SMKitUI
1.4.3 #
- Android: Upgraded native SMKitUI to 1.5.4
1.4.2 #
- Android: Upgraded native SMKitUI to 1.5.3
- Bug fix: Fixed configure hanging on second launch on android
- Bug fix: Fixed pressing Back on calibration screen
1.4.1 #
- iOS: Upgraded native SMKitUI to 1.5.3
- Android: Upgraded native SMKitUI to 1.5.1
- New:
startWorkoutProgram()— start a workout from a program withWorkoutConfig(week, bodyZone, difficultyLevel, workoutDuration, language, programID) - New:
setConfig(SMKitConfig)— unified SDK configuration covering skeleton visualization, instruction video, pause menu, audio mixing, Apple Watch, accurate pose estimation, rowing calibration, and intelligence rest - New:
SMKitConfigmodel withSkeletonConfig(preset, connectionStyle, jointShape, colors, opacity, glow, etc.) andInstructionVideoConfig(defaultMode/mediumCycle) - New:
SMKitPauseTypeenum to control pause overlay buttons - New:
forceShowUserDataScreenparam onstartAssessmentandstartCustomizedAssessment - New:
showSummaryparam onstartCustomizedAssessment - iOS: Added
SMKitpod dependency (required forInstructionVideoConfig/VideoDisplayMode) - Bug fix: Removed duplicate
SMLanguageimport in Android plugin
1.4.0 #
- Android: Upgraded native SMKitUI to 1.4.9
- iOS: Upgraded native SMKitUI to 1.5.0
- New Feature: Pause Menu Configuration: Added
pauseTypestoSMKitConfigto control which buttons appear on the pause overlay (resume, startOver, skip, quit on both platforms; rest and switchExercise are Android-only) - Android: Replaced internal reflection hack for intelligence rest with the now-public
setIntelligenceRestEnabled()API - Multiple new exercises available via the movement catalog
1.3.9 #
- iOS: The native plugin keeps
import SMBasebecause types such asAssessmentTypesare defined in SMBase and not re-exported by SMKitUI. Duplicate-class warnings must be resolved in the SDK. - Known issue: With SMKitUI 1.5.0 on iOS you may see duplicate-class warnings for
CaptureDelegate,CvAbstractCamera,CvPhotoCamera,CvVideoCameraacross SMKitUI/SMKit/SMBase. The fix is in the SDK.
0.1.0 #
created SMKitUI
0.1.1 #
Added Android support
0.1.2 #
Updated smkitUI
0.1.3 #
Bug fix
0.1.4 #
Add multiple Custom Workouts
0.1.5 #
Add Custom Assessment
0.1.6 #
Bug Fix
0.1.7 #
Bug fix
0.1.8 #
Update sdk
0.1.9 #
Bug fix
0.2.0 #
Bug fix
0.2.1 #
Bug fix
0.2.2 #
Bug fix
0.2.3 #
Bug fix
0.2.4 #
Bug fix
0.2.5 #
- Added support for loading
apiPublicKeyfrom.envfile usingflutter_dotenv. - Improved error handling for missing
.envfile. - Updated example app with new assessment and workout features.
0.2.6 #
- Unified user data handling for assessments: Flutter now sends
genderandbirthday(milliseconds since epoch) for both iOS and Android. - Android plugin converts
birthdaytoageand mapsgenderstring to native enum, supporting both lowercase and capitalized values. - Added
GenderSerializerfor Android to ensure correct serialization of gender values. showSummaryargument is now supported and configurable from Flutter for both iOS and Android.- Example app updated: assessment type selection via dropdown, showSummary toggle, and improved UI for starting assessments.
- Improved error handling and code alignment between platforms.
1.2.7 #
- Upgraded Android native module (SMKitUI 1.3.1 → 1.3.3) to improve video instructions management.
- Enhanced video playback and instruction handling in Android assessments and workouts.
1.2.8 #
- BREAKING FIX: Fixed critical hanging issue with preference setter methods (
setSessionLanguage,setCounterPreferences,setEndExercisePreferences) - Method Channel Fix: Made preference setters fire-and-forget to prevent timeout issues
- Platform Alignment: Updated Android and iOS implementations to properly handle method channel results
- Error Handling: Improved error handling and logging in
startCustomizedAssessmentmethod - iOS Fix: Fixed user data popup issue in custom assessments by providing default UserData
- Android SDK: Upgraded to SMKitUI 1.3.5 for improved stability
- Debugging: Enhanced logging and error reporting for better troubleshooting
- Performance: Removed blocking await calls from preference setters to improve assessment startup time
1.3.0 #
- Android 15 & 16 Compatibility: Upgraded Android SMKitUI to version 1.3.9 with full support for Android 15 and Android 16 (API 36) including 16KB page size compatibility
- Modern Build Tools: Updated to Android Gradle Plugin 8.11.1 and Gradle 8.11.1/8.13 for better stability and performance
- Kotlin 2.0: Upgraded to Kotlin 2.0.21 for improved compilation speed and modern language features
- SDK Update: Updated compileSdk to 36 (Android 16) for future-proof development
- Enhanced Compatibility: Better support for the latest Android development tools and SDKs
- Build System: Improved Gradle configuration for reliable builds on modern Android versions
1.3.1 #
- 🎯 MAJOR: Standardized Data Structure Across Platforms: Complete alignment of workout/assessment summary data between iOS and Android
- Native SDK Updates:
- iOS: Upgraded SMKitUI to 1.4.3 for enhanced data consistency
- Android: Upgraded SMKitUI to 1.4.0 for improved serialization
- 🔄 CamelCase Naming Convention: All JSON fields now use consistent camelCase naming across platforms:
userData,sessionId,activityType,startTime,endTime,totalTime,totalScoreexerciseId,uiElements,instructionVideo,voiceIntro,voiceOutro,prettyNamescoringParamswithscoreFactor,targetTime,targetReps
- 📊 Flattened Exercise Data: Removed nested
exercise_infostructure, all fields now at top level - ✅ Field Name Fixes:
- Fixed
voicOutrotypo →voiceOutroon Android - Unified
feedback(iOS) →feedbacks(both platforms) - Converted
type→activityTypefor clarity
- Fixed
- 🔧 Type Safety Improvements: Fixed Dart type issues (
Float?→double?) for better JSON parsing - 📱 Cross-Platform Consistency: iOS and Android now produce identical JSON structure for easy data handling
- 🐛 Bug Fixes: Resolved runtime errors related to type mismatches and missing fields
- 📝 Enhanced Logging: Added comprehensive debug logging in example app for easier testing and validation
1.3.2 #
- 📱 Native SDK Updates:
- iOS: Upgraded SMKitUI to 1.4.4 with enhanced stability and performance
- Android: Upgraded SMKitUI to 1.4.2 for improved functionality
- iOS: Updated minimum deployment target to iOS 16.0
- ✨ New Feature: Modifications Parameter: Added support for
modificationsparameter in all assessment and workout methods, allowing runtime configuration changes:startAssessment()now accepts optionalmodificationsmapstartCustomizedWorkout()now accepts optionalmodificationsmapstartCustomizedAssessment()now accepts optionalmodificationsmap
- 🔧 Enhanced Error Handling:
- iOS: Added proper error handling with FlutterError responses for configuration failures
- iOS: Improved thread safety for SDK configuration (ensure main thread execution)
- iOS: Added validation for API key and workout/assessment arguments
- Android: Better error propagation for customized workouts and assessments
- 🧵 Thread Safety Improvements:
- iOS: Fixed potential race conditions with async operations
- iOS: Added weak self references to prevent memory leaks in closures
- iOS: Ensured UI operations run on main thread
- 🔄 Gradle & Build System Updates:
- Example app: Updated to Flutter Gradle Plugin 1.0.0
- Example app: Modernized settings.gradle with plugin management
- Example app: Updated Android Gradle Plugin to 8.11.1
- Example app: Updated Kotlin to 2.0.21
- 🐛 Bug Fixes:
- Fixed iOS workout/assessment startup reliability issues
- Improved JSON serialization for modifications parameter
- Fixed potential crashes on deallocated plugin instances
- 📝 Code Quality:
- Removed unnecessary comments and TODOs
- Improved code consistency between platforms
- Better null safety handling for optional parameters
1.3.3 #
- 📱 Native SDK Updates:
- iOS: Upgraded SMKitUI to 1.4.6 with enhanced features and stability
- Android: Upgraded SMKitUI to 1.4.3 for improved functionality
- 🎨 New Feature: Color Theme Customization: Added support for UI theme customization via
primaryColorin modifications parameter:- Supports 8 predefined themes: green, blue, orange, purple, red (maps to orange), silver, gold, and pink
- Automatically maps hex color codes to SDK theme enums
- Theme is applied globally via
UIColorTheme.current(Android) andSMKitUIModel.colorTheme(iOS) - UI-related color keys (
primaryColor,accentColor,backgroundColor) are automatically filtered from exercise modifications
- 📱 New Feature: Phone Calibration Control: Added support for phone calibration settings via
phoneCalibrationin modifications parameter:- Control whether phone calibration screen is shown via
enabledboolean - Additional settings:
autoCalibrateandcalibrationSensitivity(for future use) showPhoneCalibrationparameter now passed to all assessment and workout methods- Default value:
true(calibration screen shown by default)
- Control whether phone calibration screen is shown via
1.3.4 #
- Update in results for startCustomizedAssessment
1.3.8 #
- Fixed issue where
onHandlecallback