Commit Graph
70 Commits
Author SHA1 Message Date
ronzilla-apple bd60d945bb Public release/2.2.9 (#1541)
* Address issue where there was no option to "Save Results" if task is cancelled (Issue #1536/1540)
* Address an issue where ORKTaskViewController setting tintColor on stepViewController views broke ORKStepViewController's addResult:

* Fixed order issue of tone audiometry steps
* Include missing ORKSpeechRecognition header export (Issue #1534)
* Switch to contentEdgeInsets API in ORKContinueButton to fix an issue where button title wouldn't always fit onscreen (on iOS 16 during long press) (Issue #1533)
* Remove min/max values for ORKCatalog "Numeric with Display Unit"

* xcconfig file updates for version and driving ORKCatalog bundleID
* Addressing compiler warnings
* Added unit tests for init'ing taskViewController with restoration data
* Adding task restoration feature to ORKCatalog's taskViewController presentation
2023-02-13 11:03:48 -08:00
Pariece McKinney a89059f5dc 2.1.1 Release
-Bug fixes
-New ORKAccuracyStroopStep
-AudioStep now allows for audio recording 
-New Styles for ORKDontKnowButton
-General layout and UI improvements
2022-10-26 16:07:45 -07:00
Erik Hornberger 2dc3cfb109 ResearchKit 2.1 Update 2019-11-22 16:40:08 -08:00
srinathtm-apple 01cc7ed79d Project updates (#1264)
* overall updates to ResearchKit, new textChoiceOtherAnswerFormat, unit tests and more..
2019-04-15 14:42:02 -07:00
Paweł Kowalczyk 7043316b90 Fix unit tests related to Two Finger Tapping Interval Task 2018-10-26 12:51:08 +02:00
Ricardo Sanchez-Saez 3bc160c5b2 [Tests] Fix ResearchKit unit tests 2018-07-31 00:43:51 -07:00
Ricardo Sanchez-Saez 06a58fab3a [Misc] Fix additional Xcode 9.1 warnings 2017-11-20 21:30:58 -08:00
Akshay e6e4698306 Convergence 2017-06-07 10:10:19 -07:00
Shannon Young 017a28e736 Added unit test and additional comments for usage. 2017-01-05 14:32:39 -08:00
Ricardo Sánchez-Sáez 18b6557cf3 Merge branch 'master' of github.com:ResearchKit/ResearchKit into rsanchezsaez-CodeHomogenization2
# Conflicts:
#	ResearchKit/Charts/ORKGraphChartView.m
2016-08-13 10:56:09 -07:00
Ricardo Sánchez-Sáez b9bcd6713c Merge branch 'master' of github.com:ResearchKit/ResearchKit into rsanchezsaez-CodeHomogenization2
# Conflicts:
#	ResearchKit.xcodeproj/project.pbxproj
#	ResearchKit/ActiveTasks/ORKCountdownStep.h
#	ResearchKit/Charts/ORKDiscreteGraphChartView.m
#	ResearchKit/Charts/ORKGraphChartView.m
#	ResearchKit/Charts/ORKGraphChartView_Internal.h
#	ResearchKit/Charts/ORKLineGraphChartView.m
#	ResearchKit/Charts/ORKPieChartLegendView.m
#	ResearchKit/Charts/ORKPieChartView.m
#	ResearchKit/Charts/ORKRangedPoint.h
#	ResearchKit/Charts/ORKRangedPoint.m
#	ResearchKit/Common/ORKAnswerFormat.h
#	ResearchKit/Common/ORKAnswerFormat_Internal.h
#	ResearchKit/Common/ORKAnswerTextView.m
#	ResearchKit/Common/ORKCompletionStep.h
#	ResearchKit/Common/ORKFormStep.m
#	ResearchKit/Common/ORKHeightPicker.h
#	ResearchKit/Common/ORKInstructionStep.h
#	ResearchKit/Common/ORKNavigableOrderedTask.m
#	ResearchKit/Common/ORKOrderedTask.m
#	ResearchKit/Common/ORKPasscodeStepViewController.m
#	ResearchKit/Common/ORKSignatureStepViewController.h
#	ResearchKit/Common/ORKSignatureStepViewController.m
#	ResearchKit/Common/ORKStepViewController.h
#	ResearchKit/Common/ORKTextButton.h
#	ResearchKit/Common/ORKTextFieldView.m
#	ResearchKit/Common/ORKTypes.h
#	ResearchKit/Consent/ORKConsentReviewStepViewController.m
#	ResearchKit/ResearchKit.h
#	ResearchKit/ResearchKit_Private.h
#	ResearchKitTests/ORKAnswerFormatTests.m
#	Testing/ORKTest/ORKTest/Charts/Charts.storyboard
#	Testing/ORKTest/ORKTest/DragonPokerStep.m
2016-07-25 21:52:13 +01:00
Yuan Zhu bc2801bb9e Result predicate for ORKConsentReviewStep
Add a result predicate for determining if the user selected accept or decline in a consent signature step, allowing for custom navigation rules, such as skipping to the end of a survey if the user does not consent.
2016-07-25 12:47:14 -07:00
Shannon Young 7b850951ef More syntax changes 2016-07-06 15:45:48 -07:00
Shannon Young 2526450391 More syntax cleanup. 2016-07-06 15:11:06 -07:00
Shannon Young 2289b01f7c Modified method signature for bilateral tapping task and updated ORKTest and ORKCatalog 2016-07-05 14:35:02 -07:00
Shannon Young 4899548438 Deprecated two-finger tapping test without hand specified 2016-07-05 14:25:37 -07:00
Shannon Young bcc85b9a2c Updated tapping unit test to explicitly check for reverse-compatibility 2016-07-05 14:23:54 -07:00
Shannon Young 613d3a676c Move the two-handed tapping test into ResearchKit
# Conflicts:
#	ResearchKitTests/ORKTaskTests.m
2016-07-05 14:23:54 -07:00
Shannon Young 6ee2b47dc1 Updated copyright and halfway count property name 2016-07-05 13:37:29 -07:00
Shannon Young a24dc1ac56 Added unit tests to check the identifiers and half-way spoken count. 2016-07-05 12:57:29 -07:00
Shannon Young 0dfb3455f7 Update documentation and added unit test 2016-06-28 15:04:41 -07:00
Shannon Young ee446da653 Added test for indexOfStep == NSNotFound 2016-06-27 16:38:38 -07:00
Shannon Young b39c2ea10d Add unit test for indexOfStep 2016-06-27 16:38:38 -07:00
Shannon Young f41480f5bb Add unit test of the delgate callback 2016-06-24 12:18:45 -07:00
Ricardo Sánchez-Sáez f7d1591c19 [Misc] Change all framework #imports to @import
Also:
- Change some #imports to directly refer headers instead of going though the framework header because it enables it be included as a module through Cocoapods.
- Improve unit test encapsulation by making some classes (recorders) and methods available in the private header
2016-03-28 20:06:58 +01:00
Ricardo Sánchez-Sáez e515278b4c [Misc] Perform #import section refactor to reduce header interdependency
Compilation time after you modify a header file has been greatly improved by avoiding including the umbrella headers (ResearchKit.h and ResearchKit_Private.h) in any of the framework files.

Also:
- Restructure .m files #import section into a hierarchy of alphabetically sorted subsections separated by one newline (1. local views and controls; 2. view controllers and recorders; 3. model files; 4. general files and helpers, 5. iOS frameworks). The #import order follows advice found here: http://qualitycoding.org/import-order/
- Remove needless and duplicate imports from .m files
- Make sure all headers include at least Foundation or UIKit; except Private or Internal headers which only include their own class header at the next public level
- Rename ORKHelpers.h to ORKHelpers_Internal.h (it is not public, and its name was misleading given that we also have ORKHelpers_Private.h).
- Add a few missing NS_ASSUME_NONNULL_BEGIN/NS_ASSUME_NONNULL_END annotation in headers
- Add a few missing double newline before and after import section
2016-03-28 15:34:27 +01:00
Ricardo Sánchez-Sáez 57cbebae64 [ORKNavigableOrderedTask] Implement skip navigation rules
Introduce the ORKSkipStepNavigationRule and ORKPredicateSkipStepNavigationRule classes, and the appropriate 'ORKNavigableOrderedTask' methods to insert, view and remove them.
Implement ORKTest example code within the Navigable Loop Task Items.
Implement unit tests for the new functionality, and makes sure all serialization tests continue to pass.
2016-03-11 18:41:32 +00:00
Jared Crawford 6e075cbfe3 Add a result predicate for determining if the user selected accept or decline in a consent signature step, allowing for custom navigation rules, such as skipping to the end of a survey if the user does not consent. 2016-02-11 18:07:08 -08:00
Ricardo Sánchez-Sáez a96c8b9540 [ResearchKit] Fix unit tests
- Fixes tests to reflect the new empty answer for a Choice Answer Format being ORKNullAnswerValue() instead of an empty array (introduced on the Review Step feature).
- Fixes test for task step identifier uniqueness validation (it now takes place on task init).
2016-01-27 13:21:05 +00:00
Ricardo Sánchez-Sáez ebf3a5474d Unit tests: test new navigable ordered task navigation model 2015-10-10 17:04:21 +01:00
Ricardo Sánchez-Sáez 2a76ff2a2e Merge branch 'master' of github.com:ResearchKit/ResearchKit into rsanchezsaez-constraints
# Conflicts:
#	ResearchKit/ActiveTasks/ORKTappingContentView.m
#	ResearchKit/ActiveTasks/ORKToneAudiometryContentView.m
#	ResearchKit/ActiveTasks/ORKTowerOfHanoiTowerView.m
#	ResearchKit/Common/ORKFormItemCell.m
#	ResearchKit/Common/ORKHelpers.m
#	ResearchKit/Common/ORKScaleSliderView.m
#	ResearchKit/Common/ORKSkin.h
#	ResearchKit/Common/ORKSkin.m
#	ResearchKit/Common/ORKVerticalContainerView.m
#	ResearchKit/Consent/ORKConsentReviewController.m
#	ResearchKit/Consent/ORKConsentSignatureController.m
#	ResearchKit/Consent/ORKSignatureView.m
#	Testing/ORKTest/ORKTest/MainViewController.m
2015-09-04 18:38:40 +01:00
Ricardo SaÃÅnchez-SaÃÅez 074a00e2ae ORKResultPredicate: refactor 'ORKResultIdentifier' class by renaming it to 'ORKResultSelector'
Also:
- Improve documentation.
- Update ORKTest example and unit tests.
2015-09-01 22:34:21 +01:00
Ricardo SaÃÅnchez-SaÃÅez ceec6adf1a ORKResultPredicate: greatly simplified API by introducing the 'ORKResultIdentifier' wrapper class
Also:
- Update tests.
- Update 'Navigable ordered task' example.
2015-09-01 00:56:22 +01:00
Ricardo SaÃÅnchez-SaÃÅez dffbaeee6b ORKResultPredicate: make ORKChoiceQuestionResult predicates to accept any kind of answer object (instead of just strings)
Also:
- Fixed problem in nil answer result predicate methods.
- Updated 'ORKTest' example.
- Updated test cases.
- Removed needless predicate convenience method test cases.
2015-08-31 21:45:54 +01:00
Ricardo SaÃÅnchez-SaÃÅez f76c960846 ORKResultPredicate: add 'predicateForNilQuestionResultWithTaskIdentifier:stepIdentifier:resultIdentifier:' method to match results with a nil answer (skipped steps or unanswered form questions) 2015-08-31 00:31:01 +01:00
Ricardo SaÃÅnchez-SaÃÅez a5640cb4b1 ORKResultPredicate: add optional 'stepIdentifier' argument to all method, to allow matching form item results.
Also: use new methods in newly added form predicate.

Result predicates without a supplied 'stepIdentifier' argument now only match the corresponding question step result, but not any form item result.
2015-08-31 00:03:41 +01:00
Ricardo SaÃÅnchez-SaÃÅez 222c017e0d ORKTaskTests: add some form result predicate tests 2015-08-30 21:14:51 +01:00
Ricardo Sánchez-Sáez e69460acfe Refactor '[array count]' method syntax to 'array.count' property syntax 2015-08-04 13:50:00 +02:00
Ricardo Sánchez-Sáez 8649fa8223 ORKDeviceMotionReactionTimeStep: add minimumStimulusInterval and timeout validation
Adds corresponding unit tests.
2015-05-30 11:05:37 +01:00
Ricardo Sánchez-Sáez 53bcccdc87 ORKStepNavigationRule: rename 'matchingStepIdentifiers' by 'destinationStepIdentifiers' 2015-05-25 21:53:36 +01:00
Ricardo Sánchez-Sáez 8bf354e741 ORKNavigableOrderedTask & ORKStep: add ORKNullStepIdentifier, to be used in step navigation rules when you want to end the ongoing task 2015-05-20 02:20:28 +01:00
Ricardo Sánchez-Sáez bd4bf8ec38 Fix 'dizziness' typo 2015-05-20 01:06:55 +01:00
Ricardo Sánchez-Sáez f85ed88df3 ORKDirectStepNavigationRule: allow 'destinationStep' nullability
A direct step navigation rule with a nil destination step identifier can be used to finish the ongoing task early.
Also adds corresponding Unit Tests.
2015-05-19 21:43:05 +01:00
Ricardo Sánchez-Sáez 622af54829 ORKResultPredicate: use ORK_EXTERN for ORKResultPredicateTaskIdentifierVariableName
Also renames ORKTaskIdentifierResultPredicateVariableName to ORKResultPredicateTaskIdentifierVariableName.
2015-05-19 09:24:07 +01:00
Ricardo Sánchez-Sáez 0ef6913118 ORKResultPredicate: make 'taskIdentifier' argument nullable
If you pass 'nil', the obtained result predicate will have a $TASK_IDENTIFIER substitution variable which will be replaced in ORKPredicateStepNavigationRule by the ongoing task identifier.

Also:
- Add convenience methods with no 'taskIdentifier' argument to ORKResultPredicate.
- Update ORKTest sample code to use convenience methods.
- Update Unit Tests to cover both convenience and regular nullable methods.
2015-05-19 00:21:30 +01:00
Ricardo Sánchez-Sáez 977dab78dc ORKResultPredicate: re-work predicate to match both task identifier and question result identifier
You can now have question results with the same identifier as long as they are part of different task results. Supplying the desired task identifier with the predicate is now compulsory: use the current task identifier if you want to match the ongoing task; or use any of the task result identifiers if you add extra ones to ORKPredicateStepNavigationRule's 'additionalTaskResults' property.

This change:
- Adds the task identifier argument to all predicate-building methods.
- Allows better reuse of predicate building code.
- Modifies ORKPredicateStepNavigationRule and Unit Tests accordingly. Task results are no longer squashed into a question result array. The new result predicates match the ORKTaskResult tree in its original form.
2015-05-17 16:26:57 +01:00
Ricardo Sánchez-Sáez 38326f25f4 ORKResultPredicate: add ORKIgnoreDoubleValue and ORKIgnoreTimeIntervalValue constants.
You can pass them to 'double' or 'NSTimeInterval' maximumValue argument or minimumValue argument to ignore those. Also adds corresponding Unit Tests.
2015-05-16 20:44:32 +01:00
Ricardo Sánchez-Sáez d97c70dee6 ORKResultPredicate: replace float arguments by double; make time interval question of NSTimeInterval type
Also adds corresponding Unit Tests.
2015-05-16 20:32:06 +01:00
Ricardo Sánchez-Sáez 3545133d51 ORKDirectStepNavigationRule: add 'destinationStepIdentifier' property; ORKPredicateStepNavigationRule: add 'resultPredicates', 'matchingStepIdentifiers' and 'defaultStepIdentifier' properties
Also adds corresponding Unit Tests.
2015-05-16 17:40:51 +01:00
Ricardo Sánchez-Sáez 46d1e57d81 ORKNavigableOrderedTask: add 'navigationRuleForTriggerStepIdentifier:' method
Also fixes typo in 'updateStepIdentifierStackWithSourceIdentifier:' method.
2015-05-16 17:11:39 +01:00