Skip to content

Develop into main - #409

Merged
Gmasek merged 69 commits into
mainfrom
develop
Jul 20, 2026
Merged

Develop into main #409
Gmasek merged 69 commits into
mainfrom
develop

Conversation

@Gmasek

@Gmasek Gmasek commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Need to bring main up to date

janoliver20 and others added 30 commits December 2, 2024 10:47
…wers-by-returning-to-previous-screen

#278: Set the Android Backbutton to return to the dashboard on successful question response and cleared the back stack
…d-status-on-tapping-in-android-platform

#269: Fixed the clickable text in the notification to apply the read state if no url is present
…incorrect-content

#277: Fixed a bug where the body of a notification would be remembered and placed in the wrong notification
…ferentiate between read and completed observations and mark the notifications accordingly (+ android view)
…ot-completed-action-notifications

More 225 fix marking for not completed action notifications
janoliver20 and others added 27 commits September 25, 2025 14:34
#350)

* #333: Fixed an issue, where Bluetooth would crash the iOS app. This fix includes multiple changes:
- Moved all necessary states into one single object
- Changed necessary coroutines to run on the default thread queue, as this is runs much faster and better on iOS
- Changed the Bluetooth Controller completely to dynamically react to different states and turn on/off (foreground/background) scans
- Changed the Shared class, to better react to study state, credentials and foreground states to not call the bluetooth controller multiple times and improve reactions

* Formatted Code
#351)

* #349: Added a fallback method to upload databulks, if the Workmanager is not available or does not run it in a feasable time

* Changed Xcode Version in pipeline

* Changed Xcode Version in pipeline

* Changed Xcode Version in pipeline

* Fixed old Xcode Beta issue in pipeline
- Fixed a bug which led the Polar observation to start automatically, even if it is supposed to start by hand.
- Fixed an issue where all observation with the same observation type would pause, if two observation with the same type would be started in series
- Fixed an issue where an observation would still record data after pausing or stopping, if another observation with the same type would still be running
- Fixed an issue where the Polar HR feature "ready" state would be deleted, after exiting a study, even if the device is still connected and ready
- Upgraded a package on Android, that was not supporting the upcoming 16-KB page size requirement
…357)

* #356: Implemented a Garmin Connect OAuth Workflow in iOS and Android
#312: Removed the old EncryptedSharedPreferences.kt

* #356: Cleanup

* #356: Polar SDK Update to fix build issue in pipeline

* #356: Added a clear cache function in swift
* Initial commit

* #117, #118, #119: New App Store Setup, PlayStore Setup, Firebase Setup, renamed the apps and refactored the package name

* #120: Fastlane Adaptions

* #120: Fastlane Adaptions

* #120: Fastlane Adaptions

* #156: Fixing a login bug

* #120: Fixing a fastlane deployment issue

* #130: Implemented the OpenAPI Generator, implemented all models into the apps, all api clients into the NetworkService.kt and moved the clients into its dedicated NetworkClients.kt class

* #130: Pipeline adaption to necessary openapi generator task

* #130: Pipeline adaption to necessary openapi generator task

* Critical bug fix

* Critical bug fix

* Critical bug fix

* #178:Fixed a bug where Garmin Connect Login would open, even if there is no garmin observation set

* Android Version Upgrade

* p2r: #360: Fixed these issues:
- Past schedules are now correctly removed from the dashboard
- ViewModels are now completely reloaded and use the new improved coroutines concept to load data
- Small cleanup of unused functions in ScheduleRepository.kt

* Android Version update

* #201: Fixed an issue, where the answers were listed wrong

* #230: Fixed a bug, that kept the app from reloading the study once in paused state

* Fixed leaked Google Keys

* Fixed a study login issue and added buttons to escape paused study states

* #228: Fixeda bug where LimeSurvey would crash the phone or would not close after completing it

* #230: Fixed an issue where the data collection process would not run

* #230: Github build failure inspection

* #230: Github build failure inspection

* #230: Github build failure inspection

* Fixing a pipeline

* #236: Implemented Local Notification Reminder when observation are starting.
This schedules and stores notifications in advance, and displays them on the certain time. It also only schedules 10 notifications at a time and reschedules them as soon as the current notification is displayed, the app goes into foreground or once a day using the Background Task. It also checks to cancel all scheduled notifications when necessary.
I also implemented multiple bug fixes and improvements:
- Improved a workflow issue, that crashed execution of current study updates and tasks running when the app goes into foreground
- Fixed an issue that crashed the foreground service on Android
- Implemented a shared localization framework, so we can localize text in the shared module

* #236: PR fixes

* #236: Small addition which should keep the app from scheduling multiple reminders for one schedule

* #236: Fixed multiple issues, regarding the cancellation of notifications, setting the right app badge and reduced scheduling complexity.

* #184: Implemented a part matching observation type system to accept all kinds of observations that include a given prefix, suffix or includes, starting with the garmin observation

* #184: Small code cleanup

* #236: Small change

* #236: Small change

* #264: Added the new observation schema, so the app knows, which schedules it should create a reminder for
Also upgraded a few kotlin versions

* #264: Changed

* #265: Fixed a deeplink issues that hindered the reminder to start observations directly

* #265: Small change in handling Deeplinks

* #265: Small change in handling Deeplinks

* #274: Extended the question observation type so, that different types can be answerd with the same observtion

* #274: Enum Name change

* #274: Fixed a bug where data would not be sent directly if a study state changes

* #217: Implemented a publishing process to extract the shared module

* #217: Fixed publishing pipeline and upgraded android jvm target to 17

* #217: Fixed publishing pipeline

* #217: Fixed publishing pipeline

* #217: Fixed publishing pipeline

* #217: Fixed publishing pipeline

* #217: Fixed publishing pipeline

* #217: Merged everything back to More and checked to keep all necessary identifier from More

* #217: Merge preparation

* #217: Merge preparation

* #217: Merge preparation

* #217: Merge preparation

* #217: Merge preparation

* #217: Merge preparation

* #217: Pipeline changes

* #217: Fixes

* #217: Fixes

* Small changes

* Small changes

* #217: PR fixes and implemented, that data are immediately sent when the app is closed, so they don't hang behind

* #285: Fixed the deeplink issue

* #285: Fixed notification storage issues and improved deeplink handling

* #285: Fixed a small update issue

* #285: Fixed a small update issue

* #217: PR fix

* Small cleanup

* Small cleanup

* Path change

* Path change

* iOS Google Service API Key removal

* #290: Removed the Google API key and implemented it into the pipeline

* Readme Update

* Small changes

* #285: Fixed an issue, where the deeplink would not forward to a task, when the app was completely, due to the schedule update process not being finished

* #282: Fixed an issue where the wrong observation type would be set, if one observation type would use another like multiple-choice-question-observation uses question-observation

* #291: PR fix

* #291: Copyright update
* Initial commit

* #117, #118, #119: New App Store Setup, PlayStore Setup, Firebase Setup, renamed the apps and refactored the package name

* #120: Fastlane Adaptions

* #120: Fastlane Adaptions

* #120: Fastlane Adaptions

* #156: Fixing a login bug

* #120: Fixing a fastlane deployment issue

* #130: Implemented the OpenAPI Generator, implemented all models into the apps, all api clients into the NetworkService.kt and moved the clients into its dedicated NetworkClients.kt class

* #130: Pipeline adaption to necessary openapi generator task

* #130: Pipeline adaption to necessary openapi generator task

* Critical bug fix

* Critical bug fix

* Critical bug fix

* #178:Fixed a bug where Garmin Connect Login would open, even if there is no garmin observation set

* Android Version Upgrade

* p2r: #360: Fixed these issues:
- Past schedules are now correctly removed from the dashboard
- ViewModels are now completely reloaded and use the new improved coroutines concept to load data
- Small cleanup of unused functions in ScheduleRepository.kt

* Android Version update

* #201: Fixed an issue, where the answers were listed wrong

* #230: Fixed a bug, that kept the app from reloading the study once in paused state

* Fixed leaked Google Keys

* Fixed a study login issue and added buttons to escape paused study states

* #228: Fixeda bug where LimeSurvey would crash the phone or would not close after completing it

* #230: Fixed an issue where the data collection process would not run

* #230: Github build failure inspection

* #230: Github build failure inspection

* #230: Github build failure inspection

* Fixing a pipeline

* #236: Implemented Local Notification Reminder when observation are starting.
This schedules and stores notifications in advance, and displays them on the certain time. It also only schedules 10 notifications at a time and reschedules them as soon as the current notification is displayed, the app goes into foreground or once a day using the Background Task. It also checks to cancel all scheduled notifications when necessary.
I also implemented multiple bug fixes and improvements:
- Improved a workflow issue, that crashed execution of current study updates and tasks running when the app goes into foreground
- Fixed an issue that crashed the foreground service on Android
- Implemented a shared localization framework, so we can localize text in the shared module

* #236: PR fixes

* #236: Small addition which should keep the app from scheduling multiple reminders for one schedule

* #236: Fixed multiple issues, regarding the cancellation of notifications, setting the right app badge and reduced scheduling complexity.

* #184: Implemented a part matching observation type system to accept all kinds of observations that include a given prefix, suffix or includes, starting with the garmin observation

* #184: Small code cleanup

* #236: Small change

* #236: Small change

* #264: Added the new observation schema, so the app knows, which schedules it should create a reminder for
Also upgraded a few kotlin versions

* #264: Changed

* #265: Fixed a deeplink issues that hindered the reminder to start observations directly

* #265: Small change in handling Deeplinks

* #265: Small change in handling Deeplinks

* #274: Extended the question observation type so, that different types can be answerd with the same observtion

* #274: Enum Name change

* #274: Fixed a bug where data would not be sent directly if a study state changes

* #217: Implemented a publishing process to extract the shared module

* #217: Fixed publishing pipeline and upgraded android jvm target to 17

* #217: Fixed publishing pipeline

* #217: Fixed publishing pipeline

* #217: Fixed publishing pipeline

* #217: Fixed publishing pipeline

* #217: Fixed publishing pipeline

* #217: Merged everything back to More and checked to keep all necessary identifier from More

* #217: Merge preparation

* #217: Merge preparation

* #217: Merge preparation

* #217: Merge preparation

* #217: Merge preparation

* #217: Merge preparation

* #217: Pipeline changes

* #217: Fixes

* #217: Fixes

* Small changes

* Small changes

* #217: PR fixes and implemented, that data are immediately sent when the app is closed, so they don't hang behind

* #285: Fixed the deeplink issue

* #285: Fixed notification storage issues and improved deeplink handling

* #285: Fixed a small update issue

* #285: Fixed a small update issue

* #217: PR fix

* Small cleanup

* Small cleanup

* Path change

* Path change

* iOS Google Service API Key removal

* #290: Removed the Google API key and implemented it into the pipeline

* Readme Update

* Small changes

* #285: Fixed an issue, where the deeplink would not forward to a task, when the app was completely, due to the schedule update process not being finished

* #282: Fixed an issue where the wrong observation type would be set, if one observation type would use another like multiple-choice-question-observation uses question-observation

* #291: Implemented basic unit tests into the shared module

* #291: Implemented tests for DeeplinkManager.kt and added mock to run these tests

* #291: Implemented tests for ObservationDataManager and ObservationManager. Also included new CorooutineDispatcher Class to better control coroutines during testing

* #291: Implemented CoreViewModel Tests

* #291: Fixes

* #291: test fixes

* #291: test fixes

* #291: test fixes

* #291: Cleanup

* #291: Fastlane build fix

* #291: Implemented a google api key setup script

* #291: Implemented a google api key setup script

* #291: XCODE version implementations

* #291: XCODE version implementations

* #291: XCODE version implementations

* #291: XCODE version implementations

* #291: XCODE version implementations

* #291: XCODE version implementations

* #291: XCODE version implementations

* #291: Pipeline fix

* #291: Pipeline fix

* #291: Pipeline fix

* #291: Pipeline fix

* #291: PR fix
General localisation fixes + correct observation filter navigation
…ion-fix

fix: observation type + notification filter localization
…-json-config

fix: remove duplicate Ktor JSON configuration in HttpClient setup so it only uses the configured parser.
* #369: Implemented App Usage observation
Other changes:
- Better observation initalization process for less memory usage
- Added a long running observation storage possibility, so data are not sent right away

* #369: Build issue fix

* #369: Small fix

* Small merging fixes

* #369: Multiple bug fixes:
- GPS recording on iOS and Android
- Permission request now fully works
- Notification deeplinks no longer infinitley route to the notificationview when a notification is clicked without deeplink
- Translation Strings added
- Cleanup

* #369: Multiple bug fixes:
- Permission request improvements

* #369: Multiple bug fixes:
- Fixed an view foreground/background issue
@Gmasek
Gmasek deployed to PlayStore July 20, 2026 08:20 — with GitHub Actions Active
@Gmasek
Gmasek deployed to AppStore July 20, 2026 08:20 — with GitHub Actions Active
@Gmasek
Gmasek merged commit 972281d into main Jul 20, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants