- Removed the custom `viewModelDefinition` function in favor of Koin's
built-in `viewModelOf`.
- Updated the Koin dependencies to use `koin-compose-viewmodel` instead
of `koin-compose`.
- Removed `libraries/di` module.
- Updated all modules using `viewModelDefinition` to use `viewModelOf`.
- Removed all module dependencies for the removed module.
Replaced the `moko-mvvm` library with `androidx.lifecycle.ViewMode
l` to handle ViewModel logic. This change updates the ViewModel
definitions across Android, iOS, Desktop, and common modules. The
`moko-mvvm` dependency was removed from the `libs.versions.toml`, and
the project dependencies were updated accordingly. Also updated all
ViewModels and its definitions to use the new `androidx.lifecycle
.ViewModel` instead of the `dev.icerock.moko.mvvm.viewmodel.ViewModel`
Introduced a new `isCompact` flag to the `AlkaaToolbar` component to
dynamically determine the navigation icon style (back or close). Updated
various screens and navigation graphs to pass the appropriate
`isCompact` value. This change improves UI adaptability across
different layouts.
Using some platform-specific dependencies and abstracting the core logic
of the Tracker feature, the following behavior was implemented:
- On Android, the feature still a Dynamic Feature that can be downloaded
by the users
- On iOS, the feature is static and will always be available for the
users
Since the Design System APIs are no longer using `@StringRes`, all the
modules that depends on it were updated to use the actual String. The DI
was also added to provide the platform specific theme implementation.
* Update dependency com.pinterest:ktlint to v0.48.0
* 🚨 Add trailing comma
Finally this rule is in place for Ktlint. Command was executed to add
trailing comma in every single Kotlin file.
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Igor Escodro <escodro@outlook.com>
* ⬆️ Update compile and target versions
Since the new Compose 1.2 requires at least compile version at API 32
this updated was required.
* ⬆️ Update Kotlin version
Kotlin version updated to 1.7.0 in order to work properly with Compose
1.2
* ⬆️ Update Compose version to 1.2
Update Jetpack Compose version to 1.2. Also the versions was split from
regular Compose dependencies and Compiler one since they seem to not
match for the patch version.
* ⬆️ Update Accompanist
Even though it seems that the version 0.23.1 is working fine Compose
1.2, it's a better idea to make sure that the versions are matching.
The Android 12 is failing with some Compose Instrumented tests due to
the new "android:exported" requirement. This solution was found in the
Issue Tracker and posted by a Googler.
Once the final solution is developed, this could must be removed.
For more information: https://issuetracker.google.com/issues/191397778
Since the module contains more components and logic based on how the
application look and feel should behave, I believe that is better to
name it "Design System" in order to better reflect its importance and
content.
The Jetpack Navigation Compose does not have support for Dynamic Feature
Modules at the moment. At first, I added all the code inside app module
temporarily. But know I thought that I can use another Activity in the
DFM and open it by deep link while there is no native support in
Compose.
After some time thinking about this change, I believe that makes sense
to move the Domain module from the Data Module to the project root. Once
it contains the business rule and does not store any "data", it is best
to have their own solo module. Also, I think this better adheres to the
Hexagonal Architecture model.
Koin upgraded to latest beta version, which fixes the issue regarding
ViewModel and Jetpack Compose. In addition, the ViewModel injection
workaround was removed.
The dependencies were duplicated on the Tracker Gradle and the base
dynamic feature Gradle. Code updated to only add on the base one.
Also moved the test dependency to base as well.