Conversation
📲 You can test the changes from this Pull Request in WooCommerce-Wear Android by scanning the QR code below to install the corresponding build.
|
|
📲 You can test the changes from this Pull Request in WooCommerce Android by scanning the QR code below to install the corresponding build.
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## woomob-1854-woopos-card-reader-connection-ui #15281 +/- ##
==================================================================================
- Coverage 38.27% 38.26% -0.01%
- Complexity 10650 10655 +5
==================================================================================
Files 2207 2207
Lines 126923 126977 +54
Branches 17668 17681 +13
==================================================================================
+ Hits 48580 48593 +13
- Misses 73383 73423 +40
- Partials 4960 4961 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
I kind of like it to be honest. I think displaying something that is there all the time (%) is more likely to be missed. Users who will use the POS regularly will likely notice anything that is unusual -> so they'll imo notice the red battery. |
There was a problem hiding this comment.
Thanks @kidinov!
One thing I noticed is that battery low is emitted when battery is below 50% => if that's true, then disregard my previous comment. I expected it to be shown only rarely, when batter is below 20% or so and critical below 10% or so. Since it's shown below 50%, I think users will get use to it and will likely miss the critical batter warning. I'd suggest displaying the battery icon only for the critical warning => 20% should still last for roughly 150 card transactions.
| _state.value = _state.value.copy( | ||
| cardReaderStatus = mapCardReaderStatusToUiState(it) | ||
| ) | ||
| combine( |
There was a problem hiding this comment.
❓ I'm wondering if combine is the appropriate operator here. Battery status is dependent on reader status => battery is always unknown unless a reader is connected. Have you considered using flatMapLatest here? Something like:
cardReaderFacade.readerStatus.flatMapLatest { readerStatus ->
when (readerStatus) {
is Connected -> cardReaderFacade.batteryStatus.map {
WooPosCardReaderStatus.Connected(batteryState = mapBatteryState(it))
}
is NotConnected, Connecting -> flowOf(WooPosCardReaderStatus.NotConnected)
Reconnecting -> flowOf(WooPosCardReaderStatus.Reconnecting)
}
}
|
Version |
Generated by 🚫 Danger |
|
Version |
|
Version |
720dff2 to
0fd6b96
Compare
Add BatteryState enum with NOMINAL, LOW, and CRITICAL states. Update Connected status to include battery state information.
Combine readerStatus and batteryStatus flows to map battery state. Map CardReaderBatteryStatus to UI BatteryState: - CRITICAL/LOW battery status -> CRITICAL/LOW state - NOMINAL/UNKNOWN -> NOMINAL state - Warning event -> LOW state Add unit tests for all battery state mapping scenarios.
Add Material Design battery icons: - ic_woo_pos_battery_low: battery_alert icon for low battery - ic_woo_pos_battery_critical: battery_0_bar icon for critical battery Add accessibility strings for screen readers.
Display battery warning icon next to connection status dot when battery is LOW (orange) or CRITICAL (red). No icon shown for NOMINAL battery state. Add Compose previews for LOW and CRITICAL battery states.
Use proper Material Symbols paths with 960x960 viewport.
Position battery warning icon after "Reader connected" text. Increase icon size from 16dp to 20dp for better visibility.
99a7e29 to
99b6bf4
Compare
Project manifest changes for WooCommerceThe following changes in the --- ./build/reports/diff_manifest/WooCommerce/vanillaRelease/base_manifest.txt 2026-03-10 14:03:00.980157593 +0000
+++ ./build/reports/diff_manifest/WooCommerce/vanillaRelease/head_manifest.txt 2026-03-10 14:03:31.260307131 +0000
@@ -219,7 +219,7 @@
android:theme="@style/Theme.WooPos"
android:windowSoftInputMode="adjustResize" />
<activity
- android:name="com.woocommerce.android.ui.woopos.cardreader.WooPosCardReaderActivity"
+ android:name="com.woocommerce.android.ui.woopos.cardreader.WooPosCardReaderOnboardingActivity"
android:theme="@style/Theme.WooPos.Transparent"
android:windowSoftInputMode="adjustResize" />
<activity
@@ -405,6 +405,11 @@
android:authorities="com.woocommerce.android.stripetaptopay"
android:exported="false"
android:process=":stripetaptopay" />
+ <provider
+ android:name="com.stripe.cots.lpmuiplatform.PaymentMethodSpecsContentProvider"
+ android:authorities="com.woocommerce.android.lpmuiplatform.paymentmethodspecsprovider"
+ android:exported="false"
+ android:permission="com.stripe.updater.permission.PAYMENT_METHOD_SPECS_PROVIDER" />
<service
android:name="androidx.credentials.playservices.CredentialProviderMetadataHolder"Go to https://buildkite.com/automattic/woocommerce-android/builds/36421/canvas?sid=019cd807-3457-49c2-8e49-fd2c5d6e5a4a, click on the |
Project dependencies changeslist+ New Dependencies
androidx.gridlayout:gridlayout:1.1.0
com.stripe:stripeterminal-ktx:5.1.1
- Removed Dependencies
app.cash.sqldelight:android-driver:2.0.2
app.cash.sqldelight:runtime:2.0.2
app.cash.sqldelight:runtime-jvm:2.0.2
! Upgraded Dependencies
com.stripe:stripeterminal-core:5.1.1, (changed from 4.7.5)
com.stripe:stripeterminal-external:5.1.1, (changed from 4.7.5)
com.stripe:stripeterminal-internal-common:5.1.1, (changed from 4.7.5)
com.stripe:stripeterminal-taptopay:5.1.1, (changed from 4.7.5)tree \--- project :libs:cardreader
- +--- com.stripe:stripeterminal-core:4.7.5
- | +--- androidx.annotation:annotation:1.9.1 (*)
- | +--- com.stripe:stripeterminal-external:4.7.5
- | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.3.10 (*)
- | | +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 -> 2.3.10 (*)
- | | +--- androidx.annotation:annotation:1.9.1 (*)
- | | \--- com.squareup.moshi:moshi:1.15.2 (*)
- | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.3.10 (*)
- | +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 -> 2.3.10 (*)
- | \--- com.stripe:stripeterminal-internal-common:4.7.5
- | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.3.10 (*)
- | +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 -> 2.3.10 (*)
- | +--- androidx.annotation:annotation:1.9.1 (*)
- | +--- androidx.core:core-ktx:1.13.1 -> 1.17.0 (*)
- | +--- com.google.dagger:dagger:2.53 -> 2.58 (*)
- | +--- org.jetbrains.kotlin:kotlin-reflect:1.9.25
- | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.3.10 (*)
- | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1 -> 1.10.2 (*)
- | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1 -> 1.10.2 (*)
- | +--- org.jetbrains.kotlinx:kotlinx-coroutines-rx3:1.8.1 -> 1.10.2
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2 (*)
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.2 (*)
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.10.2
- | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2 (*)
- | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.2 (*)
- | | | +--- org.reactivestreams:reactive-streams:1.0.3 -> 1.0.4
- | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.3.10 (*)
- | | +--- io.reactivex.rxjava3:rxjava:3.0.2 -> 3.1.10
- | | | \--- org.reactivestreams:reactive-streams:1.0.4
- | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.3.10 (*)
- | +--- com.squareup.moshi:moshi:1.15.2 (*)
- | +--- com.squareup.moshi:moshi-adapters:1.15.2
- | | +--- com.squareup.moshi:moshi:1.15.2 (*)
- | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.9.24 (*)
- | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3 -> 1.7.3 (*)
- | +--- io.ktor:ktor-client-core:2.3.13
- | | \--- io.ktor:ktor-client-core-jvm:2.3.13
- | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2
- | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2 (*)
- | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.2 (*)
- | | +--- org.slf4j:slf4j-api:1.7.36
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | +--- io.ktor:ktor-http:2.3.13
- | | | \--- io.ktor:ktor-http-jvm:2.3.13
- | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
- | | | +--- org.slf4j:slf4j-api:1.7.36
- | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | | +--- io.ktor:ktor-utils:2.3.13
- | | | | \--- io.ktor:ktor-utils-jvm:2.3.13
- | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
- | | | | +--- org.slf4j:slf4j-api:1.7.36
- | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | | | +--- io.ktor:ktor-io:2.3.13
- | | | | | \--- io.ktor:ktor-io-jvm:2.3.13
- | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
- | | | | | +--- org.slf4j:slf4j-api:1.7.36
- | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | | +--- io.ktor:ktor-events:2.3.13
- | | | \--- io.ktor:ktor-events-jvm:2.3.13
- | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
- | | | +--- org.slf4j:slf4j-api:1.7.36
- | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | | +--- io.ktor:ktor-http:2.3.13 (*)
- | | | +--- io.ktor:ktor-utils:2.3.13 (*)
- | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | | +--- io.ktor:ktor-websocket-serialization:2.3.13
- | | | \--- io.ktor:ktor-websocket-serialization-jvm:2.3.13
- | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
- | | | +--- org.slf4j:slf4j-api:1.7.36
- | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | | +--- io.ktor:ktor-http:2.3.13 (*)
- | | | +--- io.ktor:ktor-serialization:2.3.13
- | | | | \--- io.ktor:ktor-serialization-jvm:2.3.13
- | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
- | | | | +--- org.slf4j:slf4j-api:1.7.36
- | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | | | +--- io.ktor:ktor-http:2.3.13 (*)
- | | | | +--- io.ktor:ktor-websockets:2.3.13
- | | | | | \--- io.ktor:ktor-websockets-jvm:2.3.13
- | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
- | | | | | +--- org.slf4j:slf4j-api:1.7.36
- | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | | | | +--- io.ktor:ktor-http:2.3.13 (*)
- | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.7.1 -> 1.10.2
- | | +--- org.slf4j:slf4j-api:1.7.32 -> 1.7.36
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2 (*)
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.2 (*)
- | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.3.10 (*)
- | +--- io.ktor:ktor-client-content-negotiation:2.3.13
- | | \--- io.ktor:ktor-client-content-negotiation-jvm:2.3.13
- | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
- | | +--- org.slf4j:slf4j-api:1.7.36
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | +--- io.ktor:ktor-client-core:2.3.13 (*)
- | | +--- io.ktor:ktor-serialization:2.3.13 (*)
- | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | +--- io.ktor:ktor-client-serialization:2.3.13
- | | \--- io.ktor:ktor-client-serialization-jvm:2.3.13
- | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
- | | +--- org.slf4j:slf4j-api:1.7.36
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | +--- io.ktor:ktor-client-core:2.3.13 (*)
- | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1 -> 1.7.3 (*)
- | | +--- io.ktor:ktor-client-json:2.3.13
- | | | \--- io.ktor:ktor-client-json-jvm:2.3.13
- | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
- | | | +--- org.slf4j:slf4j-api:1.7.36
- | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | | +--- io.ktor:ktor-client-core:2.3.13 (*)
- | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | +--- io.ktor:ktor-serialization-kotlinx-json:2.3.13
- | | \--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.13
- | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
- | | +--- org.slf4j:slf4j-api:1.7.36
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | +--- io.ktor:ktor-http:2.3.13 (*)
- | | +--- io.ktor:ktor-serialization-kotlinx:2.3.13
- | | | \--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.13
- | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
- | | | +--- org.slf4j:slf4j-api:1.7.36
- | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | | +--- io.ktor:ktor-http:2.3.13 (*)
- | | | +--- io.ktor:ktor-serialization:2.3.13 (*)
- | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.5.1 -> 1.7.3 (*)
- | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1 -> 1.7.3 (*)
- | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | +--- io.ktor:ktor-client-okhttp:2.3.13
- | | \--- io.ktor:ktor-client-okhttp-jvm:2.3.13
- | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
- | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
- | | +--- org.slf4j:slf4j-api:1.7.36
- | | +--- io.ktor:ktor-client-core:2.3.13 (*)
- | | +--- com.squareup.okhttp3:okhttp:4.12.0 -> 5.3.2 (*)
- | | +--- com.squareup.okio:okio:3.7.0 -> 3.16.4 (*)
- | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
- | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
- | +--- com.google.code.gson:gson:2.12.1 -> 2.13.2 (*)
- | +--- com.squareup.okhttp3:okhttp:4.12.0 -> 5.3.2 (*)
- | +--- com.squareup.okhttp3:okhttp-tls:4.12.0 -> 5.3.2 (*)
- | +--- com.squareup.tape2:tape:2.0.0-beta1
- | +--- app.cash.sqldelight:android-driver:2.0.2
- | | +--- androidx.sqlite:sqlite-framework:2.4.0 -> 2.6.2 (*)
- | | +--- app.cash.sqldelight:runtime:2.0.2
- | | | \--- app.cash.sqldelight:runtime-jvm:2.0.2
- | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.3.10 (*)
- | | +--- androidx.sqlite:sqlite:2.4.0 -> 2.6.2 (*)
- | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.3.10 (*)
- | +--- androidx.security:security-crypto:1.1.0-alpha03 -> 1.1.0 (*)
- | +--- androidx.lifecycle:lifecycle-process:2.8.7 -> 2.10.0 (*)
- | +--- androidx.room:room-runtime:2.6.1 -> 2.8.4 (*)
- | +--- androidx.room:room-ktx:2.6.1 -> 2.8.4 (*)
- | +--- com.scottyab:rootbeer-lib:0.1.1
- | +--- org.kamranzafar:jtar:2.3
- | +--- com.squareup.wire:wire-moshi-adapter:4.9.11
- | | +--- com.squareup.wire:wire-runtime:4.9.11
- | | | \--- com.squareup.wire:wire-runtime-jvm:4.9.11
- | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10 -> 1.9.24 (*)
- | | | +--- com.squareup.okio:okio:3.7.0 -> 3.16.4 (*)
- | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.10 -> 2.3.10 (*)
- | | +--- com.squareup.moshi:moshi:1.15.0 -> 1.15.2 (*)
- | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10 -> 1.9.24 (*)
- | +--- com.squareup.wire:wire-runtime:4.9.11 (*)
- | \--- com.stripe:stripeterminal-external:4.7.5 (*)
+ +--- com.stripe:stripeterminal-core:5.1.1
+ | +--- androidx.annotation:annotation:1.9.1 (*)
+ | +--- com.stripe:stripeterminal-external:5.1.1
+ | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.3.10 (*)
+ | | +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 -> 2.3.10 (*)
+ | | +--- androidx.annotation:annotation:1.9.1 (*)
+ | | \--- com.squareup.moshi:moshi:1.15.2 (*)
+ | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.3.10 (*)
+ | +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 -> 2.3.10 (*)
+ | \--- com.stripe:stripeterminal-internal-common:5.1.1
+ | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.3.10 (*)
+ | +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 -> 2.3.10 (*)
+ | +--- androidx.annotation:annotation:1.9.1 (*)
+ | +--- androidx.core:core-ktx:1.13.1 -> 1.17.0 (*)
+ | +--- com.google.dagger:dagger:2.53 -> 2.58 (*)
+ | +--- org.jetbrains.kotlin:kotlin-reflect:1.9.25
+ | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.3.10 (*)
+ | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1 -> 1.10.2 (*)
+ | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1 -> 1.10.2 (*)
+ | +--- org.jetbrains.kotlinx:kotlinx-coroutines-rx3:1.8.1 -> 1.10.2
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2 (*)
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.2 (*)
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.10.2
+ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2 (*)
+ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.2 (*)
+ | | | +--- org.reactivestreams:reactive-streams:1.0.3 -> 1.0.4
+ | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.3.10 (*)
+ | | +--- io.reactivex.rxjava3:rxjava:3.0.2 -> 3.1.10
+ | | | \--- org.reactivestreams:reactive-streams:1.0.4
+ | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.3.10 (*)
+ | +--- com.squareup.moshi:moshi:1.15.2 (*)
+ | +--- com.squareup.moshi:moshi-adapters:1.15.2
+ | | +--- com.squareup.moshi:moshi:1.15.2 (*)
+ | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.9.24 (*)
+ | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3 -> 1.7.3 (*)
+ | +--- io.ktor:ktor-client-core:2.3.13
+ | | \--- io.ktor:ktor-client-core-jvm:2.3.13
+ | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2
+ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2 (*)
+ | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.2 (*)
+ | | +--- org.slf4j:slf4j-api:1.7.36
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | +--- io.ktor:ktor-http:2.3.13
+ | | | \--- io.ktor:ktor-http-jvm:2.3.13
+ | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
+ | | | +--- org.slf4j:slf4j-api:1.7.36
+ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | | +--- io.ktor:ktor-utils:2.3.13
+ | | | | \--- io.ktor:ktor-utils-jvm:2.3.13
+ | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
+ | | | | +--- org.slf4j:slf4j-api:1.7.36
+ | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | | | +--- io.ktor:ktor-io:2.3.13
+ | | | | | \--- io.ktor:ktor-io-jvm:2.3.13
+ | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
+ | | | | | +--- org.slf4j:slf4j-api:1.7.36
+ | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | | +--- io.ktor:ktor-events:2.3.13
+ | | | \--- io.ktor:ktor-events-jvm:2.3.13
+ | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
+ | | | +--- org.slf4j:slf4j-api:1.7.36
+ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | | +--- io.ktor:ktor-http:2.3.13 (*)
+ | | | +--- io.ktor:ktor-utils:2.3.13 (*)
+ | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | | +--- io.ktor:ktor-websocket-serialization:2.3.13
+ | | | \--- io.ktor:ktor-websocket-serialization-jvm:2.3.13
+ | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
+ | | | +--- org.slf4j:slf4j-api:1.7.36
+ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | | +--- io.ktor:ktor-http:2.3.13 (*)
+ | | | +--- io.ktor:ktor-serialization:2.3.13
+ | | | | \--- io.ktor:ktor-serialization-jvm:2.3.13
+ | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
+ | | | | +--- org.slf4j:slf4j-api:1.7.36
+ | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | | | +--- io.ktor:ktor-http:2.3.13 (*)
+ | | | | +--- io.ktor:ktor-websockets:2.3.13
+ | | | | | \--- io.ktor:ktor-websockets-jvm:2.3.13
+ | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
+ | | | | | +--- org.slf4j:slf4j-api:1.7.36
+ | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | | | | +--- io.ktor:ktor-http:2.3.13 (*)
+ | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.7.1 -> 1.10.2
+ | | +--- org.slf4j:slf4j-api:1.7.32 -> 1.7.36
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2 (*)
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.2 (*)
+ | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.3.10 (*)
+ | +--- io.ktor:ktor-client-content-negotiation:2.3.13
+ | | \--- io.ktor:ktor-client-content-negotiation-jvm:2.3.13
+ | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
+ | | +--- org.slf4j:slf4j-api:1.7.36
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | +--- io.ktor:ktor-client-core:2.3.13 (*)
+ | | +--- io.ktor:ktor-serialization:2.3.13 (*)
+ | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | +--- io.ktor:ktor-client-serialization:2.3.13
+ | | \--- io.ktor:ktor-client-serialization-jvm:2.3.13
+ | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
+ | | +--- org.slf4j:slf4j-api:1.7.36
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | +--- io.ktor:ktor-client-core:2.3.13 (*)
+ | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1 -> 1.7.3 (*)
+ | | +--- io.ktor:ktor-client-json:2.3.13
+ | | | \--- io.ktor:ktor-client-json-jvm:2.3.13
+ | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
+ | | | +--- org.slf4j:slf4j-api:1.7.36
+ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | | +--- io.ktor:ktor-client-core:2.3.13 (*)
+ | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | +--- io.ktor:ktor-serialization-kotlinx-json:2.3.13
+ | | \--- io.ktor:ktor-serialization-kotlinx-json-jvm:2.3.13
+ | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
+ | | +--- org.slf4j:slf4j-api:1.7.36
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | +--- io.ktor:ktor-http:2.3.13 (*)
+ | | +--- io.ktor:ktor-serialization-kotlinx:2.3.13
+ | | | \--- io.ktor:ktor-serialization-kotlinx-jvm:2.3.13
+ | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
+ | | | +--- org.slf4j:slf4j-api:1.7.36
+ | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | | +--- io.ktor:ktor-http:2.3.13 (*)
+ | | | +--- io.ktor:ktor-serialization:2.3.13 (*)
+ | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.5.1 -> 1.7.3 (*)
+ | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1 -> 1.7.3 (*)
+ | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | +--- io.ktor:ktor-client-okhttp:2.3.13
+ | | \--- io.ktor:ktor-client-okhttp-jvm:2.3.13
+ | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22 -> 1.9.24 (*)
+ | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.24 (*)
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.1 -> 1.10.2 (*)
+ | | +--- org.slf4j:slf4j-api:1.7.36
+ | | +--- io.ktor:ktor-client-core:2.3.13 (*)
+ | | +--- com.squareup.okhttp3:okhttp:4.12.0 -> 5.3.2 (*)
+ | | +--- com.squareup.okio:okio:3.7.0 -> 3.16.4 (*)
+ | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+ | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.3.10 (*)
+ | +--- com.google.code.gson:gson:2.12.1 -> 2.13.2 (*)
+ | +--- com.squareup.okhttp3:okhttp:4.12.0 -> 5.3.2 (*)
+ | +--- com.squareup.okhttp3:okhttp-tls:4.12.0 -> 5.3.2 (*)
+ | +--- com.squareup.tape2:tape:2.0.0-beta1
+ | +--- androidx.security:security-crypto:1.1.0-alpha03 -> 1.1.0 (*)
+ | +--- androidx.lifecycle:lifecycle-process:2.8.7 -> 2.10.0 (*)
+ | +--- androidx.room:room-runtime:2.6.1 -> 2.8.4 (*)
+ | +--- androidx.room:room-ktx:2.6.1 -> 2.8.4 (*)
+ | +--- com.scottyab:rootbeer-lib:0.1.1
+ | +--- org.kamranzafar:jtar:2.3
+ | +--- com.squareup.wire:wire-moshi-adapter:4.9.11
+ | | +--- com.squareup.wire:wire-runtime:4.9.11
+ | | | \--- com.squareup.wire:wire-runtime-jvm:4.9.11
+ | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10 -> 1.9.24 (*)
+ | | | +--- com.squareup.okio:okio:3.7.0 -> 3.16.4 (*)
+ | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.10 -> 2.3.10 (*)
+ | | +--- com.squareup.moshi:moshi:1.15.0 -> 1.15.2 (*)
+ | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10 -> 1.9.24 (*)
+ | +--- com.squareup.wire:wire-runtime:4.9.11 (*)
+ | +--- com.stripe:stripeterminal-external:5.1.1 (*)
+ | +--- androidx.sqlite:sqlite:2.4.0 -> 2.6.2 (*)
+ | \--- androidx.sqlite:sqlite-framework:2.4.0 -> 2.6.2 (*)
+ +--- com.stripe:stripeterminal-ktx:5.1.1
+ | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.3.10 (*)
+ | +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 -> 2.3.10 (*)
+ | +--- androidx.annotation:annotation:1.9.1 (*)
+ | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1 -> 1.10.2 (*)
+ | \--- com.stripe:stripeterminal-core:5.1.1 (*)
- \--- com.stripe:stripeterminal-taptopay:4.7.5
- +--- androidx.databinding:viewbinding:8.8.2 -> 8.13.2 (*)
- +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.3.10 (*)
- +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 -> 2.3.10 (*)
- +--- androidx.annotation:annotation:1.9.1 (*)
- +--- androidx.constraintlayout:constraintlayout:2.1.4 -> 2.2.1 (*)
- +--- androidx.core:core-ktx:1.13.1 -> 1.17.0 (*)
- +--- androidx.fragment:fragment-ktx:1.8.7 -> 1.8.9 (*)
- +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 -> 2.10.0 (*)
- +--- androidx.lifecycle:lifecycle-process:2.8.7 -> 2.10.0 (*)
- +--- com.scottyab:rootbeer-lib:0.1.1
- +--- com.google.android.play:integrity:1.1.0
- | +--- com.google.android.gms:play-services-basement:18.1.0 -> 18.9.0 (*)
- | \--- com.google.android.gms:play-services-tasks:18.0.2 -> 18.2.0 (*)
- +--- com.google.android.material:material:1.12.0 -> 1.13.0 (*)
- +--- com.google.dagger:dagger:2.53 -> 2.58 (*)
- +--- com.google.code.gson:gson:2.12.1 -> 2.13.2 (*)
- +--- com.squareup.okhttp3:okhttp:4.12.0 -> 5.3.2 (*)
- +--- com.squareup.okhttp3:okhttp-tls:4.12.0 -> 5.3.2 (*)
- +--- io.reactivex.rxjava3:rxjava:3.1.10 (*)
- +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1 -> 1.10.2 (*)
- +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1 -> 1.10.2 (*)
- +--- com.squareup.wire:wire-moshi-adapter:4.9.11 (*)
- +--- com.stripe:stripeterminal-external:4.7.5 (*)
- +--- com.stripe:stripeterminal-internal-common:4.7.5 (*)
- +--- com.fasterxml.jackson.core:jackson-databind:2.16.1
- | +--- com.fasterxml.jackson.core:jackson-annotations:2.16.1
- | | \--- com.fasterxml.jackson:jackson-bom:2.16.1
- | | +--- com.fasterxml.jackson.core:jackson-annotations:2.16.1 (c)
- | | +--- com.fasterxml.jackson.core:jackson-core:2.16.1 (c)
- | | \--- com.fasterxml.jackson.core:jackson-databind:2.16.1 (c)
- | +--- com.fasterxml.jackson.core:jackson-core:2.16.1
- | | \--- com.fasterxml.jackson:jackson-bom:2.16.1 (*)
- | \--- com.fasterxml.jackson:jackson-bom:2.16.1 (*)
- \--- dev.zacsweers.redacted:redacted-compiler-plugin-annotations:1.8.1
- \--- dev.zacsweers.redacted:redacted-compiler-plugin-annotations-jvm:1.8.1
- \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.3.10 (*)
+ \--- com.stripe:stripeterminal-taptopay:5.1.1
+ +--- androidx.databinding:viewbinding:8.8.2 -> 8.13.2 (*)
+ +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.3.10 (*)
+ +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 -> 2.3.10 (*)
+ +--- androidx.annotation:annotation:1.9.1 (*)
+ +--- androidx.appcompat:appcompat:1.7.1 (*)
+ +--- androidx.constraintlayout:constraintlayout:2.2.1 (*)
+ +--- androidx.core:core-ktx:1.13.1 -> 1.17.0 (*)
+ +--- androidx.fragment:fragment-ktx:1.8.9 (*)
+ +--- androidx.gridlayout:gridlayout:1.1.0
+ | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
+ | +--- androidx.core:core:1.3.0 -> 1.17.0 (*)
+ | \--- org.jspecify:jspecify:1.0.0
+ +--- androidx.recyclerview:recyclerview:1.4.0 (*)
+ +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 -> 2.10.0 (*)
+ +--- androidx.lifecycle:lifecycle-process:2.8.7 -> 2.10.0 (*)
+ +--- com.scottyab:rootbeer-lib:0.1.1
+ +--- com.google.android.play:integrity:1.1.0
+ | +--- com.google.android.gms:play-services-basement:18.1.0 -> 18.9.0 (*)
+ | \--- com.google.android.gms:play-services-tasks:18.0.2 -> 18.2.0 (*)
+ +--- com.google.android.material:material:1.13.0 (*)
+ +--- com.google.dagger:dagger:2.53 -> 2.58 (*)
+ +--- com.google.code.gson:gson:2.12.1 -> 2.13.2 (*)
+ +--- com.squareup.okhttp3:okhttp:4.12.0 -> 5.3.2 (*)
+ +--- com.squareup.okhttp3:okhttp-tls:4.12.0 -> 5.3.2 (*)
+ +--- io.reactivex.rxjava3:rxjava:3.1.10 (*)
+ +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1 -> 1.10.2 (*)
+ +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1 -> 1.10.2 (*)
+ +--- com.squareup.wire:wire-moshi-adapter:4.9.11 (*)
+ +--- com.stripe:stripeterminal-external:5.1.1 (*)
+ +--- com.stripe:stripeterminal-internal-common:5.1.1 (*)
+ +--- com.fasterxml.jackson.core:jackson-databind:2.16.1
+ | +--- com.fasterxml.jackson.core:jackson-annotations:2.16.1
+ | | \--- com.fasterxml.jackson:jackson-bom:2.16.1
+ | | +--- com.fasterxml.jackson.core:jackson-annotations:2.16.1 (c)
+ | | +--- com.fasterxml.jackson.core:jackson-core:2.16.1 (c)
+ | | \--- com.fasterxml.jackson.core:jackson-databind:2.16.1 (c)
+ | +--- com.fasterxml.jackson.core:jackson-core:2.16.1
+ | | \--- com.fasterxml.jackson:jackson-bom:2.16.1 (*)
+ | \--- com.fasterxml.jackson:jackson-bom:2.16.1 (*)
+ \--- dev.zacsweers.redacted:redacted-compiler-plugin-annotations:1.8.1
+ \--- dev.zacsweers.redacted:redacted-compiler-plugin-annotations-jvm:1.8.1
+ \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.3.10 (*) |
Closes: WOOMOB-2093
Description
Display a battery warning icon in the floating toolbar when the connected card reader has low or critical battery. This provides a non-intrusive way to inform merchants that the reader needs charging without interrupting the payment flow.
BatteryStateenum (NOMINAL, LOW, CRITICAL) to toolbar statereaderStatusandbatteryStatusflows in ViewModel to map battery state@joshheald @malinajirka 👋
I’m not sure about this change. I appreciate that it’s not intrusive and the change is minor code-wise. Also, I don’t like showing Toast/Snack bars during the connection flow - that usually feels like an afterthought and especially doesn't look good on tablets. On the other hand, this icon can be missed. iOS doesn't have anything, from what I can tell regarding notifying about battery levels.
Maybe displaying the battery level in % or with icons all the time to make it more clear where to look?
What are your thoughts?
Test Steps
Images/gif
RELEASE-NOTES.txtif necessary. Use the "[Internal]" label for non-user-facing changes.