ComposeBOM 2

안드로이드 위젯 통합 테스트, remote-testing으로 뚫린 사각지대

일주일 9시간 투자해서 수동 QA가 놓친 위젯 버그 3건을 잡았습니다. 젯팩 컴포즈(Jetpack Compose) 최근 알파에서 추가된 remote-testing 덕분이었습니다. Glance 위젯은 본문을 그대로 룰에 던질 수 없고 어댑터로 한 번 감싸야 하는데, 그 얘기는 뒤에서 다시 풀게요. remote-testing 라이브러리가 위젯 테스트에서 의미하는 것그동안 위젯은 테스트 사각지대였습니다. 앱과 분리된 프로세스(out-of-process)에서 렌더링되니까 createComposeRule 기반의 표준 UI 테스트가 닿지 않습니다. Glance 위젯도, 잠금화면 보조 화면도, Wear OS 표면도 사정은 비슷했습니다. Remote Compose 라는 프레임워크가 그 사각지대를 일단 비집고 들어왔어요..

Jetpack Compose 2026.05.00 BOM 살펴보기 — MeshGradient·customizable shadows·defaultFontFamily

defaultFontFamily, 다시 돌아왔어요Material3 1.5 라인에서 다시 등장한 한 줄짜리 API인데, M3 초기에 빠졌던 바로 그 자리예요. 저는 그동안 displayLarge, headlineMedium, bodySmall … 13개 TextStyle 마다 fontFamily = Pretendard 를 일일이 복사해 박고 있었습니다. 두 줄씩 들어가니까 폰트 한 번 바꾸려면 26줄을 들춰야 했어요. 이번에는 이렇게 한 줄이면 끝나요.val AppTypography = Typography(defaultFontFamily = Pretendard)MaterialTheme(typography = AppTypography) { /* ... */ } 이전엔 이렇게 13개 스타일을 copy 로 돌려..