Output:
Chunk ID: 1aed67
Wall time: 0.2139 seconds
Process exited with code 0
Original token count: 2694
Output:
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:16:import com.yorvana.testsupport.awaitTagVisible
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:90:        composeRule.awaitTagVisible(TestTags.ADD_RECORD_FAB)
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:92:        composeRule.awaitTagVisible(TestTags.RECORD_ODOMETER_FIELD)
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:114:        composeRule.awaitTagVisible(TestTags.vehicleItem(vehicle.id))
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:116:        composeRule.awaitTagVisible(TestTags.recordItem(record.id))
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:117:        composeRule.onNodeWithTag(TestTags.recordItem(record.id)).performClick()
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:118:        composeRule.awaitTagVisible(TestTags.RECORD_DETAIL_ODOMETER_TEXT)
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:122:        composeRule.awaitTagVisible(TestTags.RECORD_DETAIL_ODOMETER_TEXT, timeoutMillis = 120_000)
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:145:        composeRule.awaitTagVisible(TestTags.vehicleItem(vehicle.id))
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:147:        composeRule.onNodeWithTag(TestTags.recordItem(record.id)).performClick()
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:148:        composeRule.awaitTagVisible(TestTags.RECORD_DETAIL_ODOMETER_TEXT)
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:151:        composeRule.awaitTagVisible(TestTags.ADD_RECORD_FAB)
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:160:        composeRule.awaitTagVisible(TestTags.vehicleItem(vehicle.id))
app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:162:        composeRule.awaitTagVisible(TestTags.ADD_RECORD_FAB)
app/src/main/java/com/yorvana/ui/TestTags.kt:79:    fun recordItem(recordId: String) = "RecordItem_$recordId"
app/src/androidTest/java/com/yorvana/regression/attachments/ImageViewerGestureRegressionTest.kt:15:import com.yorvana.testsupport.awaitTagVisible
app/src/androidTest/java/com/yorvana/regression/attachments/ImageViewerGestureRegressionTest.kt:108:        composeRule.awaitTagVisible(TestTags.vehicleItem(vehicle.id))
app/src/androidTest/java/com/yorvana/regression/attachments/ImageViewerGestureRegressionTest.kt:110:        composeRule.awaitTagVisible(TestTags.recordItem(record.id))
app/src/androidTest/java/com/yorvana/regression/attachments/ImageViewerGestureRegressionTest.kt:111:        composeRule.onNodeWithTag(TestTags.recordItem(record.id)).performClick()
app/src/androidTest/java/com/yorvana/regression/attachments/ImageViewerGestureRegressionTest.kt:112:        composeRule.awaitTagVisible(TestTags.RECORD_DETAIL_ODOMETER_TEXT)
app/src/androidTest/java/com/yorvana/regression/attachments/ImageViewerGestureRegressionTest.kt:114:        composeRule.awaitTagVisible(TestTags.IMAGE_VIEWER_SURFACE)
app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt:28:import com.yorvana.testsupport.awaitTagVisible
app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt:88:        composeRule.awaitTagVisible(TestTags.ATTACHMENT_PICK_FILE_BUTTON, timeoutMillis = 60_000)
app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt:114:        composeRule.awaitTagVisible(TestTags.SAVE_BUTTON, timeoutMillis = 60_000)
app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt:189:        composeRule.awaitTagVisible(TestTags.ADD_RECORD_FAB, timeoutMillis = 120_000)
app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt:238:        composeRule.awaitTagVisible(TestTags.CONFIRM_DELETE_BUTTON, timeoutMillis = 60_000)
app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt:335:        composeRule.awaitTagVisible(TestTags.ADD_RECORD_FAB, timeoutMillis = 60_000)
app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt:341:        composeRule.awaitTagVisible(TestTags.RECORD_ODOMETER_FIELD, timeoutMillis = 60_000)
app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt:345:        composeRule.onNodeWithTag(TestTags.recordItem(record.id)).performClick()
app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt:346:        composeRule.awaitTagVisible(TestTags.RECORD_DETAIL_ODOMETER_TEXT, timeoutMillis = 60_000)
app/src/androidTest/java/com/yorvana/regression/settings/SettingsCategoriesPaywallRegressionTest.kt:24:import com.yorvana.testsupport.awaitTagVisible
app/src/androidTest/java/com/yorvana/regression/settings/SettingsCategoriesPaywallRegressionTest.kt:216:        composeRule.awaitTagVisible(TestTags.SETTINGS_BUTTON)
app/src/androidTest/java/com/yorvana/regression/settings/SettingsCategoriesPaywallRegressionTest.kt:229:        composeRule.awaitTagVisible(TestTags.ADD_RECORD_FAB)
app/src/androidTest/java/com/yorvana/regression/settings/SettingsCategoriesPaywallRegressionTest.kt:231:        composeRule.awaitTagVisible(TestTags.RECORD_ODOMETER_FIELD)
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:21:import com.yorvana.testsupport.awaitTagVisible
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:125:        composeRule.awaitTagVisible(TestTags.recordItem("history-199"))
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:126:        composeRule.onNodeWithTag(TestTags.recordItem("history-199")).assertIsDisplayed()
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:129:            .performScrollToNode(hasTestTag(TestTags.recordItem("history-0")))
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:130:        composeRule.onNodeWithTag(TestTags.recordItem("history-0")).assertIsDisplayed()
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:133:            .performScrollToNode(hasTestTag(TestTags.recordItem("history-199")))
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:134:        composeRule.onNodeWithTag(TestTags.recordItem("history-199")).assertIsDisplayed()
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:152:        composeRule.onNodeWithTag(TestTags.recordItem(record.id)).performClick()
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:163:        composeRule.awaitTagVisible(TestTags.vehicleItem(vehicle.id))
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:165:        composeRule.awaitTagVisible(TestTags.ADD_RECORD_FAB)
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:167:        composeRule.awaitTagVisible(TestTags.RECORD_ODOMETER_FIELD)
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:171:        composeRule.awaitTagVisible(TestTags.vehicleItem(vehicleId))
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:173:        composeRule.awaitTagVisible(TestTags.ADD_RECORD_FAB)
app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:175:        composeRule.awaitTagVisible(TestTags.RECORD_ODOMETER_FIELD)
app/src/androidTest/java/com/yorvana/SmokeTest.kt:27:import com.yorvana.testsupport.awaitTagVisible
app/src/androidTest/java/com/yorvana/SmokeTest.kt:81:        composeTestRule.awaitTagVisible(TestTags.SETTINGS_BUTTON)
app/src/androidTest/java/com/yorvana/SmokeTest.kt:152:        composeTestRule.awaitTagVisible(TestTags.ADD_RECORD_FAB)
app/src/androidTest/java/com/yorvana/SmokeTest.kt:156:        composeTestRule.awaitTagVisible(TestTags.RECORD_ODOMETER_FIELD)
app/src/androidTest/java/com/yorvana/SmokeTest.kt:181:        composeTestRule.awaitTagVisible(TestTags.ADD_RECORD_FAB)
app/src/androidTest/java/com/yorvana/SmokeTest.kt:238:        composeTestRule.awaitTagVisible(TestTags.ADD_RECORD_FAB)
app/src/androidTest/java/com/yorvana/SmokeTest.kt:262:        composeTestRule.awaitTagVisible(TestTags.PAYWALL_INFO_SHEET)
app/src/androidTest/java/com/yorvana/SmokeTest.kt:282:        composeTestRule.awaitTagVisible(TestTags.PAYWALL_STATUS_CARD)
app/src/androidTest/java/com/yorvana/SmokeTest.kt:317:        composeTestRule.awaitTagVisible(TestTags.PAYWALL_STATUS_CARD)
app/src/androidTest/java/com/yorvana/SmokeTest.kt:324:        composeTestRule.awaitTagVisible(TestTags.ADD_VEHICLE_FAB)
app/src/androidTest/java/com/yorvana/SmokeTest.kt:357:        composeTestRule.awaitTagVisible(TestTags.SETTINGS_CRASH_REPORTING_TOGGLE, timeoutMillis = 15_000)
app/src/androidTest/java/com/yorvana/SmokeTest.kt:372:        composeTestRule.awaitTagVisible(TestTags.SETTINGS_CRASH_REPORTING_TOGGLE, timeoutMillis = 15_000)
app/src/main/java/com/yorvana/ui/records/VehicleDetailScreen.kt:339:                                    modifier = Modifier.testTag(TestTags.recordItem(item.record.id)),
app/src/androidTest/java/com/yorvana/testsupport/ComposeWaitHelpers.kt:11:fun MainActivityComposeRule.awaitTagVisible(
app/src/androidTest/java/com/yorvana/screenshots/StoreScreenshotTest.kt:13:import com.yorvana.testsupport.awaitTagVisible
app/src/androidTest/java/com/yorvana/screenshots/StoreScreenshotTest.kt:42:        composeTestRule.awaitTagVisible(TestTags.RECORD_ODOMETER_FIELD)
app/src/androidTest/java/com/yorvana/screenshots/StoreScreenshotTest.kt:55:        composeTestRule.awaitTagVisible(TestTags.ADD_CATEGORY_BUTTON)
app/src/androidTest/java/com/yorvana/screenshots/StoreScreenshotTest.kt:67:        composeTestRule.awaitTagVisible(TestTags.SETTINGS_CRASH_REPORTING_TOGGLE)
app/src/androidTest/java/com/yorvana/screenshots/StoreScreenshotTest.kt:76:        composeTestRule.awaitTagVisible(TestTags.PAYWALL_INFO_SHEET)
app/src/androidTest/java/com/yorvana/screenshots/StoreScreenshotTest.kt:88:        composeTestRule.awaitTagVisible(TestTags.ADD_RECORD_FAB)
app/src/androidTest/java/com/yorvana/screenshots/StoreScreenshotTest.kt:92:        composeTestRule.awaitTagVisible(TestTags.SETTINGS_BUTTON)


Output:
Chunk ID: 1a8ebf
Wall time: 0.2994 seconds
Process exited with code 0
Original token count: 1980
Output:
63a6c06 fix: harden system picker, camera, and navigation in regression checks
97eef8a feat: implement phase 7 test hardening and nightly dashboard (#120) (#130)
55eedcb fix: declare explicit RuleChain ordering in all Compose regression tests
3c6158c feat: implement phase 7 test hardening and nightly dashboard (#120)
d2f8a00 Add lifecycle robustness regression coverage (#126)
99516f7 Add lifecycle robustness regression coverage
b8c499e Add real OS regression coverage (#125)
cb2ae33 fix: address real OS regression review
26a915c fix: stabilize real OS regression suite
02311e4 fix: address review comments and detekt issues
9437197 fix(vault): resolve race conditions and infrastructure bugs in regression tests
6391f8c fix(test): harden regression tests for slow environments and fix asset loading
d1062b6 Address real OS regression review
d58ad1a Add real SAF regression coverage
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 276)     @Test
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 277)     fun rA07_cancelledCameraCaptureShowsErrorLeavesNoPartialAndRetrySucceeds() {
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 278)         val vehicle = composeRule.seedVehicle(nickname = "Camera Cancel Car")
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 279)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 280)         openAddRecord("Camera Cancel Car")
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 281)         fillMinimalRecord("32345", "Camera Shop")
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 282)         composeRule.onNodeWithTag(TestTags.ATTACHMENT_TAKE_PHOTO_BUTTON).performScrollTo().performClick()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 283)         Camera.captureAndCancel(device)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 284)         composeRule.awaitText("Photo capture was cancelled", substring = true, timeoutMillis = 20_000)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 285)         assertThat(
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 286)             VaultFixture
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 287)                 .active()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 288)                 .snapshot()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 289)                 .keys
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 290)                 .none { it.endsWith(".jpg") },
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 291)         ).isTrue()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 292)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 293)         composeRule.onNodeWithTag(TestTags.ATTACHMENT_TAKE_PHOTO_BUTTON).performScrollTo().performClick()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 294)         Camera.captureAndAccept(device)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 295)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 296)         // Wait for the attachment to appear in the UI list
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 297)         val endTime = System.currentTimeMillis() + 30_000
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 298)         var found = false
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 299)         while (System.currentTimeMillis() < endTime) {
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 300)             try {
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 301)                 if (composeRule.onAllNodesWithTag(TestTags.ATTACHMENT_ITEM).fetchSemanticsNodes().isNotEmpty()) {
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 302)                     found = true
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 303)                     break
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 304)                 }
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 305)             } catch (_: Exception) {
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 306)             }
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 307)             Thread.sleep(500)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 308)         }
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 309)         if (!found) error("Timeout waiting for attachment item to appear")
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 310)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 311)         composeRule.onNodeWithTag(TestTags.SAVE_BUTTON).performClick()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 312)         composeRule.waitForIdle()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 313)         val recordId =
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 314)             runBlocking {
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 315)                 composeRule
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 316)                     .app()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 317)                     .vaultStorage
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 318)                     .listRecordIds(vehicle.id)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 319)                     .getOrThrow()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 320)                     .single()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 321)             }
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 322)         val record =
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 323)             runBlocking {
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 324)                 // Ensure the record is actually visible to the repository
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 325)                 composeRule.app().recordRepository.getRecord(vehicle.id, recordId)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 326)             }
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 327)         assertThat(record).isNotNull()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 328)         openRecord(record!!)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 329)         assertThat(record.attachments.singleOrNull()).endsWith(".jpg")
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 330)     }
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 331)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 332)     private fun openVehicle(name: String) {
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 333)         composeRule.awaitText(name, timeoutMillis = 60_000)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 334)         composeRule.onNodeWithText(name).performClick()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 335)         composeRule.awaitTagVisible(TestTags.ADD_RECORD_FAB, timeoutMillis = 60_000)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 336)     }
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 337)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 338)     private fun openAddRecord(vehicleName: String) {
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 339)         openVehicle(vehicleName)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 340)         composeRule.onNodeWithTag(TestTags.ADD_RECORD_FAB).performClick()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 341)         composeRule.awaitTagVisible(TestTags.RECORD_ODOMETER_FIELD, timeoutMillis = 60_000)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 342)     }
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 343)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 344)     private fun openRecord(record: com.yorvana.data.model.ServiceRecord) {
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 345)         composeRule.onNodeWithTag(TestTags.recordItem(record.id)).performClick()
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 346)         composeRule.awaitTagVisible(TestTags.RECORD_DETAIL_ODOMETER_TEXT, timeoutMillis = 60_000)
b8c499e8 (Igor Vinogradov 2026-05-25 14:42:07 +0300 347)     }


nl -ba app/src/androidTest/java/com/yorvana/testsupport/ComposeWaitHelpers.kt; rg -n "SAVE_BUTTON|save.*record|navigateBack|popBackStack|RecordForm" app/src/main/java/com/yorvana/ui app/src/main/java/com/yorvana -g '*.kt'


git show --stat --oneline 63a6c06 && git show --format=fuller --no-ext-diff 63a6c06 -- app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt app/src/androidTest/java/com/yorvana/testsupport/Camera.kt


Output:
Chunk ID: 5e2caf
Wall time: 0.2307 seconds
Process exited with code 0
Original token count: 0
Output:


Output:
Chunk ID: 35a0e4
Wall time: 0.2134 seconds
Process exited with code 0
Original token count: 6927
Output:
13:06-15 14:53:25.156  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: PRE_ON_CREATE
15:06-15 14:53:25.264  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: CREATED
16:06-15 14:53:25.266  2338  2338 V ActivityScenario: Update currentActivityStage to CREATED, currentActivity=com.yorvana.MainActivity@a2ef697
17:06-15 14:53:25.269  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: STARTED
18:06-15 14:53:25.269  2338  2338 V ActivityScenario: Update currentActivityStage to STARTED, currentActivity=com.yorvana.MainActivity@a2ef697
19:06-15 14:53:25.270  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: RESUMED
20:06-15 14:53:25.273  2338  2338 V ActivityScenario: Update currentActivityStage to RESUMED, currentActivity=com.yorvana.MainActivity@a2ef697
44:06-15 14:53:26.378   575   596 I ActivityTaskManager: Displayed com.yorvana/.MainActivity: +1s339ms
50:06-15 14:53:26.937  1389  1452 I MediaProvider: Open with lower FS for /storage/emulated/0/Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/vehicle.json. Uid: 10048
53:06-15 14:53:27.013  1389  1452 W ModernMediaScanner: Failed to visit /storage/emulated/0/Yorvana R-A06 1781535106626/vehicles: java.nio.file.NoSuchFileException: /storage/emulated/0/Yorvana R-A06 1781535106626/vehicles
55:06-15 14:53:27.013  1753  2542 E DatabaseUtils: java.lang.IllegalArgumentException: Failed to determine if primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21 is child of primary:Yorvana R-A06 1781535106626: java.io.FileNotFoundException: Missing file for primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21 at /storage/emulated/0/Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21
63:06-15 14:53:27.018  2338  2539 W DocumentFile: Failed query: java.lang.IllegalArgumentException: Failed to determine if primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21 is child of primary:Yorvana R-A06 1781535106626: java.io.FileNotFoundException: Missing file for primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21 at /storage/emulated/0/Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21
65:06-15 14:53:27.019  1753  1765 E DatabaseUtils: java.lang.IllegalArgumentException: Failed to determine if primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21.json is child of primary:Yorvana R-A06 1781535106626: java.io.FileNotFoundException: Missing file for primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21.json at /storage/emulated/0/Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21.json
73:06-15 14:53:27.020  2338  2539 W DocumentFile: Failed query: java.lang.IllegalArgumentException: Failed to determine if primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21.json is child of primary:Yorvana R-A06 1781535106626: java.io.FileNotFoundException: Missing file for primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21.json at /storage/emulated/0/Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21.json
75:06-15 14:53:27.023  1753  1774 E DatabaseUtils: java.lang.IllegalArgumentException: Failed to determine if primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21.json is child of primary:Yorvana R-A06 1781535106626: java.io.FileNotFoundException: Missing file for primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21.json at /storage/emulated/0/Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21.json
83:06-15 14:53:27.026  2338  2539 W DocumentFile: Failed query: java.lang.IllegalArgumentException: Failed to determine if primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21.json is child of primary:Yorvana R-A06 1781535106626: java.io.FileNotFoundException: Missing file for primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21.json at /storage/emulated/0/Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/records/575845d5-d22a-478a-b617-1289948a3e21.json
85:06-15 14:53:27.027  1753  1767 E DatabaseUtils: java.lang.IllegalArgumentException: Failed to determine if primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/vehicle.json is child of primary:Yorvana R-A06 1781535106626: java.io.FileNotFoundException: Missing file for primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/vehicle.json at /storage/emulated/0/Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/vehicle.json
93:06-15 14:53:27.028  2338  2539 W DocumentFile: Failed query: java.lang.IllegalArgumentException: Failed to determine if primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/vehicle.json is child of primary:Yorvana R-A06 1781535106626: java.io.FileNotFoundException: Missing file for primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/vehicle.json at /storage/emulated/0/Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/vehicle.json
95:06-15 14:53:27.031  1753  2536 E DatabaseUtils: java.lang.IllegalArgumentException: Failed to determine if primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/vehicle.json is child of primary:Yorvana R-A06 1781535106626: java.io.FileNotFoundException: Missing file for primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/vehicle.json at /storage/emulated/0/Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/vehicle.json
103:06-15 14:53:27.031  2338  2539 W DocumentFile: Failed query: java.lang.IllegalArgumentException: Failed to determine if primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/vehicle.json is child of primary:Yorvana R-A06 1781535106626: java.io.FileNotFoundException: Missing file for primary:Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/vehicle.json at /storage/emulated/0/Yorvana R-A06 1781535106626/vehicles/ab9e009a-55e7-4b64-9a25-4e167de7ac8b/vehicle.json
197:06-15 14:53:32.021  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: PAUSED
198:06-15 14:53:32.022  2338  2338 V ActivityScenario: Update currentActivityStage to PAUSED, currentActivity=com.yorvana.MainActivity@a2ef697
370:06-15 14:53:34.332  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:LayoutInflater which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
404:06-15 14:53:34.342  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
443:06-15 14:53:34.343  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
486:06-15 14:53:34.349  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
525:06-15 14:53:34.351  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
564:06-15 14:53:34.351  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
607:06-15 14:53:34.354  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
646:06-15 14:53:34.355  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
669:06-15 14:53:34.362  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:GestureDetector#init which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
694:06-15 14:53:34.362  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
721:06-15 14:53:34.376  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
759:06-15 14:53:34.404  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
802:06-15 14:53:34.408  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
842:06-15 14:53:34.414  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
886:06-15 14:53:34.417  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
928:06-15 14:53:34.418  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
1010:06-15 14:53:35.150   575  1881 W system_server: Long monitor contention with owner binder:575_C (1462) at android.content.res.Configuration com.android.server.wm.ActivityTaskManagerService.getGlobalConfigurationForPid(int)(ActivityTaskManagerService.java:1127) waiters=2 in void com.android.server.wm.TaskPersister.onPreProcessItem(boolean) for 122ms
1089:06-15 14:53:38.564  1973  2614 E ContextImpl: java.lang.IllegalAccessException: Tried to access visual service WindowManager from a non-visual Context:com.android.camera.app.CameraApp@7bccfb9
1151:06-15 14:53:39.472   575   600 W system_server: Long monitor contention with owner binder:575_3 (655) at android.content.res.Configuration com.android.server.wm.ActivityTaskManagerService.getGlobalConfigurationForPid(int)(ActivityTaskManagerService.java:1127) waiters=0 in void com.android.server.wm.WindowAnimator.lambda$new$1(long) for 411ms
1359:06-15 14:53:40.853   575   599 W system_server: Long monitor contention with owner android.anim (600) at android.content.res.Configuration com.android.server.wm.ActivityTaskManagerService.getGlobalConfigurationForPid(int)(ActivityTaskManagerService.java:1127) waiters=0 in void com.android.server.wm.WindowManagerService$H.handleMessage(android.os.Message) for 252ms
1368:06-15 14:53:40.952  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: STOPPED
1369:06-15 14:53:40.952  2338  2338 V ActivityScenario: Update currentActivityStage to STOPPED, currentActivity=com.yorvana.MainActivity@a2ef697
1678:06-15 14:54:00.937  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: RESTARTED
1679:06-15 14:54:00.937  2338  2338 V ActivityScenario: Update currentActivityStage to RESTARTED, currentActivity=com.yorvana.MainActivity@a2ef697
1680:06-15 14:54:00.937  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: STARTED
1681:06-15 14:54:00.937  2338  2338 V ActivityScenario: Update currentActivityStage to STARTED, currentActivity=com.yorvana.MainActivity@a2ef697
1683:06-15 14:54:00.993  2338  2338 W BillingClient: java.lang.IllegalArgumentException: Service not registered: com.android.billingclient.api.zzbw@b8e4c6b
1692:06-15 14:54:00.993  2338  2338 W BillingClient: 	at com.yorvana.MainActivity.onResume(MainActivity.kt:69)
1710:06-15 14:54:01.031  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: RESUMED
1711:06-15 14:54:01.048  2338  2338 V ActivityScenario: Update currentActivityStage to RESUMED, currentActivity=com.yorvana.MainActivity@a2ef697
2345:06-15 14:54:33.282  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: PAUSED
2346:06-15 14:54:33.285  2338  2338 V ActivityScenario: Update currentActivityStage to PAUSED, currentActivity=com.yorvana.MainActivity@a2ef697
2429:06-15 14:54:33.671  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2468:06-15 14:54:33.696  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2511:06-15 14:54:33.704  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2550:06-15 14:54:33.711  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2589:06-15 14:54:33.714  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2632:06-15 14:54:33.714  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2671:06-15 14:54:33.722  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2694:06-15 14:54:33.728  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:GestureDetector#init which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2719:06-15 14:54:33.728  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2747:06-15 14:54:33.744  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2786:06-15 14:54:33.752  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2829:06-15 14:54:33.754  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2869:06-15 14:54:33.757  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2913:06-15 14:54:33.760  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
2955:06-15 14:54:33.762  1973  1973 E StrictMode: java.lang.IllegalAccessException: Tried to access the API:ViewConfiguration which needs to have proper configuration from a non-UI Context:com.android.camera.app.CameraApp@7bccfb9
3048:06-15 14:54:34.331  1973  1982 W MessageQueue: java.lang.IllegalStateException: Handler (android.os.Handler) {45b370f} sending message to a Handler on a dead thread
3096:06-15 14:54:34.689  1973  2684 E ContextImpl: java.lang.IllegalAccessException: Tried to access visual service WindowManager from a non-visual Context:com.android.camera.app.CameraApp@7bccfb9
3122:06-15 14:54:34.808   575   596 I ActivityTaskManager: Displayed com.android.camera2/com.android.camera.CaptureActivity: +1s544ms
3124:06-15 14:54:34.855  2338  2354 W UiDevice: Skipping null root node for window: AccessibilityWindowInfo[title=Yorvana, displayId=0, id=28, taskId=15, type=TYPE_APPLICATION, layer=0, region=SkRegion((0,0,1080,1920)), bounds=Rect(0, 0 - 1080, 1920), focused=true, active=true, pictureInPicture=false, hasParent=false, isAnchored=false, hasChildren=false]
3240:06-15 14:54:36.941  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: STOPPED
3241:06-15 14:54:36.944  2338  2338 V ActivityScenario: Update currentActivityStage to STOPPED, currentActivity=com.yorvana.MainActivity@a2ef697
3834:06-15 14:55:00.659  1973  2668 W MessageQueue: java.lang.IllegalStateException: Handler (android.media.ImageReader$ListenerHandler) {606b24e} sending message to a Handler on a dead thread
3844:06-15 14:55:00.791  1973  2662 W MessageQueue: java.lang.IllegalStateException: Handler (android.media.ImageReader$ListenerHandler) {606b24e} sending message to a Handler on a dead thread
3853:06-15 14:55:00.812  1973  2662 W MessageQueue: java.lang.IllegalStateException: Handler (android.media.ImageReader$ListenerHandler) {606b24e} sending message to a Handler on a dead thread
3895:06-15 14:55:02.273  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: RESTARTED
3896:06-15 14:55:02.276  2338  2338 V ActivityScenario: Update currentActivityStage to RESTARTED, currentActivity=com.yorvana.MainActivity@a2ef697
3897:06-15 14:55:02.278  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: STARTED
3898:06-15 14:55:02.279  2338  2338 V ActivityScenario: Update currentActivityStage to STARTED, currentActivity=com.yorvana.MainActivity@a2ef697
3900:06-15 14:55:02.292  2338  2338 W BillingClient: java.lang.IllegalArgumentException: Service not registered: com.android.billingclient.api.zzbw@8a631d0
3909:06-15 14:55:02.292  2338  2338 W BillingClient: 	at com.yorvana.MainActivity.onResume(MainActivity.kt:69)
3927:06-15 14:55:02.328  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: RESUMED
3928:06-15 14:55:02.355  2338  2338 V ActivityScenario: Update currentActivityStage to RESUMED, currentActivity=com.yorvana.MainActivity@a2ef697
3992:06-15 14:55:05.001  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: PAUSED
3993:06-15 14:55:05.001  2338  2338 V ActivityScenario: Update currentActivityStage to PAUSED, currentActivity=com.yorvana.MainActivity@a2ef697
3994:06-15 14:55:05.243   575   943 W system_server: Long monitor contention with owner binder:575_C (1462) at void com.android.server.wm.ActivityClientController.activityPaused(android.os.IBinder)(ActivityClientController.java:182) waiters=0 in android.app.ActivityTaskManager$RootTaskInfo com.android.server.wm.ActivityTaskManagerService.getFocusedRootTaskInfo() for 192ms
4005:06-15 14:55:05.793   575   596 I ActivityTaskManager: Displayed com.yorvana.test/androidx.test.core.app.InstrumentationActivityInvoker$EmptyActivity: +1s35ms
4006:06-15 14:55:05.817  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: STOPPED
4007:06-15 14:55:05.821  2338  2338 V ActivityScenario: Update currentActivityStage to STOPPED, currentActivity=com.yorvana.MainActivity@a2ef697
4011:06-15 14:55:05.952  2338  2338 W BillingClient: java.lang.IllegalArgumentException: Service not registered: com.android.billingclient.api.zzbw@f81b208
4018:06-15 14:55:05.952  2338  2338 W BillingClient: 	at com.yorvana.MainActivity.onDestroy(MainActivity.kt:81)
4036:06-15 14:55:05.956  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@a2ef697 in: DESTROYED
4038:06-15 14:55:06.072   575  1824 W InputManager-JNI: Input channel object 'ee14611 com.yorvana/com.yorvana.MainActivity (client)' was disposed without first being removed with the input manager!
4041:06-15 14:55:06.100  2338  2354 E RetryRule: java.lang.AssertionError: Failed to inject touch input.
4042:06-15 14:55:06.100  2338  2354 E RetryRule: Reason: Expected exactly '1' node but could not find any node that satisfies: (TestTag = 'RecordItem_851e1aa4-af86-4697-8c68-083f77e5e03c')
4148:06-15 14:55:07.100  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@477d276 in: PRE_ON_CREATE
4150:06-15 14:55:07.181  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@477d276 in: CREATED
4151:06-15 14:55:07.181  2338  2338 V ActivityScenario: Update currentActivityStage to CREATED, currentActivity=com.yorvana.MainActivity@477d276
4153:06-15 14:55:07.203  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@477d276 in: STARTED
4157:06-15 14:55:07.206  2338  2338 V ActivityScenario: Update currentActivityStage to STARTED, currentActivity=com.yorvana.MainActivity@477d276
4158:06-15 14:55:07.225  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@477d276 in: RESUMED
4159:06-15 14:55:07.231  2338  2338 V ActivityScenario: Update currentActivityStage to RESUMED, currentActivity=com.yorvana.MainActivity@477d276
4170:06-15 14:55:08.035   575   596 I ActivityTaskManager: Displayed com.yorvana/.MainActivity: +1s240ms
4229:06-15 14:55:38.988  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@477d276 in: PAUSED
4230:06-15 14:55:38.988  2338  2338 V ActivityScenario: Update currentActivityStage to PAUSED, currentActivity=com.yorvana.MainActivity@477d276
4234:06-15 14:55:39.465   575   596 I ActivityTaskManager: Displayed com.yorvana.test/androidx.test.core.app.InstrumentationActivityInvoker$EmptyActivity: +493ms
4237:06-15 14:55:39.850  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@477d276 in: STOPPED
4238:06-15 14:55:39.852  2338  2338 V ActivityScenario: Update currentActivityStage to STOPPED, currentActivity=com.yorvana.MainActivity@477d276
4242:06-15 14:55:39.891  2338  2338 W BillingClient: java.lang.IllegalArgumentException: Service not registered: com.android.billingclient.api.zzbw@827256c
4249:06-15 14:55:39.891  2338  2338 W BillingClient: 	at com.yorvana.MainActivity.onDestroy(MainActivity.kt:81)
4267:06-15 14:55:39.938  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@477d276 in: DESTROYED
4270:06-15 14:55:39.944   575   943 W InputManager-JNI: Input channel object '47a4ccf com.yorvana/com.yorvana.MainActivity (client)' was disposed without first being removed with the input manager!
4272:06-15 14:55:39.975  2338  2354 E RetryRule: java.lang.IllegalStateException: Only a single call to `runTest` can be performed during one test.
4357:06-15 14:55:40.698  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@5dc27a5 in: PRE_ON_CREATE
4363:06-15 14:55:41.725  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@5dc27a5 in: CREATED
4364:06-15 14:55:41.725  2338  2338 V ActivityScenario: Update currentActivityStage to CREATED, currentActivity=com.yorvana.MainActivity@5dc27a5
4365:06-15 14:55:41.730  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@5dc27a5 in: STARTED
4366:06-15 14:55:41.730  2338  2338 V ActivityScenario: Update currentActivityStage to STARTED, currentActivity=com.yorvana.MainActivity@5dc27a5
4367:06-15 14:55:41.731  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@5dc27a5 in: RESUMED
4368:06-15 14:55:41.734  2338  2338 V ActivityScenario: Update currentActivityStage to RESUMED, currentActivity=com.yorvana.MainActivity@5dc27a5
4386:06-15 14:55:42.134   575   596 I ActivityTaskManager: Displayed com.yorvana/.MainActivity: +1s576ms
4421:06-15 14:56:13.421  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@5dc27a5 in: PAUSED
4422:06-15 14:56:13.421  2338  2338 V ActivityScenario: Update currentActivityStage to PAUSED, currentActivity=com.yorvana.MainActivity@5dc27a5
4432:06-15 14:56:14.382  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@5dc27a5 in: STOPPED
4433:06-15 14:56:14.382  2338  2338 V ActivityScenario: Update currentActivityStage to STOPPED, currentActivity=com.yorvana.MainActivity@5dc27a5
4438:06-15 14:56:14.416  2338  2338 W BillingClient: java.lang.IllegalArgumentException: Service not registered: com.android.billingclient.api.zzbw@5ca3724
4445:06-15 14:56:14.416  2338  2338 W BillingClient: 	at com.yorvana.MainActivity.onDestroy(MainActivity.kt:81)
4463:06-15 14:56:14.422  2338  2338 D LifecycleMonitor: Lifecycle status change: com.yorvana.MainActivity@5dc27a5 in: DESTROYED
4466:06-15 14:56:14.471   575   943 W InputManager-JNI: Input channel object '3895e47 com.yorvana/com.yorvana.MainActivity (client)' was disposed without first being removed with the input manager!
4468:06-15 14:56:14.513  2338  2354 E RetryRule: java.lang.IllegalStateException: Only a single call to `runTest` can be performed during one test.
4539:06-15 14:56:14.650  2338  2354 E TestRunner: java.lang.AssertionError: Failed to inject touch input.
4540:06-15 14:56:14.650  2338  2354 E TestRunner: Reason: Expected exactly '1' node but could not find any node that satisfies: (TestTag = 'RecordItem_851e1aa4-af86-4697-8c68-083f77e5e03c')
4623:06-15 14:56:14.651  2338  2354 E TestRunner: 	Suppressed: java.lang.IllegalStateException: Only a single call to `runTest` can be performed during one test.
4631:06-15 14:56:14.651  2338  2354 E TestRunner: 	Suppressed: java.lang.IllegalStateException: Only a single call to `runTest` can be performed during one test.


Output:
Chunk ID: 4be626
Wall time: 0.2182 seconds
Process exited with code 0
Original token count: 699
Output:
     1	package com.yorvana.testsupport
     2
     3	import androidx.compose.ui.test.junit4.AndroidComposeTestRule
     4	import androidx.compose.ui.test.onAllNodesWithTag
     5	import androidx.compose.ui.test.onAllNodesWithText
     6	import androidx.test.ext.junit.rules.ActivityScenarioRule
     7	import com.yorvana.MainActivity
     8
     9	typealias MainActivityComposeRule = AndroidComposeTestRule<ActivityScenarioRule<MainActivity>, MainActivity>
    10
    11	fun MainActivityComposeRule.awaitTagVisible(
    12	    tag: String,
    13	    timeoutMillis: Long = 30_000,
    14	) {
    15	    waitUntil(timeoutMillis) {
    16	        onAllNodesWithTag(tag).fetchSemanticsNodes().isNotEmpty()
    17	    }
    18	}
    19
    20	fun MainActivityComposeRule.awaitTagGone(
    21	    tag: String,
    22	    timeoutMillis: Long = 30_000,
    23	) {
    24	    waitUntil(timeoutMillis) {
    25	        onAllNodesWithTag(tag).fetchSemanticsNodes().isEmpty()
    26	    }
    27	}
    28
    29	fun MainActivityComposeRule.awaitText(
    30	    text: String,
    31	    timeoutMillis: Long = 30_000,
    32	    substring: Boolean = false,
    33	) {
    34	    waitUntil(timeoutMillis) {
    35	        onAllNodesWithText(text, substring = substring).fetchSemanticsNodes().isNotEmpty()
    36	    }
    37	}
app/src/main/java/com/yorvana/ui/TestTags.kt:16:    const val SAVE_BUTTON = "SaveButton"
app/src/main/java/com/yorvana/ui/TestTags.kt:16:    const val SAVE_BUTTON = "SaveButton"
app/src/main/java/com/yorvana/ui/vehicles/AddEditVehicleScreen.kt:138:                                .testTag(TestTags.SAVE_BUTTON)
app/src/main/java/com/yorvana/ui/vehicles/AddEditVehicleScreen.kt:138:                                .testTag(TestTags.SAVE_BUTTON)
app/src/main/java/com/yorvana/ui/records/AddEditRecordViewModel.kt:553:                    recordRepo.saveRecord(record)
app/src/main/java/com/yorvana/ui/records/AddEditRecordScreen.kt:284:                                .testTag(TestTags.SAVE_BUTTON)
app/src/main/java/com/yorvana/ui/records/AddEditRecordViewModel.kt:553:                    recordRepo.saveRecord(record)
app/src/main/java/com/yorvana/ui/settings/CategoriesScreen.kt:137:                    modifier = Modifier.testTag(TestTags.SAVE_BUTTON),
app/src/main/java/com/yorvana/ui/records/AddEditRecordScreen.kt:284:                                .testTag(TestTags.SAVE_BUTTON)
app/src/main/java/com/yorvana/ui/settings/CategoriesScreen.kt:137:                    modifier = Modifier.testTag(TestTags.SAVE_BUTTON),
app/src/main/java/com/yorvana/data/repository/RecordRepositoryImpl.kt:77:    override suspend fun saveRecord(record: ServiceRecord) {
app/src/main/java/com/yorvana/data/repository/RecordRepository.kt:23:    suspend fun saveRecord(record: ServiceRecord)


Output:
Chunk ID: 34ee3f
Wall time: 0.0785 seconds
Process exited with code 0
Original token count: 827
Output:
63a6c06 fix: harden system picker, camera, and navigation in regression checks
 .../attachments/AttachmentRealOsRegressionTest.kt  |  4 +++
 .../lifecycle/LifecycleRobustnessRegressionTest.kt |  1 +
 .../java/com/yorvana/testsupport/Camera.kt         | 18 ++++++++++
 .../java/com/yorvana/testsupport/SystemPicker.kt   | 38 +++++++++++++++++++++-
 4 files changed, 60 insertions(+), 1 deletion(-)
commit 63a6c06ac485779c22981846619b77c072598725
Author:     Mesya82 <mesya82@users.noreply.github.com>
AuthorDate: Thu May 28 16:09:39 2026 +0300
Commit:     Mesya82 <mesya82@users.noreply.github.com>
CommitDate: Thu May 28 19:31:26 2026 +0300

    fix: harden system picker, camera, and navigation in regression checks

diff --git a/app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt b/app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt
index 2e4b62d..5f3674a 100644
--- a/app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt
+++ b/app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt
@@ -262,6 +262,10 @@ class AttachmentRealOsRegressionTest {
         composeRule.onNodeWithText(composeRule.activity.getString(R.string.action_ok)).performClick()
         composeRule.waitForIdle()

+        // Navigate back from settings to vehicle list
+        composeRule.onNodeWithContentDescription(composeRule.activity.getString(R.string.action_back)).performClick()
+        composeRule.waitForIdle()
+
         openVehicle("Move Attachment Car")
         openRecord(record)
         assertExternalViewIntentLaunches("application/pdf") {
diff --git a/app/src/androidTest/java/com/yorvana/testsupport/Camera.kt b/app/src/androidTest/java/com/yorvana/testsupport/Camera.kt
index d3dcc09..26df3ab 100644
--- a/app/src/androidTest/java/com/yorvana/testsupport/Camera.kt
+++ b/app/src/androidTest/java/com/yorvana/testsupport/Camera.kt
@@ -9,6 +9,8 @@ object Camera {
     private const val TIMEOUT_MILLIS = 10_000L

     fun captureAndAccept(device: UiDevice) {
+        dismissDialogsAndPermissions(device)
+
         val shutter =
             device.wait(Until.findObject(By.res("com.android.camera2:id/shutter_button")), TIMEOUT_MILLIS)
                 ?: device.wait(Until.findObject(By.descContains("Shutter")), TIMEOUT_MILLIS)
@@ -26,6 +28,7 @@ object Camera {
     }

     fun captureAndCancel(device: UiDevice) {
+        dismissDialogsAndPermissions(device)
         device.pressBack()
         val discard =
             device.wait(Until.findObject(By.textContains("Discard")), TIMEOUT_MILLIS)
@@ -40,4 +43,19 @@ object Camera {
                 }
         discard.click()
     }
+
+    private fun dismissDialogsAndPermissions(device: UiDevice) {
+        device.waitForIdle()
+        repeat(2) {
+            if (Permissions.acceptIfShown(device)) {
+                device.waitForIdle()
+            }
+        }
+        val locationOk =
+            device.wait(Until.findObject(By.text("OK")), 1000)
+                ?: device.wait(Until.findObject(By.text("Next")), 1000)
+                ?: device.wait(Until.findObject(By.textContains("Remember")), 1000)
+        locationOk?.click()
+        device.waitForIdle()
+    }
 }


Artifact evidence confirms a synchronization defect in the test: the save succeeds in storage, but `rA07` clicks the record row without waiting for the vehicle-detail screen or row recomposition. The equivalent camera test already waits for `ADD_RECORD_FAB`; I’m reproducing `rA07` unchanged first, after cleaning managed devices, with KVM and `-Pandroid.testoptions.manageddevices.emulator.gpu=host`.


Output:
Chunk ID: 3a78b9
Wall time: 1.0008 seconds
Process running with session ID 12556
Original token count: 40
Output:
Picked up JAVA_TOOL_OPTIONS: -Xlog:os+container=off
Starting a Gradle Daemon, 5 busy and 1 incompatible Daemons could not be reused, use --status for details


Output:
Chunk ID: 728045
Wall time: 4.8107 seconds
Process exited with code 0
Original token count: 263
Output:

> Configure project :app
WARNING: The option setting 'android.testoptions.manageddevices.emulator.gpu=host' is experimental.

> Task :macrobenchmark:cleanManagedDevices
Failed to delete avd: dev33_default_x86_64_Pixel_2.
Successfully deleted 0 managed devices.

> Task :app:cleanManagedDevices
Successfully deleted 1 managed devices.

[Incubating] Problems report is available at: file:///home/Messier82/projects/service-book/build/reports/problems/problems-report.html

Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/9.5.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD SUCCESSFUL in 12s
2 actionable tasks: 2 executed
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.5.1/userguide/configuration_cache_enabling.html


Output:
Chunk ID: 65471f
Wall time: 1.0004 seconds
Process running with session ID 26093
Original token count: 144
Output:
Picked up JAVA_TOOL_OPTIONS: -Xlog:os+container=off

│···············│ 0% CONFIGURING [76ms]
│···············│ 0% CONFIGURING [176ms]> root project > Resolve dependencies of classpath│···············│ 0% CONFIGURING [276ms]> root project│█████··········│ 33% CONFIGURING [376ms]> :app


Output:
Chunk ID: c23984
Wall time: 5.0014 seconds
Process running with session ID 26093
Original token count: 2040
Output:
│█████··········│ 33% CONFIGURING [476ms]
> Configure project :app
WARNING: The option setting 'android.testoptions.manageddevices.emulator.gpu=host' is experimental.

│██████████·····│ 66% CONFIGURING [576ms]> :macrobenchmark│███████████████│ 100% CONFIGURING [676ms]> Building task graph of root build│███████████████│ 100% CONFIGURING [776ms]│███████████████│ 100% CONFIGURING [876ms]│███████████████│ 100% CONFIGURING [976ms]│███████████████│ 100% CONFIGURING [1s]
│▌··············│ 3% EXECUTING [1s]> :macrobenchmark:checkTestedAppObfuscationDebug > Resolve dependencies of :mac> :app:generateDebugBuildConfig│█▎·············│ 8% EXECUTING [1s]> :app:processDebugNavigationResources > Resolve dependencies of :app:debugRunt> :macrobenchmark:processDebugNavigationResources> :macrobenchmark:processDebugNavigationResources > Resolve files of configurat│█▋·············│ 10% EXECUTING [1s]> :app:processDebugNavigationResources > Resolve files of configuration ':app:d> :macrobenchmark:compileDebugKotlin > Resolve files of configuration ':macrobe│█▋·············│ 10% EXECUTING [2s]> :macrobenchmark:compileDebugKotlin│██▋············│ 17% EXECUTING [2s]> :macrobenchmark:mergeDebugJavaResource│██▊············│ 18% EXECUTING [2s]> :macrobenchmark:checkDebugDuplicateClasses > Resolve files of configuration '│███▍···········│ 22% EXECUTING [2s]> :app:compileDebugKotlin> :macrobenchmark:mergeExtDexDebug > Resolve files of configuration ':macrobenc│███▋···········│ 24% EXECUTING [2s]> :macrobenchmark:checkDebugAarMetadata > Resolve files of configuration ':macr│████···········│ 26% EXECUTING [2s]> :app:compileDebugKotlin > Resolve files of configuration ':app:detachedConfig> :macrobenchmark:mergeDebugResources > Resolve files of configuration ':macrob│████▏··········│ 27% EXECUTING [2s]> :macrobenchmark:processDebugManifest > Resolve files of configuration ':macro│████▎··········│ 28% EXECUTING [2s]> :app:compileDebugKotlin> :macrobenchmark:processDebugResources > Resolve files of configuration ':macr│█████▋·········│ 37% EXECUTING [2s]> :macrobenchmark:packageDebug> :app:checkDebugAarMetadata > Resolve files of configuration ':app:debugRuntim│██████▎········│ 42% EXECUTING [2s]> :macrobenchmark:pixel2api33Setup> :app:mergeDebugResources > Resolve files of configuration ':app:debugRuntimeC│██████▋········│ 44% EXECUTING [3s]> :app:processDebugMainManifest > Resolve files of configuration ':app:debugRun│███████········│ 47% EXECUTING [3s]> :app:processDebugResources > Resolve files of configuration ':app:debugRuntim│███████▍·······│ 49% EXECUTING [3s]> :app:processDebugAndroidTestManifest > Resolve dependencies of :app:debugAndr> :app:processDebugAndroidTestManifest│███████▊·······│ 52% EXECUTING [3s]> :app:packageDebugAndroidTestResources
│████████▍······│ 56% EXECUTING [3s]> :app:generateDebugAndroidTestRFile> :app:mergeDebugAssets > Resolve files of configuration ':app:debugRuntimeClas│█████████······│ 60% EXECUTING [4s]> IDLE> :app:mergeDebugJavaResource > Resolve files of configuration ':app:debugRunti│█████████▏·····│ 61% EXECUTING [4s]> :app:compileDebugAndroidTestKotlin > Resolve files of configuration ':app:det
> Task :macrobenchmark:pixel2api33Setup
The device "pixel2api33" does not specify a "testedAbi".
This currently defaults to "x86_64", but will change to "arm64-v8a" in AGP 10.0.

The system image configured for "pixel2api33" does not support NDK translation,
so it will be unable to run tests built for "arm64-v8a".

To keep the current behavior and prevent test failures in AGP 10.0,
explicitly set the ABI: testedAbi = "x86_64"

│█████████▏·····│ 61% EXECUTING [4s]> :macrobenchmark:pixel2api33Setup> IDLE> :app:compileDebugAndroidTestKotlin│█████████▏·····│ 61% EXECUTING [5s]> :app:checkDebugDuplicateClasses > Resolve files of configuration ':app:debugR│█████████▍·····│ 63% EXECUTING [5s]> :app:mergeExtDexDebug > Resolve files of configuration ':app:debugRuntimeClas│█████████▋·····│ 64% EXECUTING [5s]> :app:dexBuilderDebug│██████████·····│ 67% EXECUTING [5s]> :app:mergeDebugNativeLibs > Resolve files of configuration ':app:debugRuntime│███████████····│ 73% EXECUTING [5s]> :app:mergeDebugAndroidTestAssets│███████████▍···│ 76% EXECUTING [6s]> :app:checkDebugAndroidTestDuplicateClasses > Resolve files of configuration '│███████████▊···│ 78% EXECUTING [6s]> :app:mergeExtDexDebugAndroidTest > Resolve files of configuration ':app:debug> :app:mergeExtDexDebugAndroidTest
│████████████▏··│ 81% EXECUTING [6s]> :app:mergeDebugAndroidTestResources > Resolve files of configuration ':app:de> :app:mergeDebugAndroidTestResources│████████████▏··│ 81% EXECUTING [7s]│████████████▏··│ 81% EXECUTING [8s]> :app:mergeDebugAndroidTestResources > Packing build cache entry


Output:
Chunk ID: 2121d4
Wall time: 30.0010 seconds
Process running with session ID 26093
Original token count: 4035
Output:
│████████████▏··│ 81% EXECUTING [9s]│████████████▎··│ 82% EXECUTING [9s]> :app:processDebugAndroidTestResources> :app:processDebugAndroidTestResources > Resolve files of configuration ':app:> :app:processDebugAndroidTestResources│████████████▎··│ 82% EXECUTING [10s]│████████████▌··│ 84% EXECUTING [10s]> :app:mergeDebugAndroidTestNativeLibs > Resolve files of configuration ':app:d> :app:mergeDebugAndroidTestNativeLibs│████████████▋··│ 84% EXECUTING [11s]> IDLE> :app:stripDebugAndroidTestDebugSymbols
> Task :app:stripDebugAndroidTestDebugSymbols
Unable to strip the following libraries, packaging them as they are: libmockkjvmtiagent.so. Run with --info option to learn more.

│████████████▉··│ 86% EXECUTING [11s]> :macrobenchmark:pixel2api33Setup> :app:mergeExtDexDebugAndroidTest> :app:compileDebugAndroidTestKotlin> :app:writeDebugAndroidTestSigningConfigVersions│█████████████··│ 87% EXECUTING [11s]> :app:pixel2api33Setup│█████████████··│ 87% EXECUTING [12s]│█████████████··│ 87% EXECUTING [13s]
> Task :app:pixel2api33Setup
The device "pixel2api33" does not specify a "testedAbi".
This currently defaults to "x86_64", but will change to "arm64-v8a" in AGP 10.0.

The system image configured for "pixel2api33" does not support NDK translation,
so it will be unable to run tests built for "arm64-v8a".

To keep the current behavior and prevent test failures in AGP 10.0,
explicitly set the ABI: testedAbi = "x86_64"

│█████████████··│ 87% EXECUTING [13s]> :macrobenchmark:pixel2api33Setup> :app:mergeExtDexDebugAndroidTest> :app:compileDebugAndroidTestKotlin> :app:pixel2api33Setup│█████████████··│ 87% EXECUTING [14s]│█████████████··│ 87% EXECUTING [15s]│█████████████··│ 87% EXECUTING [16s]│█████████████··│ 87% EXECUTING [17s]│█████████████··│ 87% EXECUTING [18s]> :app:mergeExtDexDebugAndroidTest > Packing build cache entry│█████████████··│ 87% EXECUTING [19s]│█████████████▏·│ 88% EXECUTING [19s]> IDLE│█████████████▏·│ 88% EXECUTING [20s]│█████████████▏·│ 88% EXECUTING [21s]│█████████████▏·│ 88% EXECUTING [22s]│█████████████▏·│ 88% EXECUTING [23s]│█████████████▏·│ 88% EXECUTING [24s]│█████████████▏·│ 88% EXECUTING [25s]│█████████████▏·│ 88% EXECUTING [26s]│█████████████▏·│ 88% EXECUTING [27s]│█████████████▏·│ 88% EXECUTING [28s]│█████████████▏·│ 88% EXECUTING [29s]│█████████████▏·│ 88% EXECUTING [30s]│█████████████▏·│ 88% EXECUTING [31s]│█████████████▏·│ 88% EXECUTING [32s]│█████████████▏·│ 88% EXECUTING [33s]> :app:compileDebugAndroidTestKotlin > Packing build cache entry
> Task :app:compileDebugAndroidTestKotlin
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/SmokeTest.kt:52:27 'fun <reified A : ComponentActivity> createAndroidComposeRule(effectContext: CoroutineContext = ...): AndroidComposeTestRule<ActivityScenarioRule<A>, A>' is deprecated. Use `androidx.compose.ui.test.junit4.v2.createAndroidComposeRule` instead. The v2 APIs use StandardTestDispatcher instead of UnconfinedTestDispatcher, which aligns with standard coroutine behavior by queuing tasks rather than executing them immediately. Tests relying on immediate execution may require explicit synchronization. Please refer to the migration guide for more details.
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt:52:23 'fun <reified A : ComponentActivity> createAndroidComposeRule(effectContext: CoroutineContext = ...): AndroidComposeTestRule<ActivityScenarioRule<A>, A>' is deprecated. Use `androidx.compose.ui.test.junit4.v2.createAndroidComposeRule` instead. The v2 APIs use StandardTestDispatcher instead of UnconfinedTestDispatcher, which aligns with standard coroutine behavior by queuing tasks rather than executing them immediately. Tests relying on immediate execution may require explicit synchronization. Please refer to the migration guide for more details.
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/attachments/ImageViewerGestureRegressionTest.kt:39:23 'fun <reified A : ComponentActivity> createAndroidComposeRule(effectContext: CoroutineContext = ...): AndroidComposeTestRule<ActivityScenarioRule<A>, A>' is deprecated. Use `androidx.compose.ui.test.junit4.v2.createAndroidComposeRule` instead. The v2 APIs use StandardTestDispatcher instead of UnconfinedTestDispatcher, which aligns with standard coroutine behavior by queuing tasks rather than executing them immediately. Tests relying on immediate execution may require explicit synchronization. Please refer to the migration guide for more details.
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/billing/BillingSandboxRegressionTest.kt:39:23 'fun <reified A : ComponentActivity> createAndroidComposeRule(effectContext: CoroutineContext = ...): AndroidComposeTestRule<ActivityScenarioRule<A>, A>' is deprecated. Use `androidx.compose.ui.test.junit4.v2.createAndroidComposeRule` instead. The v2 APIs use StandardTestDispatcher instead of UnconfinedTestDispatcher, which aligns with standard coroutine behavior by queuing tasks rather than executing them immediately. Tests relying on immediate execution may require explicit synchronization. Please refer to the migration guide for more details.
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/lifecycle/LifecycleRobustnessRegressionTest.kt:42:23 'fun <reified A : ComponentActivity> createAndroidComposeRule(effectContext: CoroutineContext = ...): AndroidComposeTestRule<ActivityScenarioRule<A>, A>' is deprecated. Use `androidx.compose.ui.test.junit4.v2.createAndroidComposeRule` instead. The v2 APIs use StandardTestDispatcher instead of UnconfinedTestDispatcher, which aligns with standard coroutine behavior by queuing tasks rather than executing them immediately. Tests relying on immediate execution may require explicit synchronization. Please refer to the migration guide for more details.
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/records/RecordRegressionTest.kt:43:23 'fun <reified A : ComponentActivity> createAndroidComposeRule(effectContext: CoroutineContext = ...): AndroidComposeTestRule<ActivityScenarioRule<A>, A>' is deprecated. Use `androidx.compose.ui.test.junit4.v2.createAndroidComposeRule` instead. The v2 APIs use StandardTestDispatcher instead of UnconfinedTestDispatcher, which aligns with standard coroutine behavior by queuing tasks rather than executing them immediately. Tests relying on immediate execution may require explicit synchronization. Please refer to the migration guide for more details.
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/settings/SettingsCategoriesPaywallRegressionTest.kt:49:23 'fun <reified A : ComponentActivity> createAndroidComposeRule(effectContext: CoroutineContext = ...): AndroidComposeTestRule<ActivityScenarioRule<A>, A>' is deprecated. Use `androidx.compose.ui.test.junit4.v2.createAndroidComposeRule` instead. The v2 APIs use StandardTestDispatcher instead of UnconfinedTestDispatcher, which aligns with standard coroutine behavior by queuing tasks rather than executing them immediately. Tests relying on immediate execution may require explicit synchronization. Please refer to the migration guide for more details.
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/setup/SetupRegressionTest.kt:27:31 'fun <reified A : ComponentActivity> createAndroidComposeRule(effectContext: CoroutineContext = ...): AndroidComposeTestRule<ActivityScenarioRule<A>, A>' is deprecated. Use `androidx.compose.ui.test.junit4.v2.createAndroidComposeRule` instead. The v2 APIs use StandardTestDispatcher instead of UnconfinedTestDispatcher, which aligns with standard coroutine behavior by queuing tasks rather than executing them immediately. Tests relying on immediate execution may require explicit synchronization. Please refer to the migration guide for more details.
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/vault/StorageRobustnessRegressionTest.kt:55:22 Redundant creation of Json format. Creating instances for each usage can be slow.
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/vault/StorageRobustnessRegressionTest.kt:80:22 Redundant creation of Json format. Creating instances for each usage can be slow.
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/vault/VaultRealOsRegressionTest.kt:36:23 'fun <reified A : ComponentActivity> createAndroidComposeRule(effectContext: CoroutineContext = ...): AndroidComposeTestRule<ActivityScenarioRule<A>, A>' is deprecated. Use `androidx.compose.ui.test.junit4.v2.createAndroidComposeRule` instead. The v2 APIs use StandardTestDispatcher instead of UnconfinedTestDispatcher, which aligns with standard coroutine behavior by queuing tasks rather than executing them immediately. Tests relying on immediate execution may require explicit synchronization. Please refer to the migration guide for more details.
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/vehicles/VehicleRegressionTest.kt:53:23 'fun <reified A : ComponentActivity> createAndroidComposeRule(effectContext: CoroutineContext = ...): AndroidComposeTestRule<ActivityScenarioRule<A>, A>' is deprecated. Use `androidx.compose.ui.test.junit4.v2.createAndroidComposeRule` instead. The v2 APIs use StandardTestDispatcher instead of UnconfinedTestDispatcher, which aligns with standard coroutine behavior by queuing tasks rather than executing them immediately. Tests relying on immediate execution may require explicit synchronization. Please refer to the migration guide for more details.
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/screenshots/StoreScreenshotBase.kt:18:27 'fun <reified A : ComponentActivity> createAndroidComposeRule(effectContext: CoroutineContext = ...): AndroidComposeTestRule<ActivityScenarioRule<A>, A>' is deprecated. Use `androidx.compose.ui.test.junit4.v2.createAndroidComposeRule` instead. The v2 APIs use StandardTestDispatcher instead of UnconfinedTestDispatcher, which aligns with standard coroutine behavior by queuing tasks rather than executing them immediately. Tests relying on immediate execution may require explicit synchronization. Please refer to the migration guide for more details.
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/testsupport/RegressionHelpers.kt:205:5 Redundant creation of Json format. Creating instances for each usage can be slow.

│█████████████▎·│ 89% EXECUTING [33s]> :macrobenchmark:pixel2api33Setup> IDLE> :app:compileDebugAndroidTestJavaWithJavac> :app:pixel2api33Setup> :app:compileDebugAndroidTestJavaWithJavac > Resolve files of configuration ':> :app:compileDebugAndroidTestJavaWithJavac│█████████████▎·│ 89% EXECUTING [34s]│█████████████▎·│ 89% EXECUTING [35s]│█████████████▎·│ 89% EXECUTING [36s]│█████████████▎·│ 89% EXECUTING [37s]│█████████████▎·│ 89% EXECUTING [38s]│█████████████▍·│ 89% EXECUTING [38s]> :app:processDebugAndroidTestJavaRes│█████████████▌·│ 90% EXECUTING [38s]> :app:dexBuilderDebugAndroidTest> :app:mergeDebugAndroidTestJavaResource│█████████████▌·│ 90% EXECUTING [39s]│█████████████▌·│ 90% EXECUTING [40s]│█████████████▌·│ 90% EXECUTING [41s]│█████████████▋·│ 91% EXECUTING [41s]> IDLE│█████████████▋·│ 91% EXECUTING [42s]│█████████████▋·│ 91% EXECUTING [43s]│█████████████▊·│ 92% EXECUTING [43s]> :app:mergeProjectDexDebugAndroidTest> :app:mergeProjectDexDebugAndroidTest > Packing build cache entry│█████████████▉·│ 93% EXECUTING [43s]> :app:packageDebugAndroidTest│█████████████▉·│ 93% EXECUTING [44s]│██████████████▏│ 94% EXECUTING [44s]> IDLE


Output:
Chunk ID: b494a0
Wall time: 30.0010 seconds
Process running with session ID 26093
Original token count: 939
Output:
│██████████████▏│ 94% EXECUTING [45s]│██████████████▏│ 94% EXECUTING [46s]│██████████████▏│ 94% EXECUTING [47s]│██████████████▏│ 94% EXECUTING [48s]│██████████████▏│ 94% EXECUTING [49s]│██████████████▏│ 94% EXECUTING [50s]│██████████████▏│ 94% EXECUTING [51s]│██████████████▏│ 94% EXECUTING [52s]│██████████████▏│ 94% EXECUTING [53s]│██████████████▏│ 94% EXECUTING [54s]│██████████████▏│ 94% EXECUTING [55s]│██████████████▏│ 94% EXECUTING [56s]│██████████████▏│ 94% EXECUTING [57s]│██████████████▏│ 94% EXECUTING [58s]│██████████████▏│ 94% EXECUTING [59s]│██████████████▏│ 94% EXECUTING [1m]│██████████████▏│ 94% EXECUTING [1m 1s]│██████████████▏│ 94% EXECUTING [1m 2s]│██████████████▏│ 94% EXECUTING [1m 3s]│██████████████▏│ 94% EXECUTING [1m 4s]│██████████████▏│ 94% EXECUTING [1m 5s]│██████████████▏│ 94% EXECUTING [1m 6s]│██████████████▏│ 94% EXECUTING [1m 7s]│██████████████▏│ 94% EXECUTING [1m 8s]│██████████████▏│ 94% EXECUTING [1m 9s]│██████████████▏│ 94% EXECUTING [1m 10s]│██████████████▏│ 94% EXECUTING [1m 11s]│██████████████▏│ 94% EXECUTING [1m 12s]│██████████████▏│ 94% EXECUTING [1m 13s]│██████████████▏│ 94% EXECUTING [1m 14s]│██████████████▏│ 94% EXECUTING [1m 15s]│██████████████▏│ 94% EXECUTING [1m 16s]│██████████████▏│ 94% EXECUTING [1m 17s]│██████████████▏│ 94% EXECUTING [1m 18s]


Output:
Chunk ID: 8d5558
Wall time: 30.0008 seconds
Process running with session ID 26093
Original token count: 1285
Output:
│██████████████▏│ 94% EXECUTING [1m 19s]│██████████████▏│ 94% EXECUTING [1m 20s]│██████████████▏│ 94% EXECUTING [1m 21s]│██████████████▏│ 94% EXECUTING [1m 22s]│██████████████▏│ 94% EXECUTING [1m 23s]│██████████████▏│ 94% EXECUTING [1m 24s]│██████████████▏│ 94% EXECUTING [1m 25s]│██████████████▏│ 94% EXECUTING [1m 26s]│██████████████▏│ 94% EXECUTING [1m 27s]│██████████████▏│ 94% EXECUTING [1m 28s]│██████████████▏│ 94% EXECUTING [1m 29s]│██████████████▏│ 94% EXECUTING [1m 30s]│██████████████▏│ 94% EXECUTING [1m 31s]│██████████████▏│ 94% EXECUTING [1m 32s]│██████████████▏│ 94% EXECUTING [1m 33s]│██████████████▏│ 94% EXECUTING [1m 34s]│██████████████▏│ 94% EXECUTING [1m 35s]│██████████████▏│ 94% EXECUTING [1m 36s]│██████████████▏│ 94% EXECUTING [1m 37s]│██████████████▏│ 94% EXECUTING [1m 38s]│██████████████▏│ 94% EXECUTING [1m 39s]│██████████████▏│ 94% EXECUTING [1m 40s]│██████████████▏│ 94% EXECUTING [1m 41s]│██████████████▏│ 94% EXECUTING [1m 42s]│██████████████▏│ 94% EXECUTING [1m 43s]│██████████████▏│ 94% EXECUTING [1m 44s]│██████████████▎│ 95% EXECUTING [1m 44s]> :macrobenchmark:pixel2api33DebugAndroidTest> :macrobenchmark:pixel2api33DebugAndroidTest > Resolve dependencies of :macrob│██████████████▎│ 95% EXECUTING [1m 45s]> :macrobenchmark:pixel2api33DebugAndroidTest> :macrobenchmark:pixel2api33DebugAndroidTest > Resolve dependencies of :macrob> :macrobenchmark:pixel2api33DebugAndroidTest│██████████████▎│ 95% EXECUTING [1m 46s]│██████████████▍│ 96% EXECUTING [1m 47s]> :app:pixel2api33DebugAndroidTest > Resolve dependencies of :app:unified-test-> :app:pixel2api33DebugAndroidTest│██████████████▍│ 96% EXECUTING [1m 48s]│██████████████▍│ 96% EXECUTING [1m 49s]│██████████████▍│ 96% EXECUTING [1m 50s]│██████████████▍│ 96% EXECUTING [1m 51s]│██████████████▍│ 96% EXECUTING [1m 52s]│██████████████▍│ 96% EXECUTING [1m 53s]│██████████████▍│ 96% EXECUTING [1m 54s]│██████████████▍│ 96% EXECUTING [1m 55s]│██████████████▍│ 96% EXECUTING [1m 56s]│██████████████▍│ 96% EXECUTING [1m 57s]│██████████████▍│ 96% EXECUTING [1m 58s]


Output:
Chunk ID: 976aca
Wall time: 30.0005 seconds
Process running with session ID 26093
Original token count: 2467
Output:
│██████████████▍│ 96% EXECUTING [1m 59s]│██████████████▍│ 96% EXECUTING [2m]│██████████████▍│ 96% EXECUTING [2m 1s]│██████████████▍│ 96% EXECUTING [2m 2s]│██████████████▍│ 96% EXECUTING [2m 3s]│██████████████▍│ 96% EXECUTING [2m 4s]│██████████████▍│ 96% EXECUTING [2m 5s]│██████████████▍│ 96% EXECUTING [2m 6s]│██████████████▍│ 96% EXECUTING [2m 7s]│██████████████▍│ 96% EXECUTING [2m 8s]│██████████████▍│ 96% EXECUTING [2m 9s]Starting 1 tests on pixel2api33

│██████████████▍│ 96% EXECUTING [2m 9s]> :macrobenchmark:pixel2api33DebugAndroidTest> IDLE> IDLE> :app:pixel2api33DebugAndroidTest│██████████████▍│ 96% EXECUTING [2m 10s]│██████████████▍│ 96% EXECUTING [2m 11s]│██████████████▍│ 96% EXECUTING [2m 12s]│██████████████▍│ 96% EXECUTING [2m 13s]│██████████████▍│ 96% EXECUTING [2m 14s]│██████████████▍│ 96% EXECUTING [2m 15s]│██████████████▍│ 96% EXECUTING [2m 16s]│██████████████▍│ 96% EXECUTING [2m 17s]│██████████████▍│ 96% EXECUTING [2m 18s]│██████████████▍│ 96% EXECUTING [2m 19s]pixel2api33 Tests 0/1 completed. (0 skipped) (0 failed)

│██████████████▍│ 96% EXECUTING [2m 19s]> :macrobenchmark:pixel2api33DebugAndroidTest> IDLE> IDLE> :app:pixel2api33DebugAndroidTest│██████████████▍│ 96% EXECUTING [2m 20s]Starting 1 tests on pixel2api33

│██████████████▍│ 96% EXECUTING [2m 20s]> :macrobenchmark:pixel2api33DebugAndroidTest> IDLE> IDLE> :app:pixel2api33DebugAndroidTest
com.yorvana.regression.attachments.AttachmentRealOsRegressionTest > initializationError[pixel2api33] FAILED
        java.lang.RuntimeException: Failed loading specified test class 'com.yorvana.regression.attachments.AttachmentRealOsRegressionTest'
        at androidx.test.internal.runner.DirectTestLoader.doCreateRunner(DirectTestLoader.java:50)

│██████████████▍│ 96% EXECUTING [2m 21s]> :macrobenchmark:pixel2api33DebugAndroidTest> IDLE> IDLE> :app:pixel2api33DebugAndroidTestTests on pixel2api33 failed: There was 1 failure(s).
Finished 1 tests on pixel2api33
Execute com.yorvana.regression.attachments.AttachmentRealOsRegressionTest.initializationError: FAILED
java.lang.ClassNotFoundException: java.lang.RuntimeException: Failed loading specified test class 'com.yorvana.regression.attachments.AttachmentRealOsRegressionTest'
at androidx.test.internal.runner.DirectTestLoader.doCreateRunner(DirectTestLoader.java:50)
at androidx.test.internal.runner.TestLoader.getRunnersFor(TestLoader.java:64)
at androidx.test.internal.runner.TestRequestBuilder.build(TestRequestBuilder.java:835)
at androidx.test.runner.AndroidJUnitRunner.buildRequest(AndroidJUnitRunner.java:650)
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:418)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2361)
Caused by: java.lang.ClassNotFoundException: com.yorvana.regression.attachments.AttachmentRealOsRegressionTest
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:454)
at androidx.test.internal.runner.DirectTestLoader.doCreateRunner(DirectTestLoader.java:44)
... 5 more
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.yorvana.regression.attachments.AttachmentRealOsRegressionTest" on path: DexPathList[[zip file "/data/app/~~Tb0xpWeYemRf_nI625jRLg==/com.yorvana.macrobenchmark-6damn25uwUu4IOoQ4SHm0A==/base.apk"],nativeLibraryDirectories=[/data/app/~~Tb0xpWeYemRf_nI625jRLg==/com.yorvana.macrobenchmark-6damn25uwUu4IOoQ4SHm0A==/lib/x86_64, /data/app/~~Tb0xpWeYemRf_nI625jRLg==/com.yorvana.macrobenchmark-6damn25uwUu4IOoQ4SHm0A==/base.apk!/lib/x86_64, /system/lib64, /system_ext/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 8 more

java.lang.RuntimeException: Failed loading specified test class 'com.yorvana.regression.attachments.AttachmentRealOsRegressionTest'
at androidx.test.internal.runner.DirectTestLoader.doCreateRunner(DirectTestLoader.java:50)
at androidx.test.internal.runner.TestLoader.getRunnersFor(TestLoader.java:64)
at androidx.test.internal.runner.TestRequestBuilder.build(TestRequestBuilder.java:835)
at androidx.test.runner.AndroidJUnitRunner.buildRequest(AndroidJUnitRunner.java:650)
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:418)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2361)
Caused by: java.lang.ClassNotFoundException: com.yorvana.regression.attachments.AttachmentRealOsRegressionTest
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:454)
at androidx.test.internal.runner.DirectTestLoader.doCreateRunner(DirectTestLoader.java:44)
... 5 more
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.yorvana.regression.attachments.AttachmentRealOsRegressionTest" on path: DexPathList[[zip file "/data/app/~~Tb0xpWeYemRf_nI625jRLg==/com.yorvana.macrobenchmark-6damn25uwUu4IOoQ4SHm0A==/base.apk"],nativeLibraryDirectories=[/data/app/~~Tb0xpWeYemRf_nI625jRLg==/com.yorvana.macrobenchmark-6damn25uwUu4IOoQ4SHm0A==/lib/x86_64, /data/app/~~Tb0xpWeYemRf_nI625jRLg==/com.yorvana.macrobenchmark-6damn25uwUu4IOoQ4SHm0A==/base.apk!/lib/x86_64, /system/lib64, /system_ext/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 8 more

│██████████████▍│ 96% EXECUTING [2m 21s]> :macrobenchmark:pixel2api33DebugAndroidTest> IDLE> IDLE> :app:pixel2api33DebugAndroidTest│██████████████▍│ 96% EXECUTING [2m 22s]
> Task :macrobenchmark:pixel2api33DebugAndroidTest FAILED

> Task :macrobenchmark:mergeDebugTestResultProtos
Test execution completed. See the report at: file:///home/Messier82/projects/service-book/macrobenchmark/build/reports/androidTests/managedDevice/debug/allDevices/index.html

│██████████████▋│ 98% EXECUTING [2m 22s]> IDLE> IDLE> IDLE> :app:pixel2api33DebugAndroidTest│██████████████▋│ 98% EXECUTING [2m 23s]│██████████████▋│ 98% EXECUTING [2m 24s]│██████████████▋│ 98% EXECUTING [2m 25s]│██████████████▋│ 98% EXECUTING [2m 26s]│██████████████▋│ 98% EXECUTING [2m 27s]│██████████████▋│ 98% EXECUTING [2m 28s]│██████████████▋│ 98% EXECUTING [2m 29s]│██████████████▋│ 98% EXECUTING [2m 30s]│██████████████▋│ 98% EXECUTING [2m 31s]│██████████████▋│ 98% EXECUTING [2m 32s]│██████████████▋│ 98% EXECUTING [2m 33s]


Output:
Chunk ID: 2351a9
Wall time: 30.0011 seconds
Process running with session ID 26093
Original token count: 923
Output:
│██████████████▋│ 98% EXECUTING [2m 34s]│██████████████▋│ 98% EXECUTING [2m 35s]│██████████████▋│ 98% EXECUTING [2m 36s]│██████████████▋│ 98% EXECUTING [2m 37s]│██████████████▋│ 98% EXECUTING [2m 38s]│██████████████▋│ 98% EXECUTING [2m 39s]│██████████████▋│ 98% EXECUTING [2m 40s]│██████████████▋│ 98% EXECUTING [2m 41s]│██████████████▋│ 98% EXECUTING [2m 42s]│██████████████▋│ 98% EXECUTING [2m 43s]│██████████████▋│ 98% EXECUTING [2m 44s]│██████████████▋│ 98% EXECUTING [2m 45s]│██████████████▋│ 98% EXECUTING [2m 46s]│██████████████▋│ 98% EXECUTING [2m 47s]│██████████████▋│ 98% EXECUTING [2m 48s]│██████████████▋│ 98% EXECUTING [2m 49s]│██████████████▋│ 98% EXECUTING [2m 50s]│██████████████▋│ 98% EXECUTING [2m 51s]│██████████████▋│ 98% EXECUTING [2m 52s]│██████████████▋│ 98% EXECUTING [2m 53s]│██████████████▋│ 98% EXECUTING [2m 54s]│██████████████▋│ 98% EXECUTING [2m 55s]│██████████████▋│ 98% EXECUTING [2m 56s]│██████████████▋│ 98% EXECUTING [2m 57s]│██████████████▋│ 98% EXECUTING [2m 58s]│██████████████▋│ 98% EXECUTING [2m 59s]│██████████████▋│ 98% EXECUTING [3m]│██████████████▋│ 98% EXECUTING [3m 1s]│██████████████▋│ 98% EXECUTING [3m 2s]│██████████████▋│ 98% EXECUTING [3m 3s]│██████████████▋│ 98% EXECUTING [3m 4s]│██████████████▋│ 98% EXECUTING [3m 5s]│██████████████▋│ 98% EXECUTING [3m 6s]


Output:
Chunk ID: f80dc8
Wall time: 17.7108 seconds
Process exited with code 1
Original token count: 1166
Output:
│██████████████▋│ 98% EXECUTING [3m 7s]│██████████████▋│ 98% EXECUTING [3m 8s]│██████████████▋│ 98% EXECUTING [3m 9s]│██████████████▋│ 98% EXECUTING [3m 10s]│██████████████▋│ 98% EXECUTING [3m 11s]│██████████████▋│ 98% EXECUTING [3m 12s]│██████████████▋│ 98% EXECUTING [3m 13s]│██████████████▋│ 98% EXECUTING [3m 14s]│██████████████▋│ 98% EXECUTING [3m 15s]│██████████████▋│ 98% EXECUTING [3m 16s]│██████████████▋│ 98% EXECUTING [3m 17s]│██████████████▋│ 98% EXECUTING [3m 18s]│██████████████▋│ 98% EXECUTING [3m 19s]│██████████████▋│ 98% EXECUTING [3m 20s]│██████████████▋│ 98% EXECUTING [3m 21s]│██████████████▋│ 98% EXECUTING [3m 22s]│██████████████▋│ 98% EXECUTING [3m 23s]│██████████████▋│ 98% EXECUTING [3m 24s]│██████████████▋│ 98% EXECUTING [3m 25s]│██████████████▋│ 98% EXECUTING [3m 26s]│██████████████▋│ 98% EXECUTING [3m 27s]Finished 1 tests on pixel2api33

│██████████████▋│ 98% EXECUTING [3m 27s]> IDLE> IDLE> IDLE> :app:pixel2api33DebugAndroidTest
> Task :app:mergeDebugAndroidTestTestResultProtos
Test execution completed. See the report at: file:///home/Messier82/projects/service-book/app/build/reports/androidTests/managedDevice/debug/allDevices/index.html

│███████████████│ 100% EXECUTING [3m 27s]> IDLE> IDLE> IDLE> IDLE
[Incubating] Problems report is available at: file:///home/Messier82/projects/service-book/build/reports/problems/problems-report.html

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':macrobenchmark:pixel2api33DebugAndroidTest' (registered by plugin 'com.android.internal.test').
> There were failing tests. See the report at: file:///home/Messier82/projects/service-book/macrobenchmark/build/reports/androidTests/managedDevice/debug/pixel2api33/index.html

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights from a Build Scan (powered by Develocity).
> Get more help at https://help.gradle.org.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/9.5.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD FAILED in 3m 28s
110 actionable tasks: 32 executed, 7 from cache, 71 up-to-date

│···············│ 0% WAITING> IDLE> IDLE> IDLE> IDLE


The unchanged app test passed once locally under `gpu=host`; the Gradle invocation itself failed only because the unqualified task also targeted the macrobenchmark module, where that app test class does not exist. This confirms intermittent timing rather than a production regression. I’m hardening the shared `openRecord` helper to wait for the specific record row before clicking, matching the synchronization pattern already used elsewhere.


Input:
*** Begin Patch
*** Update File: /home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt
@@
     private fun openRecord(record: com.yorvana.data.model.ServiceRecord) {
-        composeRule.onNodeWithTag(TestTags.recordItem(record.id)).performClick()
+        val recordTag = TestTags.recordItem(record.id)
+        composeRule.awaitTagVisible(recordTag, timeoutMillis = 60_000)
+        composeRule.onNodeWithTag(recordTag).performClick()
         composeRule.awaitTagVisible(TestTags.RECORD_DETAIL_ODOMETER_TEXT, timeoutMillis = 60_000)
     }
*** End Patch


Success. Updated the following files:
M /home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt

@@ -344,3 +344,5 @@
     private fun openRecord(record: com.yorvana.data.model.ServiceRecord) {
-        composeRule.onNodeWithTag(TestTags.recordItem(record.id)).performClick()
+        val recordTag = TestTags.recordItem(record.id)
+        composeRule.awaitTagVisible(recordTag, timeoutMillis = 60_000)
+        composeRule.onNodeWithTag(recordTag).performClick()
         composeRule.awaitTagVisible(TestTags.RECORD_DETAIL_ODOMETER_TEXT, timeoutMillis = 60_000)


Output:
Exit code: 0
Wall time: 0.7 seconds
Output:
Success. Updated the following files:
M /home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt


Output:
Chunk ID: 813071
Wall time: 1.0016 seconds
Process running with session ID 90996
Original token count: 73
Output:
Picked up JAVA_TOOL_OPTIONS: -Xlog:os+container=off

│···············│ 0% INITIALIZING [21ms]
│···············│ 0% INITIALIZING [121ms]> Evaluating settings


Output:
Chunk ID: b353d0
Wall time: 30.0007 seconds
Process running with session ID 90996
Original token count: 2537
Output:
│···············│ 0% CONFIGURING [221ms]> root project > Resolve dependencies of detachedConfiguration1│···············│ 0% CONFIGURING [321ms]> root project > Resolve dependencies of classpath│···············│ 0% CONFIGURING [421ms]> root project > Resolve files of configuration 'classpath'│···············│ 0% CONFIGURING [521ms]│···············│ 0% CONFIGURING [628ms]│█████··········│ 33% CONFIGURING [721ms]> :app│█████··········│ 33% CONFIGURING [821ms]│█████··········│ 33% CONFIGURING [921ms]│█████··········│ 33% CONFIGURING [1s]
> Configure project :app
WARNING: The option setting 'android.testoptions.manageddevices.emulator.gpu=host' is experimental.

│██████████·····│ 66% CONFIGURING [1s]> :macrobenchmark│███████████████│ 100% CONFIGURING [1s]> Building task graph of root build│▉··············│ 6% EXECUTING [1s]> :app:processDebugNavigationResources > Resolve dependencies of :app:debugRunt> :app:processDebugNavigationResources > Resolve files of configuration ':app:d> :app:processDebugNavigationResources│█▌·············│ 10% EXECUTING [1s]> :app:compileDebugKotlin > Resolve files of configuration ':app:detachedConfig│██·············│ 13% EXECUTING [1s]> IDLE│███▏···········│ 21% EXECUTING [2s]> :app:processDebugMainManifest > Resolve files of configuration ':app:debugRun│███▊···········│ 25% EXECUTING [2s]> :app:processDebugResources > Resolve files of configuration ':app:debugRuntim│████▎··········│ 28% EXECUTING [2s]> :app:processDebugAndroidTestManifest > Resolve dependencies of :app:debugAndr│████▉··········│ 32% EXECUTING [2s]> IDLE│█████▋·········│ 37% EXECUTING [2s]> :app:compileDebugAndroidTestKotlin > Resolve files of configuration ':app:det
│██████·········│ 40% EXECUTING [2s]> :app:compileDebugAndroidTestKotlin> :app:mergeDebugAssets > Resolve files of configuration ':app:debugRuntimeClas│███████▎·······│ 48% EXECUTING [2s]> :app:mergeExtDexDebug> :app:mergeExtDexDebug > Resolve files of configuration ':app:debugRuntimeClas│████████▎······│ 55% EXECUTING [2s]> :app:mergeDebugNativeLibs│█████████▊·····│ 65% EXECUTING [2s]> :app:mergeDebugAndroidTestAssets > Resolve files of configuration ':app:debug│██████████▋····│ 71% EXECUTING [3s]> :app:mergeExtDexDebugAndroidTest > Resolve files of configuration ':app:debug│████████████▉··│ 86% EXECUTING [3s]> :app:pixel2api33Setup│████████████▉··│ 86% EXECUTING [4s]
> Task :app:pixel2api33Setup
The device "pixel2api33" does not specify a "testedAbi".
This currently defaults to "x86_64", but will change to "arm64-v8a" in AGP 10.0.

The system image configured for "pixel2api33" does not support NDK translation,
so it will be unable to run tests built for "arm64-v8a".

To keep the current behavior and prevent test failures in AGP 10.0,
explicitly set the ABI: testedAbi = "x86_64"

│█████████████▏·│ 87% EXECUTING [4s]> :app:compileDebugAndroidTestKotlin> IDLE│█████████████▏·│ 87% EXECUTING [5s]│█████████████▏·│ 87% EXECUTING [6s]
> Task :app:compileDebugAndroidTestKotlin
w: file:///home/Messier82/projects/service-book/app/src/androidTest/java/com/yorvana/regression/attachments/AttachmentRealOsRegressionTest.kt:52:23 'fun <reified A : ComponentActivity> createAndroidComposeRule(effectContext: CoroutineContext = ...): AndroidComposeTestRule<ActivityScenarioRule<A>, A>' is deprecated. Use `androidx.compose.ui.test.junit4.v2.createAndroidComposeRule` instead. The v2 APIs use StandardTestDispatcher instead of UnconfinedTestDispatcher, which aligns with standard coroutine behavior by queuing tasks rather than executing them immediately. Tests relying on immediate execution may require explicit synchronization. Please refer to the migration guide for more details.

│█████████████▏·│ 87% EXECUTING [6s]> :app:compileDebugAndroidTestKotlin> IDLE> :app:compileDebugAndroidTestKotlin > Packing build cache entry│█████████████▎·│ 88% EXECUTING [7s]> :app:compileDebugAndroidTestJavaWithJavac│█████████████▉·│ 92% EXECUTING [7s]> :app:dexBuilderDebugAndroidTest│██████████████▎│ 95% EXECUTING [7s]> :app:packageDebugAndroidTest│██████████████▋│ 97% EXECUTING [7s]> :app:pixel2api33DebugAndroidTest > Resolve dependencies of :app:unified-test-> :app:pixel2api33DebugAndroidTest│██████████████▋│ 97% EXECUTING [8s]│██████████████▋│ 97% EXECUTING [9s]│██████████████▋│ 97% EXECUTING [10s]│██████████████▋│ 97% EXECUTING [11s]│██████████████▋│ 97% EXECUTING [12s]│██████████████▋│ 97% EXECUTING [13s]│██████████████▋│ 97% EXECUTING [14s]│██████████████▋│ 97% EXECUTING [15s]│██████████████▋│ 97% EXECUTING [16s]│██████████████▋│ 97% EXECUTING [17s]│██████████████▋│ 97% EXECUTING [18s]│██████████████▋│ 97% EXECUTING [19s]│██████████████▋│ 97% EXECUTING [20s]│██████████████▋│ 97% EXECUTING [21s]│██████████████▋│ 97% EXECUTING [22s]│██████████████▋│ 97% EXECUTING [23s]│██████████████▋│ 97% EXECUTING [24s]│██████████████▋│ 97% EXECUTING [25s]│██████████████▋│ 97% EXECUTING [26s]Starting 1 tests on pixel2api33

│██████████████▋│ 97% EXECUTING [26s]> :app:pixel2api33DebugAndroidTest> IDLE│██████████████▋│ 97% EXECUTING [27s]│██████████████▋│ 97% EXECUTING [28s]│██████████████▋│ 97% EXECUTING [29s]│██████████████▋│ 97% EXECUTING [30s]│██████████████▋│ 97% EXECUTING [31s]│██████████████▋│ 97% EXECUTING [32s]│██████████████▋│ 97% EXECUTING [33s]


Output:
Chunk ID: 539629
Wall time: 30.0004 seconds
Process running with session ID 90996
Original token count: 992
Output:
│██████████████▋│ 97% EXECUTING [34s]│██████████████▋│ 97% EXECUTING [35s]│██████████████▋│ 97% EXECUTING [36s]pixel2api33 Tests 0/1 completed. (0 skipped) (0 failed)

│██████████████▋│ 97% EXECUTING [36s]> :app:pixel2api33DebugAndroidTest> IDLE│██████████████▋│ 97% EXECUTING [37s]│██████████████▋│ 97% EXECUTING [38s]│██████████████▋│ 97% EXECUTING [39s]│██████████████▋│ 97% EXECUTING [40s]│██████████████▋│ 97% EXECUTING [41s]│██████████████▋│ 97% EXECUTING [42s]│██████████████▋│ 97% EXECUTING [43s]│██████████████▋│ 97% EXECUTING [44s]│██████████████▋│ 97% EXECUTING [45s]│██████████████▋│ 97% EXECUTING [46s]│██████████████▋│ 97% EXECUTING [47s]│██████████████▋│ 97% EXECUTING [48s]│██████████████▋│ 97% EXECUTING [49s]│██████████████▋│ 97% EXECUTING [50s]│██████████████▋│ 97% EXECUTING [51s]│██████████████▋│ 97% EXECUTING [52s]│██████████████▋│ 97% EXECUTING [53s]│██████████████▋│ 97% EXECUTING [54s]│██████████████▋│ 97% EXECUTING [55s]│██████████████▋│ 97% EXECUTING [56s]│██████████████▋│ 97% EXECUTING [57s]│██████████████▋│ 97% EXECUTING [58s]│██████████████▋│ 97% EXECUTING [59s]│██████████████▋│ 97% EXECUTING [1m]│██████████████▋│ 97% EXECUTING [1m 1s]│██████████████▋│ 97% EXECUTING [1m 2s]│██████████████▋│ 97% EXECUTING [1m 3s]│██████████████▋│ 97% EXECUTING [1m 4s]│██████████████▋│ 97% EXECUTING [1m 5s]│██████████████▋│ 97% EXECUTING [1m 6s]│██████████████▋│ 97% EXECUTING [1m 7s]


Output:
Chunk ID: 4e7737
Wall time: 30.0013 seconds
Process running with session ID 90996
Original token count: 924
Output:
│██████████████▋│ 97% EXECUTING [1m 8s]│██████████████▋│ 97% EXECUTING [1m 9s]│██████████████▋│ 97% EXECUTING [1m 10s]│██████████████▋│ 97% EXECUTING [1m 11s]│██████████████▋│ 97% EXECUTING [1m 12s]│██████████████▋│ 97% EXECUTING [1m 13s]│██████████████▋│ 97% EXECUTING [1m 14s]│██████████████▋│ 97% EXECUTING [1m 15s]│██████████████▋│ 97% EXECUTING [1m 16s]│██████████████▋│ 97% EXECUTING [1m 17s]│██████████████▋│ 97% EXECUTING [1m 18s]│██████████████▋│ 97% EXECUTING [1m 19s]│██████████████▋│ 97% EXECUTING [1m 20s]│██████████████▋│ 97% EXECUTING [1m 21s]│██████████████▋│ 97% EXECUTING [1m 22s]│██████████████▋│ 97% EXECUTING [1m 23s]│██████████████▋│ 97% EXECUTING [1m 24s]│██████████████▋│ 97% EXECUTING [1m 25s]│██████████████▋│ 97% EXECUTING [1m 26s]│██████████████▋│ 97% EXECUTING [1m 27s]│██████████████▋│ 97% EXECUTING [1m 28s]│██████████████▋│ 97% EXECUTING [1m 29s]│██████████████▋│ 97% EXECUTING [1m 30s]│██████████████▋│ 97% EXECUTING [1m 31s]│██████████████▋│ 97% EXECUTING [1m 32s]│██████████████▋│ 97% EXECUTING [1m 33s]│██████████████▋│ 97% EXECUTING [1m 34s]│██████████████▋│ 97% EXECUTING [1m 35s]│██████████████▋│ 97% EXECUTING [1m 36s]│██████████████▋│ 97% EXECUTING [1m 37s]│██████████████▋│ 97% EXECUTING [1m 38s]│██████████████▋│ 97% EXECUTING [1m 39s]│██████████████▋│ 97% EXECUTING [1m 40s]


Output:
Chunk ID: 7b267a
Wall time: 0.0000 seconds
Process exited with code 0
Original token count: 429
Output:
│██████████████▋│ 97% EXECUTING [1m 41s]│██████████████▋│ 97% EXECUTING [1m 42s]│██████████████▋│ 97% EXECUTING [1m 43s]Finished 1 tests on pixel2api33

> Task :app:mergeDebugAndroidTestTestResultProtos
Test execution completed. See the report at: file:///home/Messier82/projects/service-book/app/build/reports/androidTests/managedDevice/debug/allDevices/index.html

│███████████████│ 100% EXECUTING [1m 43s]> IDLE> IDLE
[Incubating] Problems report is available at: file:///home/Messier82/projects/service-book/build/reports/problems/problems-report.html

Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/9.5.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD SUCCESSFUL in 1m 44s
75 actionable tasks: 7 executed, 68 up-to-date
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.5.1/userguide/configuration_cache_enabling.html

│···············│ 0% WAITING> IDLE> IDLE


The patched single-method run passed under KVM with host GPU acceleration. I’m now validating the entire extended regression tier that failed in CI, then I’ll run the repository quality gate and inspect the final diff/worktree state.


Output:
Chunk ID: 19e53d
Wall time: 1.0010 seconds
Process running with session ID 4416
Original token count: 111
Output:
Picked up JAVA_TOOL_OPTIONS: -Xlog:os+container=off

│···············│ 0% CONFIGURING [37ms]
│···············│ 0% CONFIGURING [137ms]> root project > Resolve dependencies of classpath│█████··········│ 33% CONFIGURING [237ms]> :app