Skip to content

Conversation

@kidinov
Copy link
Contributor

@kidinov kidinov commented Oct 7, 2025

Description

Part of the exception catcher duty

Removed unused dependencies from all modules and updated dependency scopes to improve build performance and reduce APK size. Changes include:

  • Removed 5 unused dependencies from WooCommerce module
  • Removed unused dependencies from WooCommerce-Wear and library modules
  • Changed several dependencies to runtimeOnly scope where appropriate
  • Changed androidx.hilt.common to compileOnly scope
  • Updated kotlin.test.junit to testImplementation for proper test compilation

@hichamboushaba @irfano could any of you validate that the Wear app is not affected in runtime, please?

Steps to reproduce

  1. Build the app: ./gradlew assembleVanillaDebug
  2. Build Wear app: ./gradlew :WooCommerce-Wear:assembleVanillaDebug
  3. Run unit tests: ./gradlew testJalapenoDebug
  4. Install and test card reader/Stripe Terminal functionality
  5. Smoke test the app
  6. Smoke test the wear app

Testing information

  • All modules compile successfully
  • Unit tests pass for all modules

The tests that have been performed

  • Compiled debug builds for main app and Wear app
  • Run full unit test suite
  • Verified no missing classes at compile time

Images/gif

N/A - Build configuration changes only

  • I have considered if this change warrants release notes and have added them to RELEASE-NOTES.txt if necessary. Use the "[Internal]" label for non-user-facing changes.

@kidinov kidinov added this to the 23.5 milestone Oct 7, 2025
@wpmobilebot
Copy link
Collaborator

wpmobilebot commented Oct 7, 2025

Project manifest changes for WooCommerce-Wear

The following changes in the WooCommerce-Wear's merged AndroidManifest.xml file were detected (build variant: vanillaRelease):

--- ./build/reports/diff_manifest/WooCommerce-Wear/vanillaRelease/base_manifest.txt	2025-10-09 13:39:14.531885783 +0000
+++ ./build/reports/diff_manifest/WooCommerce-Wear/vanillaRelease/head_manifest.txt	2025-10-09 13:39:25.921910734 +0000
@@ -14,14 +14,6 @@
     <uses-permission android:name="android.permission.WAKE_LOCK" />
     <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-    <uses-permission android:name="android.permission.BLUETOOTH" />
-
-    <queries>
-        <intent>
-            <action android:name="androidx.wear.tiles.action.BIND_UPDATE_REQUESTER" />
-        </intent>
-    </queries>
-
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
 
@@ -206,10 +198,10 @@
                 android:name="androidx.lifecycle.ProcessLifecycleInitializer"
                 android:value="androidx.startup" />
             <meta-data
-                android:name="androidx.profileinstaller.ProfileInstallerInitializer"
+                android:name="okhttp3.internal.platform.PlatformInitializer"
                 android:value="androidx.startup" />
             <meta-data
-                android:name="okhttp3.internal.platform.PlatformInitializer"
+                android:name="androidx.profileinstaller.ProfileInstallerInitializer"
                 android:value="androidx.startup" />
         </provider>
 
@@ -308,12 +300,7 @@
         <activity
             android:name="com.google.android.gms.common.api.GoogleApiActivity"
             android:exported="false"
-            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
-
-        <service
-            android:name="androidx.room.MultiInstanceInvalidationService"
-            android:directBootAware="true"
-            android:exported="false" /> <!-- 'android:authorities' must be unique in the device, across all apps -->
+            android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <!-- 'android:authorities' must be unique in the device, across all apps -->
         <provider
             android:name="io.sentry.android.core.SentryInitProvider"
             android:authorities="com.woocommerce.android.SentryInitProvider"
@@ -335,6 +322,11 @@
             android:name="androidx.window.sidecar"
             android:required="false" />
 
+        <service
+            android:name="androidx.room.MultiInstanceInvalidationService"
+            android:directBootAware="true"
+            android:exported="false" />
+
         <receiver
             android:name="androidx.profileinstaller.ProfileInstallReceiver"
             android:directBootAware="false"

Go to https://buildkite.com/automattic/woocommerce-android/builds/32648/canvas?sid=0199c92d-79b3-420a-a670-927c79061670, click on the Artifacts tab and audit the files.

@wpmobilebot
Copy link
Collaborator

Project dependencies changes

list
- Removed Dependencies
com.github.bumptech.glide:avif-integration:5.0.4
org.aomedia.avif.android:avif:1.1.1.14d8e3c4
tree
 +--- project :libs:fluxc
-|    +--- androidx.security:security-crypto:1.1.0
-|    |    \--- com.google.crypto.tink:tink-android:1.8.0
-|    |         \--- com.google.code.gson:gson:2.8.9 -> 2.13.2
-|    |              \--- com.google.errorprone:error_prone_annotations:2.41.0
-|    +--- com.google.code.gson:gson:2.13.2 (*)
+|    +--- com.google.code.gson:gson:2.13.2
+|    |    \--- com.google.errorprone:error_prone_annotations:2.41.0
-|    \--- androidx.room:room-ktx:2.7.2 (*)
+|    \--- androidx.security:security-crypto:1.1.0
+|         \--- com.google.crypto.tink:tink-android:1.8.0
+|              \--- com.google.code.gson:gson:2.8.9 -> 2.13.2 (*)
 +--- project :libs:fluxc-plugin
+|    \--- androidx.core:core-ktx:1.13.1 -> 1.16.0 (*)
-|    \--- androidx.room:room-ktx:2.7.2 (*)
-+--- project :libs:login
-|    \--- androidx.core:core-ktx:1.13.1 -> 1.16.0 (*)
++--- project :libs:cardreader
+|    +--- com.stripe:stripeterminal-core:4.6.0
+|    |    +--- com.stripe:stripeterminal-external:4.6.0
+|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.2.0 (*)
+|    |    |    +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 -> 2.1.10 (*)
+|    |    |    +--- androidx.annotation:annotation:1.9.1 (*)
+|    |    |    \--- com.squareup.moshi:moshi:1.15.2 (*)
+|    |    \--- com.stripe:stripeterminal-internal-common:4.6.0
+|    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.2.0 (*)
+|    |         +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 -> 2.1.10 (*)
+|    |         +--- androidx.annotation:annotation:1.9.1 (*)
+|    |         +--- androidx.core:core-ktx:1.13.1 -> 1.16.0 (*)
+|    |         +--- com.google.dagger:dagger:2.53 -> 2.57.2 (*)
+|    |         +--- org.jetbrains.kotlin:kotlin-reflect:1.9.25
+|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.2.0 (*)
+|    |         +--- 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.2.0 (*)
+|    |         |    +--- 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.2.0 (*)
+|    |         +--- 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
+|    |         |    \--- org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3
+|    |         |         +--- org.jetbrains.kotlinx:kotlinx-serialization-bom:1.7.3 (*)
+|    |         |         +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 -> 2.2.0 (*)
+|    |         |         \--- org.jetbrains.kotlinx:kotlinx-serialization-core: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.2.0 (*)
+|    |         |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
+|    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
+|    |         |         +--- 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.2.0 (*)
+|    |         |         +--- 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.2.0 (*)
+|    |         |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
+|    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
+|    |         |         +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
+|    |         |         \--- 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.2.0 (*)
+|    |         +--- 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.2.0 (*)
+|    |         +--- 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.2.0 (*)
+|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
+|    |         +--- 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.2.0 (*)
+|    |         |         +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1 -> 1.7.3 (*)
+|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
+|    |         +--- 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.1.0 (*)
+|    |         |         +--- com.squareup.okio:okio:3.7.0 -> 3.15.0 (*)
+|    |         |         +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
+|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
+|    |         +--- org.jetbrains.kotlinx:kotlinx-datetime:0.6.2
+|    |         |    \--- org.jetbrains.kotlinx:kotlinx-datetime-jvm:0.6.2
+|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.2.0 (*)
+|    |         +--- com.google.code.gson:gson:2.12.1 -> 2.13.2 (*)
+|    |         +--- com.squareup.okhttp3:okhttp:4.12.0 -> 5.1.0 (*)
+|    |         +--- com.squareup.okhttp3:okhttp-tls:4.12.0 -> 5.1.0 (*)
+|    |         +--- com.squareup.tape2:tape:2.0.0-beta1
+|    |         +--- app.cash.sqldelight:android-driver:2.0.2
+|    |         |    +--- androidx.sqlite:sqlite-framework:2.4.0 -> 2.5.1 (*)
+|    |         |    +--- app.cash.sqldelight:runtime:2.0.2
+|    |         |    |    \--- app.cash.sqldelight:runtime-jvm:2.0.2
+|    |         |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.2.0 (*)
+|    |         |    +--- androidx.sqlite:sqlite:2.4.0 -> 2.5.1 (*)
+|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.2.0 (*)
+|    |         +--- androidx.security:security-crypto:1.1.0-alpha03 -> 1.1.0 (*)
+|    |         +--- androidx.lifecycle:lifecycle-process:2.8.7 -> 2.9.3 (*)
+|    |         +--- androidx.room:room-runtime:2.6.1 -> 2.7.2 (*)
+|    |         +--- androidx.room:room-ktx:2.6.1 -> 2.7.2 (*)
+|    |         +--- 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.15.0 (*)
+|    |         |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.10 -> 2.2.0 (*)
+|    |         |    +--- 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.6.0 (*)
+|    \--- com.stripe:stripeterminal-taptopay:4.6.0
+|         +--- io.reactivex.rxjava3:rxjava:3.1.10 (*)
+|         +--- com.squareup.wire:wire-moshi-adapter:4.9.11 (*)
+|         +--- com.stripe:stripeterminal-external:4.6.0 (*)
+|         \--- com.stripe:stripeterminal-internal-common:4.6.0 (*)
++--- androidx.hilt:hilt-work:1.3.0
+|    \--- androidx.hilt:hilt-common:1.3.0
+|         \--- com.google.dagger:hilt-core:2.54 -> 2.57.2 (*)
++--- androidx.paging:paging-runtime:2.1.2 (*)
++--- androidx.camera:camera-lifecycle:1.5.0
+|    \--- androidx.camera:camera-core:1.5.0
+|         +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
+|         +--- androidx.annotation:annotation-experimental:1.4.1 (*)
+|         +--- androidx.arch.core:core-common:2.1.0 -> 2.2.0 (*)
+|         +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
+|         +--- androidx.concurrent:concurrent-futures-ktx:1.1.0 (*)
+|         +--- androidx.core:core:1.1.0 -> 1.16.0 (*)
+|         +--- androidx.exifinterface:exifinterface:1.3.2 -> 1.4.1 (*)
+|         +--- androidx.lifecycle:lifecycle-common:2.1.0 -> 2.9.3 (*)
+|         +--- androidx.lifecycle:lifecycle-livedata:2.1.0 -> 2.9.3 (*)
+|         +--- androidx.lifecycle:lifecycle-livedata-core:2.3.1 -> 2.9.3 (*)
+|         +--- androidx.tracing:tracing:1.2.0 (*)
+|         +--- com.google.auto.value:auto-value-annotations:1.6.3
+|         +--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
+|         +--- org.jetbrains.kotlin:kotlin-stdlib -> 2.2.0 (*)
+|         +--- 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.jspecify:jspecify:1.0.0
+|         +--- androidx.camera:camera-camera2:1.5.0 (c)
+|         +--- androidx.camera:camera-lifecycle:1.5.0 (c)
+|         +--- androidx.camera:camera-video:1.5.0 (c)
+|         +--- androidx.camera:camera-view:1.5.0 (c)
+|         \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.2.0 (c)
+\--- androidx.camera:camera-camera2:1.5.0
+     \--- androidx.camera:camera-core:1.5.0 (*)
-+--- project :libs:cardreader
-|    +--- com.stripe:stripeterminal-taptopay:4.6.0
-|    |    +--- io.reactivex.rxjava3:rxjava:3.1.10
-|    |    |    \--- org.reactivestreams:reactive-streams:1.0.4
-|    |    +--- 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.15.0 (*)
-|    |    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.10 -> 2.2.0 (*)
-|    |    |    +--- com.squareup.moshi:moshi:1.15.0 -> 1.15.2 (*)
-|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10 -> 1.9.24 (*)
-|    |    +--- com.stripe:stripeterminal-external:4.6.0
-|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.2.0 (*)
-|    |    |    +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 -> 2.1.10 (*)
-|    |    |    +--- androidx.annotation:annotation:1.9.1 (*)
-|    |    |    \--- com.squareup.moshi:moshi:1.15.2 (*)
-|    |    \--- com.stripe:stripeterminal-internal-common:4.6.0
-|    |         +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.2.0 (*)
-|    |         +--- org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.25 -> 2.1.10 (*)
-|    |         +--- androidx.annotation:annotation:1.9.1 (*)
-|    |         +--- androidx.core:core-ktx:1.13.1 -> 1.16.0 (*)
-|    |         +--- com.google.dagger:dagger:2.53 -> 2.57.2 (*)
-|    |         +--- org.jetbrains.kotlin:kotlin-reflect:1.9.25
-|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.2.0 (*)
-|    |         +--- 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.2.0 (*)
-|    |         |    +--- io.reactivex.rxjava3:rxjava:3.0.2 -> 3.1.10 (*)
-|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.2.0 (*)
-|    |         +--- 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
-|    |         |    \--- org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3
-|    |         |         +--- org.jetbrains.kotlinx:kotlinx-serialization-bom:1.7.3 (*)
-|    |         |         +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 -> 2.2.0 (*)
-|    |         |         \--- org.jetbrains.kotlinx:kotlinx-serialization-core: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.2.0 (*)
-|    |         |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
-|    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
-|    |         |         +--- 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.2.0 (*)
-|    |         |         +--- 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.2.0 (*)
-|    |         |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
-|    |         |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
-|    |         |         +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
-|    |         |         \--- 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.2.0 (*)
-|    |         +--- 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.2.0 (*)
-|    |         +--- 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.2.0 (*)
-|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
-|    |         +--- 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.2.0 (*)
-|    |         |         +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1 -> 1.7.3 (*)
-|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
-|    |         +--- 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.1.0 (*)
-|    |         |         +--- com.squareup.okio:okio:3.7.0 -> 3.15.0 (*)
-|    |         |         +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.2 (*)
-|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.2.0 (*)
-|    |         +--- org.jetbrains.kotlinx:kotlinx-datetime:0.6.2
-|    |         |    \--- org.jetbrains.kotlinx:kotlinx-datetime-jvm:0.6.2
-|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.2.0 (*)
-|    |         +--- com.google.code.gson:gson:2.12.1 -> 2.13.2 (*)
-|    |         +--- com.squareup.okhttp3:okhttp:4.12.0 -> 5.1.0 (*)
-|    |         +--- com.squareup.okhttp3:okhttp-tls:4.12.0 -> 5.1.0 (*)
-|    |         +--- com.squareup.tape2:tape:2.0.0-beta1
-|    |         +--- app.cash.sqldelight:android-driver:2.0.2
-|    |         |    +--- androidx.sqlite:sqlite-framework:2.4.0 -> 2.5.1 (*)
-|    |         |    +--- app.cash.sqldelight:runtime:2.0.2
-|    |         |    |    \--- app.cash.sqldelight:runtime-jvm:2.0.2
-|    |         |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.2.0 (*)
-|    |         |    +--- androidx.sqlite:sqlite:2.4.0 -> 2.5.1 (*)
-|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.2.0 (*)
-|    |         +--- androidx.security:security-crypto:1.1.0-alpha03 -> 1.1.0 (*)
-|    |         +--- androidx.lifecycle:lifecycle-process:2.8.7 -> 2.9.3 (*)
-|    |         +--- androidx.room:room-runtime:2.6.1 -> 2.7.2 (*)
-|    |         +--- androidx.room:room-ktx:2.6.1 -> 2.7.2 (*)
-|    |         +--- 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.stripe:stripeterminal-external:4.6.0 (*)
-|    \--- com.stripe:stripeterminal-core:4.6.0
-|         +--- com.stripe:stripeterminal-external:4.6.0 (*)
-|         \--- com.stripe:stripeterminal-internal-common:4.6.0 (*)
-+--- androidx.hilt:hilt-common:1.3.0
-|    \--- com.google.dagger:hilt-core:2.54 -> 2.57.2 (*)
-+--- androidx.hilt:hilt-work:1.3.0
-|    \--- androidx.hilt:hilt-common:1.3.0 (*)
-+--- com.google.dagger:dagger-android-support:2.57.2 (*)
-+--- com.github.bumptech.glide:avif-integration:5.0.4
-|    +--- com.github.bumptech.glide:glide:5.0.4 (*)
-|    +--- org.aomedia.avif.android:avif:1.1.1.14d8e3c4
-|    \--- com.google.guava:guava:28.1-android -> 33.3.1-android (*)
-+--- androidx.camera:camera-camera2:1.5.0
-|    \--- androidx.camera:camera-core:1.5.0
-|         +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
-|         +--- androidx.annotation:annotation-experimental:1.4.1 (*)
-|         +--- androidx.arch.core:core-common:2.1.0 -> 2.2.0 (*)
-|         +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
-|         +--- androidx.concurrent:concurrent-futures-ktx:1.1.0 (*)
-|         +--- androidx.core:core:1.1.0 -> 1.16.0 (*)
-|         +--- androidx.exifinterface:exifinterface:1.3.2 -> 1.4.1 (*)
-|         +--- androidx.lifecycle:lifecycle-common:2.1.0 -> 2.9.3 (*)
-|         +--- androidx.lifecycle:lifecycle-livedata:2.1.0 -> 2.9.3 (*)
-|         +--- androidx.lifecycle:lifecycle-livedata-core:2.3.1 -> 2.9.3 (*)
-|         +--- androidx.tracing:tracing:1.2.0 (*)
-|         +--- com.google.auto.value:auto-value-annotations:1.6.3
-|         +--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
-|         +--- org.jetbrains.kotlin:kotlin-stdlib -> 2.2.0 (*)
-|         +--- 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.jspecify:jspecify:1.0.0
-|         +--- androidx.camera:camera-camera2:1.5.0 (c)
-|         +--- androidx.camera:camera-lifecycle:1.5.0 (c)
-|         +--- androidx.camera:camera-video:1.5.0 (c)
-|         +--- androidx.camera:camera-view:1.5.0 (c)
-|         \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.2.0 (c)
-\--- androidx.camera:camera-lifecycle:1.5.0
-     \--- androidx.camera:camera-core:1.5.0 (*)

@kidinov kidinov requested a review from malinajirka October 7, 2025 07:51
@kidinov kidinov marked this pull request as ready for review October 7, 2025 07:51
@wpmobilebot
Copy link
Collaborator

wpmobilebot commented Oct 7, 2025

📲 You can test the changes from this Pull Request in WooCommerce-Wear Android by scanning the QR code below to install the corresponding build.
App Name WooCommerce-Wear Android
Platform⌚️ Wear OS
FlavorJalapeno
Build TypeDebug
Commitdea9586
Direct Downloadwoocommerce-wear-prototype-build-pr14710-dea9586.apk

@wpmobilebot
Copy link
Collaborator

wpmobilebot commented Oct 7, 2025

📲 You can test the changes from this Pull Request in WooCommerce Android by scanning the QR code below to install the corresponding build.

App Name WooCommerce Android
Platform📱 Mobile
FlavorJalapeno
Build TypeDebug
Commitdea9586
Direct Downloadwoocommerce-prototype-build-pr14710-dea9586.apk

@irfano irfano self-assigned this Oct 7, 2025
@irfano irfano self-requested a review October 7, 2025 13:37
@irfano irfano removed their assignment Oct 7, 2025
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm surprised to see how many dependencies are unused here, thanks for taking care of this.

It looks like implementation(libs.androidx.work.runtime.ktx) is requied. Without it, the Wear app crashes with the following log:

Log
Pinning is deprecated since Android Q. Please use trim or other methods.
2025-10-07 16:55:24.052  5395-5410  AndroidRuntime          com.woocommerce.android              E  FATAL EXCEPTION: pool-4-thread-1 (Ask Gemini)
                                                                                                  Process: com.woocommerce.android, PID: 5395
                                                                                                  java.lang.IllegalArgumentException: com.woocommerce.android: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
                                                                                                  Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
                                                                                                  	at android.app.PendingIntent.checkPendingIntent(PendingIntent.java:458)
                                                                                                  	at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:761)
                                                                                                  	at android.app.PendingIntent.getBroadcast(PendingIntent.java:748)
                                                                                                  	at androidx.work.impl.utils.ForceStopRunnable.getPendingIntent(ForceStopRunnable.java:196)
                                                                                                  	at androidx.work.impl.utils.ForceStopRunnable.isForceStopped(ForceStopRunnable.java:128)
                                                                                                  	at androidx.work.impl.utils.ForceStopRunnable.run(ForceStopRunnable.java:93)
                                                                                                  	at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:91)
                                                                                                  	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
                                                                                                  	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
                                                                                                  	at java.lang.Thread.run(Thread.java:1119)

I tested all Wear screens, the connection with the phone app, and tracks everything works. My only feedback is the missing runtime dependency. ✅

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@irfano thank you!

Added it back

a76a0db

@malinajirka malinajirka self-assigned this Oct 8, 2025
Copy link
Contributor

@malinajirka malinajirka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I forgot to approve this, LGTM!

@malinajirka malinajirka merged commit 01217d7 into trunk Oct 10, 2025
15 checks passed
@malinajirka malinajirka deleted the removed-unused-depend branch October 10, 2025 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants