Skip to content

Commit e43095b

Browse files
Feat: [:core:QrCode] - Migrated to KMP (openMF#2751)
1 parent b4460f7 commit e43095b

File tree

28 files changed

+1059
-316
lines changed

28 files changed

+1059
-316
lines changed

androidApp/dependencies/demoDebugRuntimeClasspath.txt

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,9 @@ com.caverock:androidsvg-aar:1.4
147147
com.google.accompanist:accompanist-drawablepainter:0.36.0
148148
com.google.accompanist:accompanist-pager:0.34.0
149149
com.google.accompanist:accompanist-permissions:0.34.0
150+
com.google.android.datatransport:transport-api:2.2.1
151+
com.google.android.datatransport:transport-backend-cct:2.3.3
152+
com.google.android.datatransport:transport-runtime:2.2.6
150153
com.google.android.gms:play-services-ads-identifier:18.0.0
151154
com.google.android.gms:play-services-base:18.5.0
152155
com.google.android.gms:play-services-basement:18.4.0
@@ -157,34 +160,42 @@ com.google.android.gms:play-services-measurement-impl:22.1.2
157160
com.google.android.gms:play-services-measurement-sdk-api:22.1.2
158161
com.google.android.gms:play-services-measurement-sdk:22.1.2
159162
com.google.android.gms:play-services-measurement:22.1.2
163+
com.google.android.gms:play-services-mlkit-barcode-scanning:18.3.1
160164
com.google.android.gms:play-services-oss-licenses:17.1.0
161165
com.google.android.gms:play-services-stats:17.0.2
162166
com.google.android.gms:play-services-tasks:18.2.0
167+
com.google.android.odml:image:1.0.0-beta1
163168
com.google.auto.value:auto-value-annotations:1.6.3
164169
com.google.code.findbugs:jsr305:3.0.2
165170
com.google.code.gson:gson:2.10.1
166171
com.google.dagger:dagger-lint-aar:2.54
167172
com.google.dagger:dagger:2.54
168173
com.google.dagger:hilt-android:2.54
169174
com.google.dagger:hilt-core:2.54
170-
com.google.errorprone:error_prone_annotations:2.26.0
175+
com.google.errorprone:error_prone_annotations:2.28.0
171176
com.google.firebase:firebase-analytics-ktx:22.1.2
172177
com.google.firebase:firebase-analytics:22.1.2
173178
com.google.firebase:firebase-annotations:16.2.0
174179
com.google.firebase:firebase-bom:33.7.0
175180
com.google.firebase:firebase-common-ktx:21.0.0
176181
com.google.firebase:firebase-common:21.0.0
177182
com.google.firebase:firebase-components:18.0.0
183+
com.google.firebase:firebase-encoders-json:17.1.0
184+
com.google.firebase:firebase-encoders:17.0.0
178185
com.google.firebase:firebase-installations-interop:17.1.1
179186
com.google.firebase:firebase-installations:18.0.0
180187
com.google.firebase:firebase-measurement-connector:19.0.0
181-
com.google.guava:failureaccess:1.0.1
182-
com.google.guava:guava:31.1-android
188+
com.google.guava:failureaccess:1.0.2
189+
com.google.guava:guava:33.3.1-android
183190
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
184-
com.google.j2objc:j2objc-annotations:1.3
191+
com.google.j2objc:j2objc-annotations:3.0.0
185192
com.google.maps.android:maps-compose:4.4.1
186193
com.google.maps.android:maps-ktx:5.0.0
187-
com.google.zxing:core:3.5.3
194+
com.google.mlkit:barcode-scanning-common:17.0.0
195+
com.google.mlkit:barcode-scanning:17.3.0
196+
com.google.mlkit:common:18.11.0
197+
com.google.mlkit:vision-common:17.3.0
198+
com.google.mlkit:vision-interfaces:16.3.0
188199
com.russhwolf:multiplatform-settings-android-debug:1.2.0
189200
com.russhwolf:multiplatform-settings-coroutines-android-debug:1.2.0
190201
com.russhwolf:multiplatform-settings-coroutines:1.2.0
@@ -221,6 +232,10 @@ io.coil-kt.coil3:coil-svg-android:3.0.4
221232
io.coil-kt.coil3:coil-svg:3.0.4
222233
io.coil-kt.coil3:coil:3.0.4
223234
io.github.mr0xf00:easycrop:0.1.1
235+
io.github.vinceglb:filekit-compose-android:0.8.7
236+
io.github.vinceglb:filekit-compose:0.8.7
237+
io.github.vinceglb:filekit-core-android:0.8.7
238+
io.github.vinceglb:filekit-core:0.8.7
224239
io.insert-koin:koin-android:4.0.1-RC1
225240
io.insert-koin:koin-androidx-compose:4.0.1-RC1
226241
io.insert-koin:koin-annotations-jvm:1.4.0-RC4
@@ -271,7 +286,7 @@ io.ktor:ktor-websockets:3.0.3
271286
io.michaelrocks:libphonenumber-android:8.13.35
272287
jakarta.inject:jakarta.inject-api:2.0.1
273288
javax.inject:javax.inject:1
274-
org.checkerframework:checker-qual:3.12.0
289+
org.checkerframework:checker-qual:3.43.0
275290
org.jetbrains.androidx.core:core-bundle-android-debug:1.0.1
276291
org.jetbrains.androidx.core:core-bundle:1.0.1
277292
org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3

androidApp/dependencies/demoReleaseRuntimeClasspath.txt

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ com.caverock:androidsvg-aar:1.4
142142
com.google.accompanist:accompanist-drawablepainter:0.36.0
143143
com.google.accompanist:accompanist-pager:0.34.0
144144
com.google.accompanist:accompanist-permissions:0.34.0
145+
com.google.android.datatransport:transport-api:2.2.1
146+
com.google.android.datatransport:transport-backend-cct:2.3.3
147+
com.google.android.datatransport:transport-runtime:2.2.6
145148
com.google.android.gms:play-services-ads-identifier:18.0.0
146149
com.google.android.gms:play-services-base:18.5.0
147150
com.google.android.gms:play-services-basement:18.4.0
@@ -152,34 +155,42 @@ com.google.android.gms:play-services-measurement-impl:22.1.2
152155
com.google.android.gms:play-services-measurement-sdk-api:22.1.2
153156
com.google.android.gms:play-services-measurement-sdk:22.1.2
154157
com.google.android.gms:play-services-measurement:22.1.2
158+
com.google.android.gms:play-services-mlkit-barcode-scanning:18.3.1
155159
com.google.android.gms:play-services-oss-licenses:17.1.0
156160
com.google.android.gms:play-services-stats:17.0.2
157161
com.google.android.gms:play-services-tasks:18.2.0
162+
com.google.android.odml:image:1.0.0-beta1
158163
com.google.auto.value:auto-value-annotations:1.6.3
159164
com.google.code.findbugs:jsr305:3.0.2
160165
com.google.code.gson:gson:2.10.1
161166
com.google.dagger:dagger-lint-aar:2.54
162167
com.google.dagger:dagger:2.54
163168
com.google.dagger:hilt-android:2.54
164169
com.google.dagger:hilt-core:2.54
165-
com.google.errorprone:error_prone_annotations:2.26.0
170+
com.google.errorprone:error_prone_annotations:2.28.0
166171
com.google.firebase:firebase-analytics-ktx:22.1.2
167172
com.google.firebase:firebase-analytics:22.1.2
168173
com.google.firebase:firebase-annotations:16.2.0
169174
com.google.firebase:firebase-bom:33.7.0
170175
com.google.firebase:firebase-common-ktx:21.0.0
171176
com.google.firebase:firebase-common:21.0.0
172177
com.google.firebase:firebase-components:18.0.0
178+
com.google.firebase:firebase-encoders-json:17.1.0
179+
com.google.firebase:firebase-encoders:17.0.0
173180
com.google.firebase:firebase-installations-interop:17.1.1
174181
com.google.firebase:firebase-installations:18.0.0
175182
com.google.firebase:firebase-measurement-connector:19.0.0
176-
com.google.guava:failureaccess:1.0.1
177-
com.google.guava:guava:31.1-android
183+
com.google.guava:failureaccess:1.0.2
184+
com.google.guava:guava:33.3.1-android
178185
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
179-
com.google.j2objc:j2objc-annotations:1.3
186+
com.google.j2objc:j2objc-annotations:3.0.0
180187
com.google.maps.android:maps-compose:4.4.1
181188
com.google.maps.android:maps-ktx:5.0.0
182-
com.google.zxing:core:3.5.3
189+
com.google.mlkit:barcode-scanning-common:17.0.0
190+
com.google.mlkit:barcode-scanning:17.3.0
191+
com.google.mlkit:common:18.11.0
192+
com.google.mlkit:vision-common:17.3.0
193+
com.google.mlkit:vision-interfaces:16.3.0
183194
com.russhwolf:multiplatform-settings-android:1.2.0
184195
com.russhwolf:multiplatform-settings-coroutines-android:1.2.0
185196
com.russhwolf:multiplatform-settings-coroutines:1.2.0
@@ -216,6 +227,10 @@ io.coil-kt.coil3:coil-svg-android:3.0.4
216227
io.coil-kt.coil3:coil-svg:3.0.4
217228
io.coil-kt.coil3:coil:3.0.4
218229
io.github.mr0xf00:easycrop:0.1.1
230+
io.github.vinceglb:filekit-compose-android:0.8.7
231+
io.github.vinceglb:filekit-compose:0.8.7
232+
io.github.vinceglb:filekit-core-android:0.8.7
233+
io.github.vinceglb:filekit-core:0.8.7
219234
io.insert-koin:koin-android:4.0.1-RC1
220235
io.insert-koin:koin-androidx-compose:4.0.1-RC1
221236
io.insert-koin:koin-annotations-jvm:1.4.0-RC4
@@ -266,7 +281,7 @@ io.ktor:ktor-websockets:3.0.3
266281
io.michaelrocks:libphonenumber-android:8.13.35
267282
jakarta.inject:jakarta.inject-api:2.0.1
268283
javax.inject:javax.inject:1
269-
org.checkerframework:checker-qual:3.12.0
284+
org.checkerframework:checker-qual:3.43.0
270285
org.jetbrains.androidx.core:core-bundle-android:1.0.1
271286
org.jetbrains.androidx.core:core-bundle:1.0.1
272287
org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3

androidApp/dependencies/prodDebugRuntimeClasspath.txt

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,9 @@ com.caverock:androidsvg-aar:1.4
147147
com.google.accompanist:accompanist-drawablepainter:0.36.0
148148
com.google.accompanist:accompanist-pager:0.34.0
149149
com.google.accompanist:accompanist-permissions:0.34.0
150+
com.google.android.datatransport:transport-api:2.2.1
151+
com.google.android.datatransport:transport-backend-cct:2.3.3
152+
com.google.android.datatransport:transport-runtime:2.2.6
150153
com.google.android.gms:play-services-ads-identifier:18.0.0
151154
com.google.android.gms:play-services-base:18.5.0
152155
com.google.android.gms:play-services-basement:18.4.0
@@ -157,34 +160,42 @@ com.google.android.gms:play-services-measurement-impl:22.1.2
157160
com.google.android.gms:play-services-measurement-sdk-api:22.1.2
158161
com.google.android.gms:play-services-measurement-sdk:22.1.2
159162
com.google.android.gms:play-services-measurement:22.1.2
163+
com.google.android.gms:play-services-mlkit-barcode-scanning:18.3.1
160164
com.google.android.gms:play-services-oss-licenses:17.1.0
161165
com.google.android.gms:play-services-stats:17.0.2
162166
com.google.android.gms:play-services-tasks:18.2.0
167+
com.google.android.odml:image:1.0.0-beta1
163168
com.google.auto.value:auto-value-annotations:1.6.3
164169
com.google.code.findbugs:jsr305:3.0.2
165170
com.google.code.gson:gson:2.10.1
166171
com.google.dagger:dagger-lint-aar:2.54
167172
com.google.dagger:dagger:2.54
168173
com.google.dagger:hilt-android:2.54
169174
com.google.dagger:hilt-core:2.54
170-
com.google.errorprone:error_prone_annotations:2.26.0
175+
com.google.errorprone:error_prone_annotations:2.28.0
171176
com.google.firebase:firebase-analytics-ktx:22.1.2
172177
com.google.firebase:firebase-analytics:22.1.2
173178
com.google.firebase:firebase-annotations:16.2.0
174179
com.google.firebase:firebase-bom:33.7.0
175180
com.google.firebase:firebase-common-ktx:21.0.0
176181
com.google.firebase:firebase-common:21.0.0
177182
com.google.firebase:firebase-components:18.0.0
183+
com.google.firebase:firebase-encoders-json:17.1.0
184+
com.google.firebase:firebase-encoders:17.0.0
178185
com.google.firebase:firebase-installations-interop:17.1.1
179186
com.google.firebase:firebase-installations:18.0.0
180187
com.google.firebase:firebase-measurement-connector:19.0.0
181-
com.google.guava:failureaccess:1.0.1
182-
com.google.guava:guava:31.1-android
188+
com.google.guava:failureaccess:1.0.2
189+
com.google.guava:guava:33.3.1-android
183190
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
184-
com.google.j2objc:j2objc-annotations:1.3
191+
com.google.j2objc:j2objc-annotations:3.0.0
185192
com.google.maps.android:maps-compose:4.4.1
186193
com.google.maps.android:maps-ktx:5.0.0
187-
com.google.zxing:core:3.5.3
194+
com.google.mlkit:barcode-scanning-common:17.0.0
195+
com.google.mlkit:barcode-scanning:17.3.0
196+
com.google.mlkit:common:18.11.0
197+
com.google.mlkit:vision-common:17.3.0
198+
com.google.mlkit:vision-interfaces:16.3.0
188199
com.russhwolf:multiplatform-settings-android-debug:1.2.0
189200
com.russhwolf:multiplatform-settings-coroutines-android-debug:1.2.0
190201
com.russhwolf:multiplatform-settings-coroutines:1.2.0
@@ -221,6 +232,10 @@ io.coil-kt.coil3:coil-svg-android:3.0.4
221232
io.coil-kt.coil3:coil-svg:3.0.4
222233
io.coil-kt.coil3:coil:3.0.4
223234
io.github.mr0xf00:easycrop:0.1.1
235+
io.github.vinceglb:filekit-compose-android:0.8.7
236+
io.github.vinceglb:filekit-compose:0.8.7
237+
io.github.vinceglb:filekit-core-android:0.8.7
238+
io.github.vinceglb:filekit-core:0.8.7
224239
io.insert-koin:koin-android:4.0.1-RC1
225240
io.insert-koin:koin-androidx-compose:4.0.1-RC1
226241
io.insert-koin:koin-annotations-jvm:1.4.0-RC4
@@ -271,7 +286,7 @@ io.ktor:ktor-websockets:3.0.3
271286
io.michaelrocks:libphonenumber-android:8.13.35
272287
jakarta.inject:jakarta.inject-api:2.0.1
273288
javax.inject:javax.inject:1
274-
org.checkerframework:checker-qual:3.12.0
289+
org.checkerframework:checker-qual:3.43.0
275290
org.jetbrains.androidx.core:core-bundle-android-debug:1.0.1
276291
org.jetbrains.androidx.core:core-bundle:1.0.1
277292
org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3

androidApp/dependencies/prodReleaseRuntimeClasspath.txt

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ com.caverock:androidsvg-aar:1.4
142142
com.google.accompanist:accompanist-drawablepainter:0.36.0
143143
com.google.accompanist:accompanist-pager:0.34.0
144144
com.google.accompanist:accompanist-permissions:0.34.0
145+
com.google.android.datatransport:transport-api:2.2.1
146+
com.google.android.datatransport:transport-backend-cct:2.3.3
147+
com.google.android.datatransport:transport-runtime:2.2.6
145148
com.google.android.gms:play-services-ads-identifier:18.0.0
146149
com.google.android.gms:play-services-base:18.5.0
147150
com.google.android.gms:play-services-basement:18.4.0
@@ -152,34 +155,42 @@ com.google.android.gms:play-services-measurement-impl:22.1.2
152155
com.google.android.gms:play-services-measurement-sdk-api:22.1.2
153156
com.google.android.gms:play-services-measurement-sdk:22.1.2
154157
com.google.android.gms:play-services-measurement:22.1.2
158+
com.google.android.gms:play-services-mlkit-barcode-scanning:18.3.1
155159
com.google.android.gms:play-services-oss-licenses:17.1.0
156160
com.google.android.gms:play-services-stats:17.0.2
157161
com.google.android.gms:play-services-tasks:18.2.0
162+
com.google.android.odml:image:1.0.0-beta1
158163
com.google.auto.value:auto-value-annotations:1.6.3
159164
com.google.code.findbugs:jsr305:3.0.2
160165
com.google.code.gson:gson:2.10.1
161166
com.google.dagger:dagger-lint-aar:2.54
162167
com.google.dagger:dagger:2.54
163168
com.google.dagger:hilt-android:2.54
164169
com.google.dagger:hilt-core:2.54
165-
com.google.errorprone:error_prone_annotations:2.26.0
170+
com.google.errorprone:error_prone_annotations:2.28.0
166171
com.google.firebase:firebase-analytics-ktx:22.1.2
167172
com.google.firebase:firebase-analytics:22.1.2
168173
com.google.firebase:firebase-annotations:16.2.0
169174
com.google.firebase:firebase-bom:33.7.0
170175
com.google.firebase:firebase-common-ktx:21.0.0
171176
com.google.firebase:firebase-common:21.0.0
172177
com.google.firebase:firebase-components:18.0.0
178+
com.google.firebase:firebase-encoders-json:17.1.0
179+
com.google.firebase:firebase-encoders:17.0.0
173180
com.google.firebase:firebase-installations-interop:17.1.1
174181
com.google.firebase:firebase-installations:18.0.0
175182
com.google.firebase:firebase-measurement-connector:19.0.0
176-
com.google.guava:failureaccess:1.0.1
177-
com.google.guava:guava:31.1-android
183+
com.google.guava:failureaccess:1.0.2
184+
com.google.guava:guava:33.3.1-android
178185
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
179-
com.google.j2objc:j2objc-annotations:1.3
186+
com.google.j2objc:j2objc-annotations:3.0.0
180187
com.google.maps.android:maps-compose:4.4.1
181188
com.google.maps.android:maps-ktx:5.0.0
182-
com.google.zxing:core:3.5.3
189+
com.google.mlkit:barcode-scanning-common:17.0.0
190+
com.google.mlkit:barcode-scanning:17.3.0
191+
com.google.mlkit:common:18.11.0
192+
com.google.mlkit:vision-common:17.3.0
193+
com.google.mlkit:vision-interfaces:16.3.0
183194
com.russhwolf:multiplatform-settings-android:1.2.0
184195
com.russhwolf:multiplatform-settings-coroutines-android:1.2.0
185196
com.russhwolf:multiplatform-settings-coroutines:1.2.0
@@ -216,6 +227,10 @@ io.coil-kt.coil3:coil-svg-android:3.0.4
216227
io.coil-kt.coil3:coil-svg:3.0.4
217228
io.coil-kt.coil3:coil:3.0.4
218229
io.github.mr0xf00:easycrop:0.1.1
230+
io.github.vinceglb:filekit-compose-android:0.8.7
231+
io.github.vinceglb:filekit-compose:0.8.7
232+
io.github.vinceglb:filekit-core-android:0.8.7
233+
io.github.vinceglb:filekit-core:0.8.7
219234
io.insert-koin:koin-android:4.0.1-RC1
220235
io.insert-koin:koin-androidx-compose:4.0.1-RC1
221236
io.insert-koin:koin-annotations-jvm:1.4.0-RC4
@@ -266,7 +281,7 @@ io.ktor:ktor-websockets:3.0.3
266281
io.michaelrocks:libphonenumber-android:8.13.35
267282
jakarta.inject:jakarta.inject-api:2.0.1
268283
javax.inject:javax.inject:1
269-
org.checkerframework:checker-qual:3.12.0
284+
org.checkerframework:checker-qual:3.43.0
270285
org.jetbrains.androidx.core:core-bundle-android:1.0.1
271286
org.jetbrains.androidx.core:core-bundle:1.0.1
272287
org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3

core/qrcode/build.gradle.kts

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,45 @@
99
*/
1010

1111
plugins {
12-
alias(libs.plugins.mifos.android.library)
13-
alias(libs.plugins.mifos.android.library.compose)
12+
alias(libs.plugins.mifos.kmp.library)
13+
alias(libs.plugins.jetbrainsCompose)
14+
alias(libs.plugins.compose.compiler)
1415
}
1516

1617
android {
1718
namespace = "org.mifos.mobile.core.qrcode"
19+
defaultConfig {
20+
consumerProguardFiles("consumer-rules.pro")
21+
}
1822
}
1923

20-
dependencies {
21-
implementation(projects.core.model)
22-
implementation(libs.androidx.compose.ui)
24+
kotlin {
25+
sourceSets {
26+
commonMain.dependencies {
27+
commonMain.dependencies {
28+
implementation(compose.ui)
29+
implementation(compose.foundation)
30+
implementation(compose.material3)
31+
implementation(compose.components.resources)
32+
implementation(compose.components.uiToolingPreview)
33+
implementation(libs.coil.kt.compose)
34+
implementation(libs.filekit.core)
35+
implementation(libs.filekit.compose)
36+
api(libs.kermit.logging)
37+
}
2338

24-
api(libs.zxing.core)
25-
api(libs.squareup.retrofit.converter.gson)
39+
androidMain.dependencies {
40+
implementation(libs.androidx.camera.view)
41+
implementation(libs.androidx.camera.camera2)
42+
implementation(libs.androidx.camera.lifecycle)
43+
implementation(libs.accompanist.permissions)
44+
implementation(libs.mlkit.barcode.scanning)
45+
implementation(libs.guava)
46+
}
2647

27-
// cameraX
28-
implementation(libs.androidx.camera.camera2)
29-
implementation(libs.androidx.camera.lifecycle)
30-
implementation(libs.androidx.camera.view)
31-
implementation(libs.androidx.camera.core)
48+
nativeMain.dependencies {
49+
implementation(libs.moko.permission.compose)
50+
}
51+
}
52+
}
3253
}

0 commit comments

Comments
 (0)