[Feature/#209] Coil3 커스텀 ImageLoader 설정 추가#210
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Walkthrough앱에 Coil3 번들 의존성을 추가하고, Hilt EntryPoint로 제공되는 Changes
Sequence Diagram(s)sequenceDiagram
participant App as BitnagilApplication
participant Hilt as Hilt EntryPoint
participant OkHttp as OkHttpClient (`@NoneAuth`)
participant Loader as Coil ImageLoader
participant CacheM as MemoryCache
participant CacheD as DiskCache
participant Network as Remote Server
App->>Hilt: EntryPointAccessors.fromApplication(...) 호출
Hilt-->>OkHttp: noneAuthOkHttpClient() 반환
App->>Loader: newImageLoader(context) 구성 (OkHttp, MemoryCache(25%), DiskCache(50MB), DebugLogger?, crossfade)
Loader->>CacheM: 메모리 캐시 확인
alt 캐시 미스
Loader->>CacheD: 디스크 캐시 확인
alt 디스크 미스
Loader->>OkHttp: 이미지 요청 전송
OkHttp->>Network: 네트워크 요청
Network-->>OkHttp: 이미지 응답
OkHttp-->>Loader: 이미지 전달
Loader->>CacheD: 디스크에 저장
Loader->>CacheM: 메모리에 저장
else 디스크 히트
CacheD-->>Loader: 이미지 전달
Loader->>CacheM: 메모리에 저장
end
else 캐시 히트
CacheM-->>Loader: 이미지 제공
end
Loader-->>App/UI: 이미지 렌더링 (crossfade)
예상 코드 리뷰 소요 시간🎯 4 (Complex) | ⏱️ ~45 minutes 시
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
[ PR Content ]
어제 언급했던 Coil3 커스텀 ImageLoader를 Application 레벨에서 설정했습니다.
Related issue
Screenshot 📸
Work Description
CoilEntryPoint추가: Hilt EntryPoint를 통해@NoneAuthOkHttpClient 주입BitnagilApplication에SingletonImageLoader.Factory구현components { add(OkHttpNetworkFetcherFactory(...)) }로 OkHttp 클라이언트 연결CollapsibleHeader:imageUrl이 비어있을 때 Coil을 거치지 않고Image(painterResource(...))로 직접 렌더링To Reviewers 📢
@NoneAuthOkHttpClient를 재사용하도록 변경하고 메모리/디스크 캐시 전략을 명시적으로 설정했습니다.Summary by CodeRabbit
릴리스 노트
새로운 기능
버그 수정