Skip to content

fix: 16kb 지원#858

Open
Sadturtleman wants to merge 3 commits intodevelopfrom
fix/857
Open

fix: 16kb 지원#858
Sadturtleman wants to merge 3 commits intodevelopfrom
fix/857

Conversation

@Sadturtleman
Copy link
Copy Markdown
Contributor

@Sadturtleman Sadturtleman commented Apr 7, 2026

📌𝘐𝘴𝘴𝘶𝘦𝘴

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

📷𝘚𝘤𝘳𝘦𝘦𝘯𝘴𝘩𝘰𝘵

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

kakao sdk가 android-gif-drawable 라이브러리를 16kb 미지원하는 버전으로 의존해서 생긴 문제라 sdk 업데이트 후 drawable 라이브러리를 강제로 업데이트 했습니다.

Summary by CodeRabbit

  • Chores
    • 새로고침 라이브러리를 AndroidX SwipeRefreshLayout으로 교체하여 빌드 의존성 정리
  • Refactor
    • 새로고침 구현을 단순화하여 내부 동작을 표준 위젯으로 일원화(사용자 관점의 새로고침 동작은 유지)

Copy link
Copy Markdown
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.

카카오SDK 릴리즈 노트엔 2.21.1->2로 상향되면서 16KB 및 gif관련 업데이트 사항은 없긴합니다!
카카오 로그인 sdk가 내부적으로 gif라이브러리를 쓰는건가요?
그렇지 않다면 gif라이브러리를 사용하는 상위 라이브러리를 찾아서 버전업데이트 해줘야할 것 같아요

Comment thread app/build.gradle.kts Outdated
Comment on lines 83 to 84
// 룸 디비 제거
// 좋아요 기능 좀더 생각해보기
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

이거 주석좀 지워주실 수 있나요 ㅋㅋ;

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

넵!

Comment thread gradle/libs.versions.toml Outdated

# Social Login Libraries
kakao = "2.23.1"
kakao = "2.23.2"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

버전 릴리즈 노트 확인 해보셨나요?

Comment thread app/build.gradle.kts Outdated
resolutionStrategy {
force("pl.droidsonroids.gif:android-gif-drawable:1.2.29")
}
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

버전 강제를 해버리면, 이후에 해당 라이브러리를 사용하는 sdk 혹은 상위 라이브러리에서 버전호환으로 인한 문제가 생길 수 있습니다!

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 9, 2026

Walkthrough

앱의 풀-투-리프레시 라이브러리를 Simform의 SSPullToRefresh에서 AndroidX의 SwipeRefreshLayout로 교체하고, 관련 Gradle 버전 키와 의존성 항목을 갱신했습니다. 프래그먼트에서 커스텀 리프레시 설정을 제거하고 단순히 OnRefreshListener만 사용하도록 변경했습니다.

Changes

Cohort / File(s) Summary
빌드 설정
gradle/libs.versions.toml, app/build.gradle.kts
라이브러리 버전 키를 pull-to-refreshswipe-refresh-layout로 교체하고, SSPullToRefreshandroidx.swiperefreshlayout:swiperefreshlayout로 의존성 변경. app/build.gradle.kts의 상단 주석 2줄 제거.
UI 레이아웃
app/src/main/res/layout/fragment_novel_feed.xml
com.simform.refresh.SSPullToRefreshLayoutandroidx.swiperefreshlayout.widget.SwipeRefreshLayout로 교체(뷰 ID 및 레이아웃 제약은 유지).
프래그먼트 로직
app/src/main/java/.../NovelFeedFragment.kt
커스텀 리프레시 뷰 설정(레이아웃 파라미터, Lottie 설정 등) 제거. setupRefreshView()OnRefreshListener만 설정하도록 단순화. 리프레시 완료 처리 시 isRefreshing = false로 직접 설정하도록 변경.

Sequence Diagram(s)

(생성 조건을 충족하지 않아 생략)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

🔨 [FIX]

Suggested reviewers

  • m6z1
  • devfeijoa
  • junseo511

업데이트된 기존 섹션

개요

앱의 풀-투-리프레시 구현을 Simform의 커스텀 SSPullToRefresh에서 AndroidX의 표준 SwipeRefreshLayout으로 전환했습니다. 이에 따라 Gradle 의존성 선언(gradle/libs.versions.toml)과 app/build.gradle.kts의 관련 항목을 갱신했고, 프래그먼트에서 커스텀 리프레시 뷰 설정을 제거하여 리프레시 동작을 간소화했습니다.

변경 사항

Cohort / File(s) 요약
빌드 설정
gradle/libs.versions.toml, app/build.gradle.kts
풀-투-리프레시 관련 버전 키 및 라이브러리 모듈을 AndroidX swiperefreshlayout로 변경. 빌드스크립트 상단의 불필요한 주석 제거.
UI 레이아웃
app/src/main/res/layout/fragment_novel_feed.xml
커스텀 SSPullToRefreshLayoutSwipeRefreshLayout 교체(레이아웃 ID/제약은 유지).
프래그먼트 로직
app/src/main/java/.../NovelFeedFragment.kt
커스텀 뷰 초기화 및 애니메이션 설정 제거. OnRefreshListener만 등록하도록 단순화하고 리프레시 완료 처리 방식을 조정.

예상 코드 리뷰 난이도

🎯 3 (Moderate) | ⏱️ ~20 minutes

추천 라벨

🔨 [FIX]

추천 리뷰어

  • m6z1
  • devfeijoa
  • junseo511

🐰 바람결 따라 스와이프하니
오래된 끈을 내려놓고
새 위젯에 깔끔히 안착했네 🌱
리프레시 하나, 코드 한 줄로
당근처럼 상쾌히 폴짝! 🥕

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive 제목이 pull-to-refresh에서 swipe-refresh-layout으로의 라이브러리 교체라는 실제 변경사항과 명확하게 연결되지 않음. 제목을 더 구체적으로 변경하여 라이브러리 교체 또는 16KB 지원을 위한 의존성 업데이트임을 명확히 하세요.
✅ Passed checks (3 passed)
Check name Status Explanation
Description check ✅ Passed PR 설명이 작업 설명 섹션을 비워두었고, 스크린샷도 제공하지 않았으며, 검토자를 위한 주석도 최소한의 정보만 포함했습니다.
Linked Issues check ✅ Passed 코드 변경사항이 16KB 메모리 페이지 지원 문제를 해결하기 위해 android-gif-drawable 라이브러리를 업데이트했으므로 #857의 목표를 충족합니다.
Out of Scope Changes check ✅ Passed 모든 변경사항이 16KB 메모리 페이지 지원을 위한 라이브러리 교체에만 집중되어 있으며, PR 목표 범위 내에 있습니다.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/857

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

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
app/src/main/java/com/into/websoso/ui/novelFeed/NovelFeedFragment.kt (1)

362-369: ⚠️ Potential issue | 🟠 Major

새로고침 실패 시 스피너가 종료되지 않습니다

when 분기 순서 때문에 실패 상태(error=true, loading=false)에서는 Line 368이 실행되지 않습니다. 실패 분기에서도 isRefreshing = false를 명시해 주세요.

수정 예시
                 novelFeedUiState.error -> {
                     binding.wllNovelFeed.setLoadingLayoutVisibility(false)
+                    binding.sptrNovelFeedRefresh.isRefreshing = false
                 }

                 !novelFeedUiState.loading -> {
                     binding.wllNovelFeed.setWebsosoLoadingVisibility(false)
                     binding.sptrNovelFeedRefresh.isRefreshing = false
                     updateFeeds(novelFeedUiState)
                 }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@app/src/main/java/com/into/websoso/ui/novelFeed/NovelFeedFragment.kt` around
lines 362 - 369, The error branch in the when on novelFeedUiState doesn't stop
the SwipeRefresh spinner because the !novelFeedUiState.loading branch (which
clears binding.sptrNovelFeedRefresh.isRefreshing) is skipped when error==true;
modify the error handling in NovelFeedFragment (the when handling
novelFeedUiState) to also set binding.sptrNovelFeedRefresh.isRefreshing = false
(or move the isRefreshing clear to run for both error and non-loading cases)
along with the existing binding.wllNovelFeed.setLoadingLayoutVisibility(false)
so the spinner is always stopped on refresh failure.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@app/src/main/java/com/into/websoso/ui/novelFeed/NovelFeedFragment.kt`:
- Around line 362-369: The error branch in the when on novelFeedUiState doesn't
stop the SwipeRefresh spinner because the !novelFeedUiState.loading branch
(which clears binding.sptrNovelFeedRefresh.isRefreshing) is skipped when
error==true; modify the error handling in NovelFeedFragment (the when handling
novelFeedUiState) to also set binding.sptrNovelFeedRefresh.isRefreshing = false
(or move the isRefreshing clear to run for both error and non-loading cases)
along with the existing binding.wllNovelFeed.setLoadingLayoutVisibility(false)
so the spinner is always stopped on refresh failure.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8a34d8ef-a26d-4253-bc57-0bd4fa443341

📥 Commits

Reviewing files that changed from the base of the PR and between e45fab7 and 6109998.

📒 Files selected for processing (4)
  • app/build.gradle.kts
  • app/src/main/java/com/into/websoso/ui/novelFeed/NovelFeedFragment.kt
  • app/src/main/res/layout/fragment_novel_feed.xml
  • gradle/libs.versions.toml
🚧 Files skipped from review as they are similar to previous changes (1)
  • app/build.gradle.kts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: 16KB 메모리 페이지 지원

2 participants