Commit 8917ec1
authored
* [Chore#7] `:core:coroutine` 모듈 추가
- `settings.gradle.kts`에 신규 모듈인 `:core:coroutine`을 추가하였습니다.
* [Feat#7] `core:coroutine` 모듈 추가 및 Hilt 디스패처 설정
- `core:coroutine` 모듈을 신규 생성하고 기본 빌드 설정(`build.gradle.kts`) 및 `.gitignore`를 추가하였습니다.
- `kindl.android.library` 및 `kindl.hilt` 컨벤션 플러그인을 적용하고 네임스페이스를 `core.coroutine`으로 설정하였습니다.
- 코루틴 디스패처 의존성 주입을 위한 `@IoDispatcher` 한정자(Qualifier)를 정의하였습니다.
- `DispatcherModule`을 추가하여 `Dispatchers.IO`를 `SingletonComponent` 내에서 제공하도록 구현하였습니다.
* [Refactor#7] `ForbiddenAppRepository` 내 비동기 처리 적용 및 `IoDispatcher` 주입
- `ForbiddenAppRepository` 인터페이스와 `GetInstalledAppsUseCase`의 호출 방식을 `suspend` 함수로 변경하였습니다.
- `ForbiddenAppRepositoryImpl`에서 `PackageManager`를 통한 앱 목록 조회 시 `IoDispatcher`를 사용하여 I/O 스레드에서 동작하도록 개선하였습니다.
- `data:forbidden` 모듈의 의존성에 `core:coroutine` 프로젝트를 추가하였습니다.
- `ForbiddenAppRepositoryImpl` 생성자에 Hilt의 `@IoDispatcher`를 통한 `CoroutineDispatcher` 주입 로직을 추가하였습니다.
* [Feat#7] core:designsystem 테마 고도화 및 커스텀 디자인 시스템 구축
- `core:designsystem` 모듈의 컬러 시스템을 대폭 확장하였습니다.
- Slate(기본), Coral(포인트), Blue/Teal/Amber(보조) 등 상세 팔레트를 정의하였습니다.
- `KindlColors` 데이터 클래스를 통해 Surface, Interactive, State, Form, Chart 등 역할 기반 컬러 시스템을 구축하였습니다.
- 라이트 및 다크 테마별 색상 값을 구체적으로 설정하고 `staticCompositionLocalOf`를 통해 접근 가능하도록 구현하였습니다.
- 커스텀 타이포그래피 시스템을 구축하였습니다.
- `Pretendard` 폰트 패밀리를 적용하고 Regular, SemiBold, Bold 등 웨이트별 토큰(Body, Title, Headline)을 정의하였습니다.
- `PlatformTextStyle(includeFontPadding = false)`를 적용하여 폰트 상하단 패딩 문제를 해결하였습니다.
- `KindlTheme` 설정을 업데이트하였습니다.
- `MaterialTheme`와 연동되는 `KindlDarkColorScheme` 및 `KindlLightColorScheme`을 정의하였습니다.
- `ProvideKindlColorsAndTypography`를 통해 커스텀 컬러 및 타이포그래피를 `CompositionLocal`로 제공하도록 개선하였습니다.
- `KindlTheme` 싱글톤 객체를 추가하여 컴포저블 내에서 `KindlTheme.colors`와 같이 스타일 참조가 용이하도록 변경하였습니다.
- `UrlImage` 컴포넌트의 `url` 매개변수 타입을 `Any?`에서 `String?`으로 타입을 구체화하였습니다.
* [Refactor#7] 접근성 권한 설정 수정 및 ForbiddenAppItem UI 컴포넌트 개선
- `PermissionType`에서 `ACCESSIBILITY` 권한의 필수 여부(`isFocusRequired`)를 `true`에서 `false`로 변경하였습니다.
- `ForbiddenAppItem` 컴포넌트의 이미지 로딩 방식을 `UrlImage`에서 `Image` 및 `Bitmap` 변환 방식으로 변경하고 `ContentScale.Crop`을 적용하였습니다.
- `ForbiddenAppItem` 내 앱 명칭(`appName`)의 텍스트 스타일과 색상을 `KindlTheme` 가이드라인에 맞춰 업데이트하였습니다.
- `HomeViewModel`에 `Timber` 로그 라이브러리 import를 추가하였습니다.
* [Chore#7] CodeRabbit 설정 파일 추가
- CodeRabbit 자동 리뷰 설정을 위한 `.coderabbit.yaml` 파일을 신규 생성하였습니다.
- 리뷰 언어를 한국어(`ko-KR`)로 설정하고, `develop` 및 `main` 브랜치에 대해 자동 리뷰가 동작하도록 구성하였습니다.
- 빌드 산출물, `.gradle`, 생성된 코드 및 이미지 파일 등을 리뷰 대상에서 제외하도록 경로 필터(`path_filters`)를 설정하였습니다.
- Kotlin 소스 코드(`.kt`)에 대해 Compose 모범 사례, Hilt 의존성 주입, 코루틴 사용 및 네이밍 컨벤션 등의 구체적인 리뷰 지침을 정의하였습니다.
- Gradle 설정 파일(`build.gradle.kts`)에 대해 `libs.versions.toml` 활용 및 의존성 적절성 확인 지침을 추가하였습니다.
* [Refactor#7] 홈 화면 앱 리스트 아이콘 렌더링 최적화 및 코드 정리
- `ForbiddenAppItem` 컴포넌트에서 `Drawable`을 `ImageBitmap`으로 변환하는 로직에 `remember`를 적용하여 리컴포지션 시 불필요한 연산을 방지하도록 최적화하였습니다.
- `ForbiddenAppItem.kt` 내 사용하지 않는 `UrlImage` 임포트 구문을 제거하였습니다.
- `KindlFont` 설정 파일에서 폰트 리소스 관련 `TODO` 주석을 삭제하였습니다.
1 parent 3572e9b commit 8917ec1
20 files changed
Lines changed: 584 additions & 88 deletions
File tree
- .idea
- inspectionProfiles
- core
- coroutine
- src/main/java/com/kindl/coroutine
- di
- qualifier
- designsystem/src/main/java/com/kindl/core/designsystem
- component
- theme
- permission/src/main/kotlin/com/kindl/core/permission
- data/forbidden
- src/main/java/com/kindl/data/forbidden/repositoryimpl
- domain/forbidden/src/main/java/com/kindl/domain/forbidden
- repository
- usecase
- presentation/home/src/main/java/com/kindl/presentation/home
- component
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
Lines changed: 18 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
Lines changed: 205 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
3 | 5 | | |
4 | 6 | | |
5 | | - | |
6 | | - | |
7 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
8 | 18 | | |
9 | | - | |
10 | | - | |
11 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
0 commit comments