You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Migrate to KSP2
- Add .kotlin folder to .gitignore
- Create a Network security config xml file
- Change the direct Datasource module call from App to the first feature loaded
- Implement Koin's Lazy Modules throughout the project so modules are instantiated in the background not afecting Initial Time To Display metric (ITTD)
- Replace Koin's single {} with singleOf() where possible to improve code conciseness and readability
- Replace StateFlow with SharedFlow so everytime a new value is emitted, it gets collected by the View through its internal caching (Replay) system
- Remove mutable lists from Cells so now they are confined to method scopes
- Turn Room into the Single Source Of Truth of the app (It is not finished since Paging is still not present but it will once I migrate the current UI to Compose so I can migrate to Paging Compose instead of implementing it now with XML and then having to migrate to Paging Compose)
- Finish migration to Mixed modularization (By Feature + By Layer: https://www.youtube.com/watch?v=16SwTvzDO0A) (I probably will adopt the "By Feature/Feature Module" only approach since the current approach does not adhere to Clean Architecture and I'm sensing it will get progressively bureaucratic/harder to maintain once/if this project scales and it might me valid to other projects as well)
- Refactor the way viewModelScope is told to check on its coroutines status
- Create a mapper to map ProfileState into ProfileUIState since there are fields in ProfileUIState that should not be accessible/visible by layers outside UI
- Create mutableSharedFlowOf extension function so there is no need to add the replay parameter everytime a MutableSharedFLow is needed
- Re-add inline and crossinline to runTaskOnBackground extension function so there is no memory waste
- Refactor ResultHandler1s handleResult() so State<*> is accessible through context
- Bump dependency version to newer ones
- Refactor code
- Implement the new way to reference the Compose Compiler
- Remove blank spaces from profile strings by using .trim() on them before being sent to the Github API
Copy file name to clipboardExpand all lines: modules/common/datasource/datasource/src/main/kotlin/githubprofilesearcher/caiodev/com/br/githubprofilesearcher/datasource/di/DatasourceDI.kt
Copy file name to clipboardExpand all lines: modules/common/datasource/datasource/src/main/kotlin/githubprofilesearcher/caiodev/com/br/githubprofilesearcher/datasource/fetchers/handler/ResultHandler.kt
+2-2
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ inline fun <reified S, T> State<*>.handleResult(
20
20
crossinline onFailure: (error: Error) ->T,
21
21
): T=
22
22
if (thisisSuccess<*>) {
23
-
onSuccess(ValueCasting.castTo<S>(this.data))
23
+
onSuccess(ValueCasting.castTo<S>(data))
24
24
} else {
25
25
onFailure(handleError(ValueCasting.castTo(this)))
26
26
}
@@ -29,7 +29,7 @@ inline fun <reified S, T> State<*>.handleResult(
Copy file name to clipboardExpand all lines: modules/common/datasource/datasource/src/main/kotlin/githubprofilesearcher/caiodev/com/br/githubprofilesearcher/datasource/fetchers/local/database/features/profile/dao/User.kt
0 commit comments