Release 1.9.0
Features
- ANDROSDK-1743 Evaluate a TEI header
- ANDROSDK-1728 Add a parameter to define a TEI header per program
- ANDROSDK-1688 Add ObjectStyle to Indicators
- ANDROSDK-1723 Add
disableReferrals
field in Android Settings model - ANDROSDK-1724 Add
disableCollapsibleSections
field in Android Settings model - ANDROSDK-1725 Add
description
field ProgramStageSection
Bug
- ANDROSDK-1694 Remove initial "transfers" query in Tracker upload
- ANDROSDK-1745 Event status filter is not applied if event date fiter is null
- ANDROSDK-1749 Inherit IMAGE attribute is not created in inherited TEI
- ANDROSDK-1765 Download ProgramStageSection render type
- ANDROSDK-1767 Reinforce method "isLogged" in UserModule
Library changes:
- ANDROSDK-1737 Update Kotlin version to 1.9.10.
- ANDROSDK-1740 Upgrade OkHttp library to 4.10.0. It might imply the update of OkHttp resolution to at least 4.10.0.
- ANDROSDK-1618 Dagger is replaced by Koin
- Some changes in the SDK forces to update Gradle to >= 7.4.2 in the consuming app.
Breaking changes:
-
If you are using Kotlin, you might experience some breaking changes in your code. These changes come from the continuous refactor of the codebase to Kotlin and usually they cannot be avoided. They have to do with how Java and Kotlin deal with nullability and, in general, these changes will introduce more robustness (null safety) in your code.
A common change is the return type of different methods, such as
ObjectRepository
. Taking DataElement as an example, this query (dataElements().uid("uid").get()) in the JAVA-implemented repository will return aDataElement!
in Kotlin, which means that it can't tell if the returned object is nullable or not. In this case, the Kotlin compiler let you deal with these object as if they were NonNull, which could lead to a NullPointerException. Now, the repository will return aDataElement?
, which explicitly informs about the nullability of the object.