Skip to content

Conversation

@m6z1
Copy link
Member

@m6z1 m6z1 commented Aug 10, 2025

📌𝘐𝘴𝘴𝘶𝘦𝘴

📎𝘞𝘰𝘳𝘬 𝘋𝘦𝘴𝘤𝘳𝘪𝘱𝘵𝘪𝘰𝘯

  • 35 이상에서 바텀네비 + 상태바 영역 침범 이슈 해결했습니다.
  • edgeToEdge .....

📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵

image

-> 애뮬에서 상태바가 뭉개지는 현상이 있긴 한데 위에 실기기에선 괜찮습니당
스크린샷 2025-08-10 오후 6 24 17

💬𝘛𝘰 𝘙𝘦𝘷𝘪𝘦𝘸𝘦𝘳𝘴

Summary by CodeRabbit

  • 신규 기능

    • 여러 화면에서 엣지-투-엣지(Edge-to-Edge) 디스플레이를 지원하여 시스템 바(상태바, 내비게이션 바) 영역까지 UI가 확장됩니다.
  • 버그 수정

    • 알림 화면 및 기타 주요 화면에서 시스템 바 영역을 고려한 패딩이 적용되어 콘텐츠가 잘리지 않도록 개선되었습니다.
  • 스타일

    • 하단 네비게이션 바의 높이가 동적으로 조정되며, 활성 인디케이터 스타일이 제거되었습니다.
    • 라이브러리 화면에서 상태바 패딩이 제거되어 레이아웃이 조정되었습니다.

@m6z1 m6z1 added 🍯 [FEAT] 새로운 기능을 개발합니다. 🏹 궁사 명지 웹소소 공주의 은밀한 사냥생활 labels Aug 10, 2025
@coderabbitai
Copy link

coderabbitai bot commented Aug 10, 2025

Walkthrough

이 변경사항은 Android 35 이상에서 edge-to-edge UI를 지원하기 위해 여러 액티비티와 컴포저블, 레이아웃 파일에 시스템 바 영역을 고려한 패딩 처리와 설정을 추가하거나 수정합니다. 일부 뷰의 패딩, 레이아웃 속성, 그리고 시스템 인셋 적용 방식이 업데이트되었습니다.

Changes

Cohort / File(s) Change Summary
BaseActivity edge-to-edge 적용
app/src/main/java/com/into/websoso/core/common/ui/base/BaseActivity.kt
onCreate에서 edge-to-edge 활성화 및 시스템 바 인셋에 따라 루트 뷰 패딩 동적 적용
MainActivity 시스템 윈도우 설정
app/src/main/java/com/into/websoso/ui/main/MainActivity.kt
onCreate에서 setDecorFitsSystemWindows(false) 호출로 시스템 윈도우 수동 처리, 불필요한 else 블록 포맷팅 수정
NotificationActivity edge-to-edge 적용
app/src/main/java/com/into/websoso/ui/notification/NotificationActivity.kt
onCreate에서 enableEdgeToEdge() 호출 추가 및 관련 import 추가
NotificationScreen 시스템 바 인셋 적용
app/src/main/java/com/into/websoso/ui/notification/NotificationScreen.kt
modifier 파라미터 추가, Column에 windowInsetsPadding(systemBars) 적용 및 관련 import 추가
BottomNavigationView 레이아웃 수정
app/src/main/res/layout/activity_main.xml
BottomNavigationView 높이 wrap_content로 변경, activeIndicatorStyle 제거, padding 속성 삭제
LibraryScreen statusBarsPadding 제거
feature/library/src/main/java/com/into/websoso/feature/library/LibraryScreen.kt
statusBarsPadding import 및 Modifier에서 제거

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Activity
    participant SystemBars

    User->>Activity: onCreate()
    Activity->>Activity: enableEdgeToEdge()
    Activity->>SystemBars: 요청 시스템 바 인셋
    SystemBars-->>Activity: 시스템 바 인셋 반환
    Activity->>Activity: 인셋에 따라 패딩/레이아웃 동적 조정
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Assessment against linked issues

Objective Addressed Explanation
Android 35 이상 edge-to-edge 대응 (#740)

Assessment against linked issues: Out-of-scope changes

(해당 변경사항 중 범위를 벗어난 변경사항은 발견되지 않았습니다.)

Suggested reviewers

  • junseo511
  • yeonjeen
  • s9hn

Poem

🐇
Edge to edge, 화면이 넓어져,
시스템 바도 이제는 걱정 없어!
패딩도 쏙쏙, 인셋도 척척,
토끼는 기쁘게 코드를 콕콕!
안드로이드 35, 이젠 문제없지,
우리 앱은 더욱 멋져지지!
🥕✨

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 details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 941613b and bb2ff05.

📒 Files selected for processing (2)
  • app/src/main/java/com/into/websoso/core/common/ui/base/BaseActivity.kt (2 hunks)
  • app/src/main/java/com/into/websoso/ui/notification/NotificationScreen.kt (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • app/src/main/java/com/into/websoso/ui/notification/NotificationScreen.kt
  • app/src/main/java/com/into/websoso/core/common/ui/base/BaseActivity.kt
⏰ 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
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/740

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Member

@s9hn s9hn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 어려운 이슈를... 구웃

Copy link

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between 475793d and 15a7334.

📒 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 인셋 분리 변경은 필요하지 않습니다.

@m6z1 m6z1 merged commit ae015ff into develop Aug 10, 2025
2 checks passed
@m6z1 m6z1 deleted the feat/740 branch August 10, 2025 09:56
@coderabbitai coderabbitai bot mentioned this pull request Sep 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🍯 [FEAT] 새로운 기능을 개발합니다. 🏹 궁사 명지 웹소소 공주의 은밀한 사냥생활

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: android 35 이상 edgeToEdge 대응

4 participants