Conversation
- READ_MEDIA_IMAGES 권한 제거: 갤러리 접근 코드 없음, FileProvider 기반으로 동작하여 불필요. Play Store 정책 위반 해소 - 버전 정보 동적 표시: 하드코딩된 v. 1.0.4 → PackageManager에서 versionName 읽어 표시 - 스탬프 이미지 복구: getIdentifier() 동적 참조로 인해 미사용 리소스 정리 시 오탐 삭제된 13개 파일 복구 (목표 보상/프로필 이미지 빈 공간 수정)
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (16)
✨ Finishing Touches🧪 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 |
| private fun VersionSection() { | ||
| val context = LocalContext.current | ||
| val versionName = remember { | ||
| context.packageManager.getPackageInfo(context.packageName, 0).versionName |
There was a problem hiding this comment.
[Bug] versionName이 null일 수 있음
API 33(Android 13)+에서 PackageInfo.versionName의 반환 타입은 String?입니다. 현재 코드는 null 처리가 없어 특정 환경에서 v. null로 표시될 수 있습니다.
// 현재
val versionName = remember {
context.packageManager.getPackageInfo(context.packageName, 0).versionName
}
// 개선
val versionName = remember {
runCatching {
context.packageManager.getPackageInfo(context.packageName, 0).versionName ?: ""
}.getOrDefault("")
}NameNotFoundException은 자기 패키지 조회 시 실질적으로 발생하지 않지만, versionName null은 실제로 반환될 수 있으므로 최소한 ?: ""는 추가가 필요합니다.
There was a problem hiding this comment.
반영 완료 (6e44d8e)
runCatching { ... }.getOrDefault("")패턴으로NameNotFoundException과versionNamenull 모두 방어- Android 공식 문서에서
versionName은String?로 명시됨 - 영향 범위:
VersionSection렌더링에만 해당, null 시 빈 문자열로 표시됨
| import androidx.compose.ui.res.stringResource | ||
| import androidx.compose.ui.unit.dp | ||
| import androidx.compose.ui.platform.LocalContext | ||
| import coil3.compose.AsyncImage |
There was a problem hiding this comment.
[Nit] import 순서
androidx.compose.ui.platform.LocalContext는 알파벳 순으로 androidx.compose.ui.unit.dp보다 앞에 와야 합니다.
// 현재
import androidx.compose.ui.unit.dp
import androidx.compose.ui.platform.LocalContext // ← 순서 어긋남
// 개선
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.unit.dpThere was a problem hiding this comment.
반영 완료 (6e44d8e)
platform→unit순으로 알파벳 정렬
- API 33+에서 PackageInfo.versionName이 String?로 반환될 수 있어 null 처리 추가 - LocalContext import 알파벳 순서 정렬
작업 배경
변경 사항
AndroidManifest.xmlREAD_MEDIA_IMAGES권한 제거MyPageScreen.ktPackageManager에서 동적 읽기mypage_img_stamp_*.xml(13개)strings.xmlmy_page_version문자열 제거버그 상세
FileProvider기반 임시 파일로 이미지 처리하므로 불필요v. 1.0.4하드코딩 → 앱 버전업 시 자동 반영getIdentifier()로 동적 참조하는 파일들이 미사용 리소스 정리(436ac4ea) 시 오탐 삭제 → 목표 보상 화면 및 프로필 이미지 빈 공간 발생영향 범위
READ_MEDIA_IMAGES제거: 런타임 동작 변경 없음 (실제 사용 코드 없었음)Test Plan
🤖 Generated with Claude Code