⚠️ Note: This changelog may be outdated. For the most up-to-date information, please refer to the OnePub CHANGELOG.md file.
- bump firebase dependencies to support Firebase SDK 11.0.0
- downgraded firebase dependencies to support Firebase SDK v10 instead of v11
- fixed [gofa_mediapipe_pose], upgraded to 1.1.16
- updated
checkUseKeyframeBasedRepCounter logic to check repPoseId in lesson sessions.
- updated
_updateRepCounter to fetch by repPoseId
- updated with PresetPoseLandmarkWeights
WHOLE_BODY changed to FULL_BODY
- upgraded gofa_core to 1.1.0
- switched audio library from "assets_audio_player" to "just_audio" due to build error, "assets_audio_player" is not actively maintained
- upgraded share_plus to 10.1.2
- fixed meditation screen to enable wakelock
- updated firebase fetch functions for lessons/plans with membershipTier as request data
- updated Lesson List page title as "AI Health Plan" and "AI 運動計劃"
- updated: check for using rep counting 2.0 by lesson video id available in
LessonTimedPoseLandmarkMaps or RepPoses collection
- fixed: lesson details start with dumbbell, the bottom sheet is transparent. fixed by adding background color and barrier color to the bottom sheet
- fixed: plan details > click lesson, the bottom sheet layout is a bit broken. fixed by adding background color and barrier color to the bottom sheet
- updated: RepCounter and TimedPoseLandmarkMapLoader to prioritize loading from new
VideoPoseLandmarkTimeSeries collection.
- ad-hoc: added Rep Testing to
supportedKeyframeBasedRepLessonNames to temporary support short lessons for rep counting 2.0
- updated all copywriting texts according to Bupa copywriting guideline
- delayed planFinished trigger for 2 seconds to allow the last lesson's lessonCancelled/lessonFinished to be processed first
- fixed: plan details > view statistics -> null exception. reproduced by reset plan before re-starting it;
- fixed: wrongly triggered planEnded issue. fixed by adding back the missing trigger condition for planFinished
- refactor planUtil.updateFirestorePlanPlay to guard against planPlay.completedLessons.length >= planPlay.plannedLessons.length; save the unnecessary firestore roundtrips
- added back button in lesson calibration screen so that user can go back to previous screen, especially for iPhone without physical back button
- exposed class
Localizable from gofa_types via gofa_lessons
- fixed LessonSdkManager.init to support re-login
- lesson result screen support text wrap if the session title is too long
- lesson result screen will display lesson data from
play.lesson directly if any, instead of fetching from firestore again, so that snapshot data of the lesson is displayed
- improved recent activity
- single lesson display results from
play.lesson directly if any, instead of fetching from firestore again, so that snapshot data of the lesson is displayed
- plan play display results from
planPlay.plan and planPlay.lessons directly if any, instead of fetching from firestore again, so that snapshot data of the plan and lessons are displayed
- added new properties to
Plan class: duration and expiryReminder
- Updated skip cool down to also skip empty session in between
- depend on gofa_types ^1.0.3
- changed
import 'package:gofa_lessons/src/helpers/client_util.dart'; to import '../helpers/client_util.dart';
- added back pubspec.lock to .gitignore, because it should not be included in the package, let main flutter app decide the version of the dependencies
- fixing the dependency issue from gofa_lessons to gofa_firebase
- fixing the dependency issue from gofa_lessons to gofa_types
- made passRatio configurable by firestore Client.settings
- expose Environment and environmentFromString from gofa_types to gofa_lessons
- added GofaLessonLocalization for share texts across Lesson Result/Meditation Result/Plan Summary
- added callback object data for lesson play, plan, planPlay
- test: triggerCallbacks with compute to avoid UI blocking
- major refactoring: use lessonId instead of lessonUniqueID
- updated gofa_mediapipe_pose to add the following to resolve blank screen issue in Android device.
dependency_overrides:
webview_flutter_android: 3.16.1
- updated share text for lesson result screen and plan summary screen share feature
- updated dependencies to latest version:
wakelock_plus 1.2.5
device_info_plus 10.1.0
share_plus 9.0.0
- fixed gofa_mediapipe_pose version issue
- updated Exit GOFA prompt button text: Exit and Stay
- fixed onLessonCancelled bug on LessonSdkManager.updateCallback, didn't pass the
passed parameter correctly
- fetch latest play data from firestore again before updateCallback
- minor improved introduction pages navigation by adding 'How it works...' text link
- changed settings header name to "Information"
- added settings page to gofa_lessons
- updated gofa_utils dependency
- fixed breaking exception caused by outdated dependency on gofa_mediapipe_pose 1.1.2, should be 1.1.4
- fixed LessonSdkManager.init will handle GofaLessonLocalizations.loadLessonAttributes()
- fixed LessonSplitScreen _updateRepCounter() to use firestore() instead of FirebaseFirestore.instance
- fixed lesson split screen issue: no need load local pose model lite
- fixed LessonSdkManager init issue
- preparing for official release
- major change. removed all dependencies to google_mlkit_pose_detection and replaced with gofa_mediapipe_pose
- major refactoring to initalize LessonSdkManager
- fixed that if initialization fails, it pop back to previous screen and shows the error toast message
- fixed White Screen issue by marking AudioManager provider as lazy
- fixed AudioManager by using GetIt instead of Provider to locate the singleton instance
- fixed Image.Asset package issue
- fixing AudioManager
- ProviderNotFoundException (Error: Could not find the correct
Provider<AudioManager> above this LessonSplitScreen Widget)
- upgraded gofa_firebase to 0.0.2
- upgraded gofa_core to 0.0.2
- upgraded gofa_algo to 0.0.2
- migrated images to gofa_lessons assets folder
- add logic to check and update status when all lessons are completed
- added firestore support to lesson plans
- improved engagement lesson play
- added engagement level in lesson play
- with engagement level bar and explosion effect
- Updated Plan type.
- updated lessons as string array
- added tags as string array
- added targetAreas as string array
- Added share feature to lesson summary screen
- Major refactoring to rename firestore collection name and field names
- Updated LessonSdkManager().init parameters: updateCallback so that it takes enum UpdateCallbackEvent instead of String
- Added
cancelled status to lesson play
- Added bottom footer with version
- Adding share feature
- Added lesson plan screen flows
- Added disclaimer action sheet
- Added dumbbell action sheet
- Added lesson summary screen
- Added lesson plan detail action sheet
- Refactored lesson detail screen
- Added tutorial and tooltip for Gofa Lessons
- Added lesson screens and logic, work in progress.