-
Notifications
You must be signed in to change notification settings - Fork 0
feat: android 35 이상 edgeToEdge 대응 #741
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
Walkthrough이 변경사항은 Android 35 이상에서 edge-to-edge UI를 지원하기 위해 여러 액티비티와 컴포저블, 레이아웃 파일에 시스템 바 영역을 고려한 패딩 처리와 설정을 추가하거나 수정합니다. 일부 뷰의 패딩, 레이아웃 속성, 그리고 시스템 인셋 적용 방식이 업데이트되었습니다. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Activity
participant SystemBars
User->>Activity: onCreate()
Activity->>Activity: enableEdgeToEdge()
Activity->>SystemBars: 요청 시스템 바 인셋
SystemBars-->>Activity: 시스템 바 인셋 반환
Activity->>Activity: 인셋에 따라 패딩/레이아웃 동적 조정
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Assessment against linked issues
Assessment against linked issues: Out-of-scope changes(해당 변경사항 중 범위를 벗어난 변경사항은 발견되지 않았습니다.) Suggested reviewers
Poem
Note 🔌 MCP (Model Context Protocol) integration is now available in Early Access!Pro users can now connect to remote MCP servers under the Integrations page to get reviews and chat conversations that understand additional development context. 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
s9hn
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.
이 어려운 이슈를... 구웃
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.
Actionable comments posted: 3
🧹 Nitpick comments (2)
app/src/main/java/com/into/websoso/ui/main/MainActivity.kt (2)
58-58: 중복 설정 가능성: decorFitsSystemWindows(false)BaseActivity에서
enableEdgeToEdge()를 호출 중이라면 내부적으로 decorFits를 이미 false로 설정합니다. 의미 중복이므로 MainActivity에서의 직접 호출은 제거해도 동작에 변화가 없을 가능성이 큽니다. 한 곳에서만 설정해 책임을 단일화하는 것을 권장합니다.
145-146: 빈 else 블록 제거 또는 no-op로 축약가독성을 위해 불필요한 빈 블록은 제거하거나
else -> Unit으로 축약하세요.- else -> { // 아무 것도 하지 않음. 나도 아무 것도 안하고 싶다...격하게 - } + else -> Unit // no-op
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
app/src/main/java/com/into/websoso/core/common/ui/base/BaseActivity.kt(2 hunks)app/src/main/java/com/into/websoso/ui/main/MainActivity.kt(3 hunks)app/src/main/java/com/into/websoso/ui/notification/NotificationActivity.kt(2 hunks)app/src/main/java/com/into/websoso/ui/notification/NotificationScreen.kt(3 hunks)app/src/main/res/layout/activity_main.xml(2 hunks)feature/library/src/main/java/com/into/websoso/feature/library/LibraryScreen.kt(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build
🔇 Additional comments (5)
app/src/main/res/layout/activity_main.xml (2)
35-35: BottomNavigationView 높이 wrap_content 전환 적절E2E + 루트 패딩 적용 전략과 궁합이 좋습니다. 기본적으로 56dp 높이를 확보하므로 터치 타겟도 문제없습니다.
39-39: itemActiveIndicatorStyle 제거(@null) — 상호작용 피드백 유지 확인활성 인디케이터를 제거하면 선택/포커스 시각 피드백이 단순해집니다. 디자인 의도라면 OK입니다만, 접근성 관점에서 최소한의 pressed/ripple 피드백이 유지되는지 기기별 확인을 권장합니다.
app/src/main/java/com/into/websoso/ui/notification/NotificationActivity.kt (1)
24-25: enableEdgeToEdge 호출 위치 적절
onCreate초기에 호출해 Compose의windowInsetsPadding전략과 자연스럽게 맞물립니다. 현 구조에서는 중복 인셋 적용도 없어 보입니다.app/src/main/java/com/into/websoso/ui/notification/NotificationScreen.kt (2)
6-9: LGTM — 인셋 관련 import 추가 적절합니다edge-to-edge 대응을 위한
WindowInsets/systemBars/windowInsetsPadding도입은 방향성에 부합합니다.
37-37: 인셋 중복 적용 없음
NotificationAppBar 내부에는statusBarsPadding()또는 기타 인셋 처리 로직이 없으며, 리포지토리 전반에서도 Activity/Scaffold 레벨에WindowInsets.systemBars를 적용한 코드를 발견하지 못했습니다.
현재.windowInsetsPadding(WindowInsets.systemBars)를 사용해 상단(status bar 높이)과 하단(navigation bar 높이) 인셋을 컨테이너 레벨에서 처리하는 방식이 적절하므로, 별도의 bottom-only 인셋 분리 변경은 필요하지 않습니다.
📌𝘐𝘴𝘴𝘶𝘦𝘴
📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯
edgeToEdge.....📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵
-> 애뮬에서 상태바가 뭉개지는 현상이 있긴 한데 위에 실기기에선 괜찮습니당

💬𝘛𝘰 𝘙𝘦𝘷𝘪𝘦𝘸𝘦𝘳𝘴
Summary by CodeRabbit
신규 기능
버그 수정
스타일