-
Notifications
You must be signed in to change notification settings - Fork 0
Migrate Application Notice View from XML to Compose #649
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
# Conflicts: # presentation/src/main/java/daily/dayo/presentation/screen/main/MainScreen.kt # presentation/src/main/java/daily/dayo/presentation/screen/settings/SettingsScreen.kt
… and detail screen.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR migrates the application’s Notice view from XML layouts to Jetpack Compose while integrating shared element transitions for smooth navigation. Key changes include the complete removal of XML layouts, updates to the NoticeViewModel to use Kotlin Flows and Resource wrappers instead of LiveData, and new Composable screens with updated navigation for notices.
Reviewed Changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| fragment_notice_list.xml & fragment_notice_detail.xml | Removed legacy XML layouts as part of the migration to Compose. |
| NoticeViewModel.kt | Updated to use StateFlow for detail notices; changed noticeId type from Int to Long and updated API response handling. |
| SettingsScreen.kt & SettingsNavigation.kt | Added parameter for notices navigation and updated corresponding navigation calls. |
| NoticesScreen.kt, NoticeNavigation.kt, NoticeDetailScreen.kt | Introduced new Compose-based screens for displaying the notice list and notice details with shared element transitions. |
| MainScreen.kt, MainNavigator.kt | Integrated the new notice navigation into the main app navigation and incorporated SharedTransitionLayout. |
| Remaining legacy fragments and adapter files | Removed XML-based fragments and adapters in favor of Compose implementations. |
| Domain & Data layers (RequestDetailNoticeUseCase, NoticeRepository, Notice.kt, NoticeRepositoryImpl, NoticeResponse.kt, NoticeApiService.kt) | Updated all noticeId types from Int to Long to maintain consistency. |
Comments suppressed due to low confidence (1)
presentation/src/main/java/daily/dayo/presentation/viewmodel/NoticeViewModel.kt:45
- [nitpick] Consider renaming the lambda parameter 'ApiResponse' to 'response' for clarity and consistency with typical naming conventions.
requestDetailNoticeUseCase(noticeId).let { ApiResponse ->
yuni-ju
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
애니메이션 좋습니다 😊
작업사항
참고