diff --git a/.gitattributes b/.gitattributes index f98c9fe9..00371135 100644 --- a/.gitattributes +++ b/.gitattributes @@ -35,3 +35,6 @@ docs/validation/recorded-tests/** -text -whitespace # Preserve WebView engine evidence bytes, including native XML CRLF. docs/validation/webview-engine/** -text -whitespace docs/validation/native-input/** -text -whitespace + +# Preserve touch-search receipts and raw native hierarchy CRLF bytes. +docs/validation/touch-search/** -text -whitespace diff --git a/app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt b/app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt new file mode 100644 index 00000000..ea90a1b5 --- /dev/null +++ b/app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt @@ -0,0 +1,297 @@ +package dev.tinycast.android + +import android.content.Context +import android.os.Build +import android.view.inputmethod.EditorInfo +import android.view.inputmethod.ExtractedTextRequest +import android.view.inputmethod.InputConnection +import android.view.inputmethod.InputMethodManager +import androidx.compose.ui.geometry.Rect +import androidx.compose.ui.semantics.SemanticsActions +import androidx.compose.ui.semantics.SemanticsProperties +import androidx.compose.ui.test.* +import androidx.compose.ui.test.junit4.createAndroidComposeRule +import androidx.compose.ui.text.TextLayoutResult +import androidx.compose.ui.text.TextRange +import androidx.compose.ui.text.style.TextDecoration +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.uiautomator.UiDevice +import java.io.File +import org.json.JSONArray +import org.json.JSONObject +import org.junit.* +import org.junit.Assert.* +import org.junit.Assume.assumeTrue +import org.junit.runner.RunWith + +/** Explicit pointer actions; editor replacement and native composition are labeled setup. */ +@RunWith(AndroidJUnit4::class) +class TouchSearchDeviceTest { + @get:Rule val compose = createAndroidComposeRule() + @get:Rule val name = org.junit.rules.TestName() + private val instrumentation get() = InstrumentationRegistry.getInstrumentation() + private val context get() = instrumentation.targetContext + private val device get() = UiDevice.getInstance(instrumentation) + private val evidence get() = File(context.filesDir, "touch-search-evidence") + private var palette = emptyMap() + private var prepared = false + private val events = JSONArray() + private val record = JSONObject().put("scope", "Owned launcher/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing") + private fun ui(block: (MainActivity) -> Unit) = compose.activityRule.scenario.onActivity { block(it) } + private fun node(tag: String) = compose.onNodeWithTag(tag) + private fun rect(tag: String) = node(tag).fetchSemanticsNode().boundsInWindow + private fun json(rect: Rect) = JSONArray(listOf(rect.left, rect.top, rect.right, rect.bottom)) + private fun ime() = ViewCompat.getRootWindowInsets(compose.activity.window.decorView)?.isVisible(WindowInsetsCompat.Type.ime()) == true + + @Before fun prepare() { + val args = InstrumentationRegistry.getArguments() + assumeTrue("Use the owned touch-search runner", args.getString("touchSearchFixture") == "true") + val nonce = requireNotNull(args.getString("touchSearchOwner")) + assertTrue(nonce.matches(Regex("[0-9a-f]{32}"))) + val owner = JSONObject(File(context.filesDir, "touch-search-lease/owner.json").readText()) + assertEquals("touch-search-v1", owner.getString("kind")) + assertEquals(nonce, owner.getString("nonce")) + assertEquals("touch-search-$nonce", owner.getString("extension_id")) + assertEquals(Build.VERSION.SDK_INT == 26, owner.getBoolean("fresh_disposable_avd")) + val font = requireNotNull(args.getString("touchSearchFontScale")).toFloat() + compose.waitUntil(10000) { kotlin.math.abs(compose.activity.resources.configuration.fontScale - font) < .01f } + compose.waitUntil(15000) { !compose.activity.store.loading && !compose.activity.store.emoji.loading } + palette = context.getSharedPreferences("palette", Context.MODE_PRIVATE).all.toMap() + prepared = true + // Empty-query captures must not reveal unrelated saved notes or clips. + ui { it.store.reset(); it.store.filter("Apps") } + record.put("case", name.methodName).put("api", Build.VERSION.SDK_INT).put("font_scale", font) + } + + @After fun restore() { + if (!prepared) return + restorePalettePreferences(context, palette) + evidence.mkdirs() + File(evidence, "${name.methodName.lowercase()}-case.json").writeText(record.put("events", events).toString(2)) + } + + private fun keyboard(visible: Boolean, search: String) { + node(search).assertIsFocused() + if (visible && compose.activity.resources.configuration.screenWidthDp >= 700) { + compose.onNodeWithContentDescription("Show on-screen keyboard").performTouchInput { click(center) } + } else ui { activity -> + val view = requireNotNull(activity.window.decorView.findFocus()) + val controller = ViewCompat.getWindowInsetsController(activity.window.decorView) + val imm = activity.getSystemService(InputMethodManager::class.java) + if (visible) { imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); controller?.show(WindowInsetsCompat.Type.ime()) } + else { imm.hideSoftInputFromWindow(view.windowToken, 0); controller?.hide(WindowInsetsCompat.Type.ime()) } + } + compose.waitUntil(10000) { ime() == visible } + compose.waitForIdle() + events.put(JSONObject().put("kind", "explicit-ime-visibility-setup").put("visible", visible)) + } + + private fun text(tag: String, expected: String) { + node(tag).assert(editableCharactersExactly(expected)) + } + + private fun cleared(tag: String, clear: String) { + compose.waitForIdle() + text(tag, "") + node(tag).assertIsFocused().assert(SemanticsMatcher.expectValue(SemanticsProperties.TextSelectionRange, TextRange.Zero)) + node(clear).assertDoesNotExist() + val layouts = mutableListOf() + node(tag).performSemanticsAction(SemanticsActions.GetTextLayoutResult) { assertTrue(it(layouts)) } + assertTrue(layouts.single().layoutInput.text.spanStyles.isEmpty()) + } + + private fun geometry(search: String, clear: String, palette: String, adjacent: List): Rect { + node(clear).assertIsDisplayed().assertHasClickAction().assertContentDescriptionEquals("Clear search") + val target = rect(clear); val editor = rect(search); val surface = rect(palette) + val dp = compose.activity.resources.displayMetrics.density + assertTrue("Clear has a complete 48 dp target", target.width >= 48 * dp - 1 && target.height >= 48 * dp - 1) + assertTrue("Clear is fully within the palette", target.left >= surface.left && target.right <= surface.right && target.top >= surface.top && target.bottom <= surface.bottom) + assertTrue("Search keeps at least 80 dp", editor.width >= 80 * dp - 1) + assertTrue("Clear does not overlap the editor", editor.right <= target.left + 1) + for (tag in adjacent) { + val other = rect(tag) + assertFalse("Clear does not overlap $tag", target.overlaps(other)) + } + events.put(JSONObject().put("kind", "target-geometry").put("tag", clear).put("target", json(target)) + .put("search", json(editor)).put("palette", json(surface)).put("density", dp)) + return editor + } + + private fun capture(phase: String, search: String) { + compose.waitForIdle(); instrumentation.waitForIdleSync(); device.waitForIdle() + evidence.mkdirs() + val stem = "${name.methodName.lowercase()}-$phase" + testAutomation().clearCacheForTest() + device.dumpWindowHierarchy(File(evidence, "$stem.xml")) + val bounds = rect(search) + assertTrue(device.takeScreenshot(File(evidence, "$stem.png"))) + File(evidence, "$stem-frame.json").writeText(JSONObject().put("phase", phase).put("search", json(bounds)) + .put("ime_visible", ime()).put("api", Build.VERSION.SDK_INT) + .put("font_scale", compose.activity.resources.configuration.fontScale) + .put("synchronization", "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof") + .put("scope", record.getString("scope")).toString(2)) + } + + private fun emoji() { + ui { it.execute(Command("emoji", "Emoji & Symbols", "")) } + node("emoji-search").assertIsFocused() + } + + private fun emptyFeedback(node: SemanticsNodeInteraction, palette: String, keyboardVisible: Boolean) { + val height = rect(palette).height + val constrained = keyboardVisible && height < 180 * compose.activity.resources.displayMetrics.density + val displayed = try { node.assertIsDisplayed(); true } catch (_: AssertionError) { false } + events.put(JSONObject().put("kind", "empty-feedback-visibility").put("palette_height_px", height) + .put("constrained_by_ime", constrained).put("displayed", displayed) + .put("known_layout_gap", if (constrained && !displayed) "#111" else JSONObject.NULL)) + // #111 retains the actual clipped-body failures. This contract exercises + // Clear in the header even when the IME leaves too little body space. + // Outside that measured condition, feedback must still be displayed. + if (!constrained) node.assertIsDisplayed() + } + + @Test fun launcherTouchClearPreservesFocusCategoryAndKeyboard() { + ui { it.store.filter("Apps") } + for (visible in listOf(false, true)) { + node("search").performTextReplacement("zzownednomatchingapp") + keyboard(visible, "search") + ui { events.put(JSONObject().put("kind", "empty-state-before-clear").put("search", "search") + .put("ime_visible", visible).put("expected_query_matches", it.store.query == "zzownednomatchingapp") + .put("result_count", it.store.results().size)) + assertTrue("Owned launcher query must remain exact", it.store.query == "zzownednomatchingapp") + assertTrue("Owned launcher query must produce no results", it.store.results().isEmpty()) } + capture("${if (visible) "shown" else "hidden"}-before", "search") + emptyFeedback(compose.onNodeWithText("No matching commands"), "palette", visible) + val before = geometry("search", "search-clear", "palette", emptyList()) + node("search-clear").performTouchInput { click(center) } + cleared("search", "search-clear") + assertEquals(before, rect("search")); assertEquals(visible, ime()) + ui { assertEquals("Apps", it.store.category); assertEquals(0, it.store.selected); assertNull(it.store.dialog); assertTrue(it.store.results().isNotEmpty()) } + capture("${if (visible) "shown" else "hidden"}-after", "search") + assertEquals(visible, ime()) + } + record.put("completed", true) + } + + @Test fun emojiTouchClearPreservesCategoryGeometryAndKeyboard() { + ui { it.store.search("Owned launcher caller") } + emoji() + val origin = rect("emoji-search") + val longest = compose.activity.store.emoji.entries.map { it.category }.distinct().maxBy { it.length } + ui { it.store.emoji.chooseFilter(longest) } + for (visible in listOf(false, true)) { + node("emoji-search").performTextReplacement("zzownednomatchingemoji") + keyboard(visible, "emoji-search") + ui { events.put(JSONObject().put("kind", "empty-state-before-clear").put("search", "emoji-search") + .put("ime_visible", visible).put("expected_query_matches", it.store.emoji.query == "zzownednomatchingemoji") + .put("result_count", it.store.emoji.results().size)) + assertTrue("Owned Emoji query must remain exact", it.store.emoji.query == "zzownednomatchingemoji") + assertTrue("Owned Emoji query must produce no results", it.store.emoji.results().isEmpty()) } + capture("${if (visible) "shown" else "hidden"}-before", "emoji-search") + emptyFeedback(node("emoji-empty"), "emoji-palette", visible) + val before = geometry("emoji-search", "emoji-search-clear", "emoji-palette", listOf("emoji-back", "emoji-filter")) + node("emoji-search-clear").performTouchInput { click(center) } + cleared("emoji-search", "emoji-search-clear") + assertEquals(before, rect("emoji-search")); assertEquals(visible, ime()) + ui { assertEquals(longest, it.store.emoji.filter); assertEquals(0, it.store.emoji.selected); assertEquals("emoji", it.store.dialog); assertTrue(it.store.emoji.results().isNotEmpty()); assertEquals("Owned launcher caller", it.store.query) } + capture("${if (visible) "shown" else "hidden"}-after", "emoji-search") + assertEquals(visible, ime()) + } + node("emoji-back").performTouchInput { click(center) } + text("search", "Owned launcher caller"); node("search").assertIsFocused() + val launcher = rect("search") + assertEquals("Returning retains the search column", origin.left, launcher.left, 1f) + assertEquals("Returning retains the search baseline", origin.top, launcher.top, 1f) + assertEquals("Both editors have the same natural height", origin.height, launcher.height, 1f) + events.put(JSONObject().put("kind", "emoji-launcher-origin").put("emoji", json(origin)).put("launcher", json(launcher))) + capture("caller-return", "search") + record.put("completed", true) + } + + private fun withInput(tag: String, expected: String, block: (InputConnection) -> Unit) { + var connection: InputConnection? = null + compose.waitUntil(5000) { + ui { + val candidate = it.window.decorView.findFocus()?.onCreateInputConnection(EditorInfo()) + if (candidate?.getExtractedText(ExtractedTextRequest(), 0)?.text?.toString() == expected) connection = candidate + else candidate?.closeConnection() + } + connection != null + } + try { block(requireNotNull(connection)) } finally { ui { connection?.closeConnection() } } + } + + @Test fun pointerClearRemovesControlledCompositionAndWhitespace() { + for (emojiRoute in listOf(false, true)) { + if (emojiRoute) emoji() + val search = if (emojiRoute) "emoji-search" else "search" + val clear = if (emojiRoute) "emoji-search-clear" else "search-clear" + keyboard(false, search) + withInput(search, "") { connection -> + ui { assertTrue(connection.setComposingText("にほん", 1)) } + text(search, "にほん") + val layouts = mutableListOf() + node(search).performSemanticsAction(SemanticsActions.GetTextLayoutResult) { assertTrue(it(layouts)) } + assertTrue("Controlled composition is actually exposed before Clear", layouts.single().layoutInput.text.spanStyles.any { it.item.textDecoration == TextDecoration.Underline }) + capture("${if (emojiRoute) "emoji" else "launcher"}-composition", search) + node(clear).performTouchInput { click(center) } + cleared(search, clear) + capture("${if (emojiRoute) "emoji" else "launcher"}-cleared", search) + } + node(search).performTextReplacement(" ") + node(clear).assertIsDisplayed().performTouchInput { click(center) } + cleared(search, clear) + events.put(JSONObject().put("kind", "controlled-composition-and-whitespace-cleared").put("search", search)) + } + record.put("completed", true) + } + + private fun callback(tag: String) = requireNotNull(node(tag).fetchSemanticsNode().config[SemanticsActions.OnClick].action) + + @Test fun retainedClearCallbacksRejectReplacedSurfacesAndMenus() { + node("search").performTextReplacement("Owned launcher query") + val launcher = callback("search-clear") + ui { it.store.dialog = "updates"; launcher(); assertEquals("Owned launcher query", it.store.query) } + node("inline-back").performTouchInput { click(center) } + ui { it.store.search("Owned replacement query"); launcher(); assertEquals("Owned replacement query", it.store.query) } + val current = callback("search-clear") + node("palette-menu").performTouchInput { click(center) } + node("inline-menu").assertIsDisplayed() + ui { current(); assertEquals("Owned replacement query", it.store.query) } + capture("covered-by-menu", "search") + device.pressBack(); compose.waitForIdle() + emoji() + node("emoji-search").performTextReplacement("face") + val oldEmoji = callback("emoji-search-clear") + ui { it.store.dialog = "updates"; oldEmoji(); assertEquals("face", it.store.emoji.query) } + node("inline-back").assertIsDisplayed() + ui { it.store.dialog = "emoji"; it.store.emoji.search("happy") } + node("emoji-search").assertIsDisplayed() + ui { oldEmoji(); assertEquals("happy", it.store.emoji.query) } + capture("replacement-emoji", "emoji-search") + record.put("rejected_callbacks", 5).put("completed", true) + } + + @Test fun currentClearUsesLiveQueryAndRecreationRejectsOldCallback() { + node("search").performTextReplacement("Owned initial query") + val clear = callback("search-clear") + ui { it.store.search("Owned changed before redraw"); clear(); assertEquals("", it.store.query) } + cleared("search", "search-clear") + node("search").performTextReplacement("Owned before recreation") + val old = callback("search-clear") + compose.activityRule.scenario.recreate() + node("search").assertIsFocused() + ui { it.store.search("Owned after recreation"); old(); assertEquals("Owned after recreation", it.store.query) } + val epoch = callback("search-clear") + ui { it.store.filter("Apps"); it.store.search("Owned after epoch"); epoch(); assertEquals("Owned after epoch", it.store.query) } + emoji() + node("emoji-search").performTextReplacement("face") + val emojiClear = callback("emoji-search-clear") + ui { it.store.emoji.search("happy"); emojiClear(); assertEquals("", it.store.emoji.query) } + cleared("emoji-search", "emoji-search-clear") + record.put("live_query_clears", 2).put("rejected_callbacks", 2).put("completed", true) + } +} diff --git a/app/src/main/java/dev/tinycast/android/EmojiUi.kt b/app/src/main/java/dev/tinycast/android/EmojiUi.kt index 2c992a2b..9da269bf 100644 --- a/app/src/main/java/dev/tinycast/android/EmojiUi.kt +++ b/app/src/main/java/dev/tinycast/android/EmojiUi.kt @@ -35,7 +35,7 @@ import androidx.compose.ui.unit.* /** A palette sub-screen; no Dialog, overlay permission or clipboard monitoring. */ @Composable @OptIn(androidx.compose.ui.ExperimentalComposeUiApi::class, ExperimentalLayoutApi::class) -fun EmojiPicker(store: EmojiStore, close: () -> Unit, copy: (String) -> Unit) { +fun EmojiPicker(store: EmojiStore, searchEpoch: Int, actionCurrent: () -> Boolean, close: () -> Unit, copy: (String) -> Unit) { val searchFocus = remember { FocusRequester() } val keyboard = LocalSoftwareKeyboardController.current val view = LocalView.current @@ -53,6 +53,7 @@ fun EmojiPicker(store: EmojiStore, close: () -> Unit, copy: (String) -> Unit) { // of later modifier release or the selection changing after an unpin. val favoritePresses = remember { mutableMapOf() } val windowFocused = LocalWindowInfo.current.isWindowFocused + val paletteMenus = LocalPaletteMenus.current LaunchedEffect(windowFocused) { if (!windowFocused) favoritePresses.clear() } fun consumeFavoriteSequence(event: KeyEvent): Boolean { if (event.keyCode != KeyEvent.KEYCODE_D || favoritePresses[event.deviceId] != event.downTime) return false @@ -191,11 +192,26 @@ fun EmojiPicker(store: EmojiStore, close: () -> Unit, copy: (String) -> Unit) { decorationBox = { inner -> Box(Modifier.fillMaxWidth().heightIn(min=48.dp), contentAlignment = Alignment.CenterStart) { if (store.query.isEmpty()) Text("Search Emoji & Symbols…", color = PaletteTheme.secondary, fontSize = 20.sp, lineHeight = 26.sp, maxLines = 1, overflow = TextOverflow.Ellipsis); inner() } }) + SearchClearButton(store.query.isNotEmpty(), Triple(store, searchEpoch, windowFocused), "emoji-search-clear", + current = { store.query.isNotEmpty() && actionCurrent() && view.hasWindowFocus() && + !menu && !actionsMenu && paletteMenus.current == null }) { + searchValue = TextFieldValue("") + store.search("") + copiedName = null + queryEditing = false + } if (wide) IconButton(onClick = { keyboardRequested = true; searchFocus.requestFocus(); keyboard?.show() }, modifier = Modifier.size(48.dp).semantics { contentDescription = "Show on-screen keyboard" }) { Glyph("keyboard", PaletteTheme.tertiary, 16) } Box { - TextButton(onClick = { menu = true }, modifier = Modifier.heightIn(min=48.dp).testTag("emoji-filter")) { Text(store.filter, maxLines = 1, fontSize = 12.sp, overflow = TextOverflow.Ellipsis, modifier = Modifier.widthIn(max = if (wide) 160.dp else 90.dp)); Text(" ▾") } + // Retain natural scaled text and a 48 dp target without extra + // vertical padding shifting this editor below the launcher. + TextButton(onClick = { menu = true }, contentPadding = PaddingValues(horizontal=12.dp, vertical=4.dp), + modifier = Modifier.heightIn(min=48.dp).testTag("emoji-filter")) { + Text(store.filter, maxLines = 1, fontSize = 12.sp, overflow = TextOverflow.Ellipsis, + modifier = Modifier.widthIn(max = if (wide) 160.dp else 90.dp)) + Text(" ▾") + } PaletteChoiceMenu(menu, { menu = false }, (listOf("All", "Favorites", "Recent") + store.entries.map { it.category }.distinct()).map { category -> PaletteChoice("emoji-filter-$category", category, checked = store.filter == category) { diff --git a/app/src/main/java/dev/tinycast/android/PaletteUi.kt b/app/src/main/java/dev/tinycast/android/PaletteUi.kt index 5ce2103c..06b5584c 100644 --- a/app/src/main/java/dev/tinycast/android/PaletteUi.kt +++ b/app/src/main/java/dev/tinycast/android/PaletteUi.kt @@ -98,7 +98,11 @@ fun TinycastApp(store: PaletteStore, globalEnabled: Boolean, run: (Command) -> U return@PaletteMenuHost } if (store.dialog == "emoji") { - EmojiPicker(store.emoji, { store.dialog = null; store.focusEpoch++ }, { copy(it); store.message = null }) + val emojiEpoch = store.focusEpoch + EmojiPicker(store.emoji, emojiEpoch, + { store.dialog == "emoji" && store.focusEpoch == emojiEpoch && store.textReview == null && + !store.backupBusy && ShortcutRuntime.recordingOwner == null }, + { store.dialog = null; store.focusEpoch++ }, { copy(it); store.message = null }) return@PaletteMenuHost } val focus = remember { FocusRequester() } @@ -110,6 +114,7 @@ fun TinycastApp(store: PaletteStore, globalEnabled: Boolean, run: (Command) -> U val paletteMenus = LocalPaletteMenus.current val view = LocalView.current val windowFocused = LocalWindowInfo.current.isWindowFocused + val searchEpoch = store.focusEpoch var searchFocused by remember { mutableStateOf(false) } var keyboardRequested by launcherKeyboard val list = launcherList @@ -278,6 +283,13 @@ fun TinycastApp(store: PaletteStore, globalEnabled: Boolean, run: (Command) -> U textStyle=TextStyle(color=PaletteTheme.ink,fontSize=20.sp,lineHeight=26.sp),singleLine=true,cursorBrush=SolidColor(PaletteTheme.accent), keyboardOptions=KeyboardOptions(imeAction=ImeAction.Search,showKeyboardOnFocus=!wide || keyboardRequested),keyboardActions=KeyboardActions(onSearch={activateCurrent()}), decorationBox={inner -> Box(Modifier.fillMaxWidth().heightIn(min=48.dp),contentAlignment=Alignment.CenterStart){if(store.query.isEmpty())Text("Search for apps and commands…",color=PaletteTheme.secondary,fontSize=20.sp,lineHeight=26.sp,maxLines=1,overflow=TextOverflow.Ellipsis);inner()}}) + SearchClearButton(store.query.isNotEmpty(), Triple(store, searchEpoch, windowFocused), "search-clear", + current = { store.query.isNotEmpty() && store.focusEpoch == searchEpoch && store.dialog == null && + store.textReview == null && !store.backupBusy && ShortcutRuntime.recordingOwner == null && + view.hasWindowFocus() && !menu && paletteMenus.current == null }) { + searchValue = TextFieldValue("") + store.search("") + } if(wide) IconButton(onClick={keyboardRequested=true;focus.requestFocus();keyboard?.show()},modifier=Modifier.size(48.dp).semantics{contentDescription="Show on-screen keyboard"}){Glyph("keyboard",PaletteTheme.tertiary,16)} } if (store.category == "Files") FileSearchToolbar(store, run) diff --git a/app/src/main/java/dev/tinycast/android/SearchClearButton.kt b/app/src/main/java/dev/tinycast/android/SearchClearButton.kt new file mode 100644 index 00000000..6207d167 --- /dev/null +++ b/app/src/main/java/dev/tinycast/android/SearchClearButton.kt @@ -0,0 +1,34 @@ +package dev.tinycast.android + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.size +import androidx.compose.material3.IconButton +import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.testTag +import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.unit.dp + +private class SearchClearLifetime { var active = true } + +/** Keep the editor's width stable, including when there is nothing to clear. */ +@Composable +internal fun SearchClearButton( + visible: Boolean, + owner: Any, + tag: String, + current: () -> Boolean, + clear: () -> Unit +) { + val lifetime = remember(owner) { SearchClearLifetime() } + DisposableEffect(lifetime) { onDispose { lifetime.active = false } } + Box(Modifier.size(48.dp)) { + if (visible) IconButton( + onClick = { if (lifetime.active && current()) clear() }, + modifier = Modifier.size(48.dp).semantics { contentDescription = "Clear search" }.testTag(tag) + ) { Glyph("close", PaletteTheme.secondary, 18) } + } +} diff --git a/docs/PARITY-TRACKER.md b/docs/PARITY-TRACKER.md index 0e8c2abd..05196bd3 100644 --- a/docs/PARITY-TRACKER.md +++ b/docs/PARITY-TRACKER.md @@ -213,3 +213,9 @@ The next active slice is [native input compatibility #69](https://github.com/moi The [#108 exact-text slice](NATIVE-INPUT-CONTRACTS.md) under still-open [#69](https://github.com/moikdev/droidcast/issues/69) now compares exact editable characters independently of legitimate IME decoration. The unchanged `fec0a4bf` production APK has **23 controlled positives / seven whole cohorts /108 successful cohort restoration checks**, plus **two intended old-annotation failures /zero passes /29 successful restoration checks**. The base `b55a8f6f` harness and the later same-length Unicode supplement keep their distinct APK/source identities. All thirteen read-only final-preservation checks pass, including both original APKs and all573 existing app/evidence files. The checkpoint binds 296 public files plus its index, 249 current source hashes and 21 raw screenshot sets. Recorded JVM343, Python130 per mode, both build variants and lint0 errors/56 warnings pass. System-IME failures, the insensitive initial controls, the first probes' unrecorded original subtype-history state, and the failed modern cleanup with separate sixteen-check recovery remain explicitly retained. The final collector verifies four raw IME settings and retains ownership through restoration. Exact-head hosted CI, both independent sol/high audits and expected-head merge remain gates. This test/fixture correction clears no full Android8 keyboard, physical/OEM/accessibility, whole-Store, #89 or signing/migration claim. + +PR #109 merged reviewed `3f87bf7a4182b74ba16c52c113c67613e5f6bb41` as `d8d8978ba63379e332cbef013fa909ea930075da`; merged/reviewed tree `e1e90ae1d5385c70b3f6b073e31ec7fd9ea5f3f7` is identical. Both independent gpt-6.1-sol/high full-head audits cleared. Exact-head hosted Android run42026037454 and separate local/android58146385516 succeeded; root recorded COMMENT review5784970043 and used an expected-head merge. #108 is closed. #69, original pre-probe IME-history identity, physical/OEM/accessibility, #89 and signing/migration remain open or uncertified. + +The [#110 Clear-search slice](TOUCH-SEARCH-CONTROLS.md) adds a recognizable X and a fixed 48 dp slot to launcher and Emoji search, preserving the current route/category/editor focus and keyboard intent. Final app `974b2fa…9d750` / instrumentation `54a86c6…366e1` has **25 scoped positives /11 whole cohorts /171 successful restoration checks**, with **five same-harness intended old-app failures /zero passes /79 checks**. Fourteen separate final-preservation checks match both original modern APKs, all573 original app/evidence files, legacy package absence and the current four-field IME baselines. The checkpoint binds 538 public files plus itself, 254 source inputs, 653 retained capture hashes and 92 selected actual screenshot sets. Builds/lint pass with0 errors/56 warnings per variant; JVM343 is retained UP-TO-DATE evidence; fresh Python135/mode passes. Historical transport/layout failures, external launcher ANR and API26 composition-precondition failure remain failed and separately documented. The four-case API26 Clear smoke earns no composition/keyboard repair. Both independent sol/high audits, actual exact-head hosted Android and an expected-head merge remain gates. + +Next layout priority: [#111](https://github.com/moikdev/droidcast/issues/111), readable empty-result feedback above the keyboard in short landscape. The Clear harness explicitly records that measured body-visibility gap while keeping its Clear assertions mandatory. #69 system-IME behavior, #71 typography/accessibility and legacy missing emoji glyphs, #89, whole-Store/platform parity, production signing/migration and original pre-probe IME-history identity remain open or uncertified. No project rename or migration is performed. diff --git a/docs/TOUCH-SEARCH-CONTROLS.md b/docs/TOUCH-SEARCH-CONTROLS.md new file mode 100644 index 00000000..899f6713 --- /dev/null +++ b/docs/TOUCH-SEARCH-CONTROLS.md @@ -0,0 +1,66 @@ +# Touch Clear search for launcher and Emoji + +Scope: [#110](https://github.com/moikdev/droidcast/issues/110). Both search headers now show an explicit X for every nonempty query, including whitespace. Tapping its 48 dp target clears text, selection and composition while keeping the route, category, already-focused editor and current keyboard visibility. The empty header keeps the same reserved slot, so clearing does not resize the editor. Clear has no launch, Copy or external-return action. + +`SearchClearButton` rejects disposed owners; each caller also checks its current route, focus epoch, window, review/backup/recording context and menu ownership. The current callback reads the live query. Old callbacks are exercised after route replacement, menu coverage, activity recreation and an epoch change. These are controlled callback invocations, not queued physical gestures. + +Emoji's category button retains natural scaled text and a minimum 48 dp target, with vertical content padding reduced from 8 to 4 dp. This removes the observed six-pixel search-origin shift on returning to the launcher at 200%; it does not reduce the font. Before/after control receipts use the same final instrumentation. + +## Frozen identities + +| Role | Source | SHA-256 | +| --- | --- | --- | +| Pre-Clear app | `fec0a4bf1155c08c141606f92ae8fb1feab4bba0` | `ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71` | +| Intermediate app, old category padding | `07a2de6df0403ed15b03d3712cdd7724b4946f10` | `e143a921f4adb69551ad327ee252ffb7008b207ae1b814542f980dd8c17a7a34` | +| Final production app | `5e7cb6b6e0bc146a9e78085f844594afe4d5e1be` | `974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750` | +| Final debug instrumentation | `ca17e6665ee5fd06c09a12f11abbfda8eb77a2fb` | `54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1` | +| Runner/controller | `fed57fb02b52f660d4c35f216e5e227487235c50` | Bound by the final source manifest and each runner receipt | + +[Final identity](validation/touch-search/identities/final-harness-v7/identity.json) binds 254 Android/build/Python inputs. Production/build/JVM sources remain equal to `5e7cb6b`; Python sources remain equal to `fed57fb`. Later commits publish evidence and documentation. The application manifest embeds `5e7cb6b`; the test APK has no independent source stamp. Its identity rests on the retained compilation/source vector and immutable APK hash, not an inferred stamp-only equivalence. + +Here v7 names the final instrumentation build; v8/v9 name continuation registries, not new APKs. + +Earlier instrumentation is distinct: `f79e5337…112a6` binds `07a2de6`, diagnostic `700348aa…c8bc` binds `d91dda7`, and the unused separately compiled `9e80a401…9d431` is retained without execution credit. It differs from F79 in both `classes3.dex` and `classes4.dex`. The final instrumentation is not relabeled as either earlier binary. All eleven original packaged assets/notices remain byte-identical across the app cohorts; upstream runtime assets are unchanged. + +## Completed current verification + +[Machine-readable accounting](validation/touch-search/summary.json) credits **25 positives / 11 whole cohorts / 171 successful cohort restoration checks** on the final app/test pair: + +- API36, `Tinycast_Tablet_API_36`: tablet 1920×1200/240 dpi, phone 1080×2340/420 dpi, short landscape 2340×1080/420 dpi, each at 100% and 200%. The two pointer cases each exercise keyboard hidden and shown, exact query/zero results before Clear, a complete 48 dp target, an editor at least 80 dp wide, no overlap, stable editor geometry, exact cleared range, category/route/selection and keyboard preservation. Emoji also returns to the exact launcher caller and matching field origin/height. +- Three API36 guard/composition cases: witnessed controlled Japanese composing underline before pointer Clear; whitespace; live query; stale/disposed/menu/recreation/epoch ownership. +- API26, `Droidcast_WebView_API26_27caf3`, 1080×1920/420 dpi, 100%: four Clear/ownership methods; the controlled-composition method remains excluded after its unwitnessed precondition failure. This is native-app smoke, not extension execution on its old WebView. +- Two unchanged native-input contracts on modern tablet, modern phone and API26: exact committed emoji/caret navigation and active multilingual composition. These use the explicitly owned silent test IME. Clear cases use the selected system IME. + +Five final common-harness controls retain **5 intended failures / zero passes / 79 restoration checks**: four pre-Clear app cases fail the missing-Clear display assertion, and the intermediate Emoji app fails the six-pixel return-origin assertion at 200% after pointer clearing succeeds. The positive-only runner records remain failed; the separate [calibration](validation/touch-search/final-controls-calibration.json) explains the expected failures. Ordinary assertion-failure screenshots contain no app error banner. + +Editor replacement, category/route setup, IME visibility requests and native InputConnection composition are controlled setup. Actual recorded pointer actions activate Clear and Emoji Back; direct retained callbacks test their ownership contract. This establishes neither physical typing nor complete Tab/TalkBack navigation. The single-line editor can scroll horizontally; enlarged category labels intentionally ellipsize. The API26 after-Clear Emoji frame also retains unsupported-glyph boxes for some newer emoji in the legacy system font; no glyph fallback or font repair is claimed here (#71). This is functional Clear coverage, not a full typography certification. + +## Known layout gap retained as #111 + +With the system keyboard open in short landscape, the palette measures 218 px high in both 100% and 200% profiles. The header and Clear target remain visible, but the empty-results body is clipped. The earlier `ready-landscape100` and `diagnostic-landscape100-v6` cohorts remain **0/2 failed** each. The diagnostic captures record an exact query and zero model results; there is no query-corruption or fullscreen-IME diagnosis. + +The final v7 harness explicitly narrows the unrelated body-visibility gate: for a keyboard-visible palette below 180 dp it records whether empty feedback is visible, with a `#111` marker if absent. Outside that measured condition, the message must display. Exact query/zero results and every Clear geometry, pointer, focus, range, route, category, return and IME assertion remain mandatory; neither keyboard loop is skipped. Passing final Clear cases therefore provides **no empty-feedback repair credit**. [#111](https://github.com/moikdev/droidcast/issues/111) remains the next layout priority. + +## Earlier attempts and restoration + +All retained native attempts reconcile to **65 executions / 47 raw JUnit passes / 18 failures**, with **494 successful cohort checks**. Historical passes do not contribute to final v7 credit. Two raw JUnit passes came from a failed post-test protocol and are explicitly excluded. [Summary](validation/touch-search/summary.json) lists each cohort, binary, outcome and cleanup count; unrun planned rows receive no execution credit. + +The original intermediate tablet100 passed 2/2; intermediate tablet200 failed 1/2 on the return-origin check. Its planned replay failed 0/1 as intended. Earlier final-app/F79 tablet and phone cohorts passed but retain their original harness; the independent API26 5/5 likewise remains historical. The two landscape empty-feedback failures are not overwritten by the scoped v7 results. + +One pre-install archive-export timeout executed zero tests and retained its owner. A separate 18-check recovery verified original APKs, all 573 existing files/preferences, geometry/font and absence of a test log before final release. A later run had raw JUnit 2/2 but timed out on post-test/idle cleanup. Its positive-only receipt remains incomplete with a failed cleanup check. The same persisted dedicated AVD was stopped and restarted without wiping it. An optional whole-AVD backup attempt aborted before copying; **no whole-AVD snapshot is claimed**. Twenty-nine actual test files were recovered. A first recovery stopped during archive verification; a separate continuation completed 33 checks, including all original regular-file hashes, both APKs, geometry/font/four IME fields, unprivileged idle state and owner revalidation before release. This is permitted app/settings restoration evidence, not whole-system or cross-boot logical identity certification. + +The runner now streams its fixed archive command into a create-only, mode-600 private partial file with closed input and the existing deadline. It validates exit/stderr and the strict archive structure before promoting the file. Failed/timeout partials remain private. Three host contracts exercise a large transfer with the parent's input still open, malformed archives and failed/timed-out transfers. A read-only transport probe matched all 573 originals; these observations establish no exact cause of the earlier guest/pipe stalls. + +The first final-harness phone200 cohort also remains 0/2 failed. Both pre-action PNG/XML pairs visibly contain Android’s “Pixel Launcher isn’t responding” dialog over Droidcast. The later window dump confirms the exact external launcher ANR window. A separate six-check operation force-stopped only that observed launcher package on the owned AVD, checked the dialog was absent and preserved all four IME settings. A separately named continuation uses the exact same app/test/controller hashes; its successful outcomes do not turn the obstructed cohort into passes or establish an app repair. The continuations retain previously completed whole unchanged-binary cohorts rather than rerunning or relabeling them. + +The final-harness API26 five-case cohort remains **4/5 failed**: the Japanese composition method lacked its required composing-underline witness before any Clear tap. No failure image or successful composition-clear receipt was produced by that method. The cause remains unestablished under #69; the earlier F79 five-case pass neither explains nor clears it. A separately named four-case whole cohort covers the established API26 Clear/ownership smoke contracts without selecting or crediting the failed composition method. Modern controlled composition and the separate owned-silent-IME regressions retain their own scope. + +All current cohorts restore data/APKs/geometry/font before owner release. The separate final preservation receipt contains **14 successful read-only checks**, comparing all 573 original modern app/evidence files, both original APKs, legacy package absence and current IME/settings baselines. No private originals, raw secure settings, clipboard contents/fingerprints or owner tokens are published. The earlier pre-PR109 IME subtype-history identity remains uncertified; this slice's baseline is explicitly post-PR109. + +## Host checks and public evidence + +Final debug/test and benchmark/test builds succeed; lint has **0 errors / 56 warnings per variant**. Retained JVM XML records **343 passing cases, zero failures/errors/skips**; the final task is `UP-TO-DATE`, so this is reused unchanged-source evidence, not a fresh final-document-head JVM run. Fresh runner-source Python receipts show **135 passes per normal/optimized mode**. The first build failed on output/disk space, and a later build was interrupted by a daemon stop; both failed logs remain retained beside successful retries. No device tests ran during the initial build failure. + +The [checkpoint](validation/touch-search/checkpoint.json) binds 538 public files plus itself, original/public byte transformations, allowlisted runner projections and all 653 retained capture hashes. **92 selected actual PNG/XML/frame sets** are published; other raw images remain hash-listed, not silently credited as newly reviewed screenshots. Raw hierarchy CRLF bytes are preserved. The two obstructed phone captures are explicitly labeled external launcher ANR failures, not Droidcast error states. Clear captures wait for Compose/UiAutomator idle and write XML before PNG; hierarchy bounds are not independent pixel/visibility proof. Native-input captures retain their own stated synchronization. Host paths and temporary names are redacted; XML uses escaped placeholders and all published XML parses. + +Actual exact-head hosted Android results and the two fresh independent gpt-6.1-sol/high audits remain separate PR merge gates. Local receipts do not stand in for hosted CI. #69, #71, #89, #111, broader Raycast/Store parity, physical/OEM/accessibility, signing and migration remain open or uncertified. No project rename or migration is performed. diff --git a/docs/screenshots/touch-search/diagnostic-landscape100-v6/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png b/docs/screenshots/touch-search/diagnostic-landscape100-v6/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png new file mode 100644 index 00000000..a42e55ac Binary files /dev/null and b/docs/screenshots/touch-search/diagnostic-landscape100-v6/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/diagnostic-landscape100-v6/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png b/docs/screenshots/touch-search/diagnostic-landscape100-v6/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png new file mode 100644 index 00000000..b6f5e805 Binary files /dev/null and b/docs/screenshots/touch-search/diagnostic-landscape100-v6/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/final-old-phone100-1/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/final-old-phone100-1/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png new file mode 100644 index 00000000..a52b1628 Binary files /dev/null and b/docs/screenshots/touch-search/final-old-phone100-1/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/final-old-phone100-2/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/final-old-phone100-2/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png new file mode 100644 index 00000000..6ec7cb37 Binary files /dev/null and b/docs/screenshots/touch-search/final-old-phone100-2/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/final-old-tablet100-1/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/final-old-tablet100-1/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png new file mode 100644 index 00000000..2568277a Binary files /dev/null and b/docs/screenshots/touch-search/final-old-tablet100-1/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/final-old-tablet100-2/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/final-old-tablet100-2/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png new file mode 100644 index 00000000..9c34597b Binary files /dev/null and b/docs/screenshots/touch-search/final-old-tablet100-2/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png new file mode 100644 index 00000000..963aaa78 Binary files /dev/null and b/docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png new file mode 100644 index 00000000..22fae7d2 Binary files /dev/null and b/docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png b/docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png new file mode 100644 index 00000000..05475b26 Binary files /dev/null and b/docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png b/docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png new file mode 100644 index 00000000..b87b5f00 Binary files /dev/null and b/docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png new file mode 100644 index 00000000..531b95b1 Binary files /dev/null and b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png differ diff --git a/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png new file mode 100644 index 00000000..cc053be3 Binary files /dev/null and b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png new file mode 100644 index 00000000..a4e16987 Binary files /dev/null and b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png new file mode 100644 index 00000000..a18b3d90 Binary files /dev/null and b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png new file mode 100644 index 00000000..2ad8e9d6 Binary files /dev/null and b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png new file mode 100644 index 00000000..86627416 Binary files /dev/null and b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png new file mode 100644 index 00000000..2334337a Binary files /dev/null and b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png new file mode 100644 index 00000000..b0b97a06 Binary files /dev/null and b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png new file mode 100644 index 00000000..029d58e0 Binary files /dev/null and b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-api26-established-clear-phone100/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png new file mode 100644 index 00000000..0d6421a1 Binary files /dev/null and b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png differ diff --git a/docs/screenshots/touch-search/verified-api26-established-clear-phone100/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png new file mode 100644 index 00000000..e118d6fd Binary files /dev/null and b/docs/screenshots/touch-search/verified-api26-established-clear-phone100/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png differ diff --git a/docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.png b/docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.png new file mode 100644 index 00000000..49047d3b Binary files /dev/null and b/docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.png differ diff --git a/docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.png b/docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.png new file mode 100644 index 00000000..b60d8b33 Binary files /dev/null and b/docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.png differ diff --git a/docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.png b/docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.png new file mode 100644 index 00000000..d2c41c37 Binary files /dev/null and b/docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.png differ diff --git a/docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.png b/docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.png new file mode 100644 index 00000000..2a78b58c Binary files /dev/null and b/docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.png differ diff --git a/docs/screenshots/touch-search/verified-guards-tablet100/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png b/docs/screenshots/touch-search/verified-guards-tablet100/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png new file mode 100644 index 00000000..66f7e330 Binary files /dev/null and b/docs/screenshots/touch-search/verified-guards-tablet100/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png differ diff --git a/docs/screenshots/touch-search/verified-guards-tablet100/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png b/docs/screenshots/touch-search/verified-guards-tablet100/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png new file mode 100644 index 00000000..78cdb91d Binary files /dev/null and b/docs/screenshots/touch-search/verified-guards-tablet100/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png differ diff --git a/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png b/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png new file mode 100644 index 00000000..a1c52dd6 Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png differ diff --git a/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png new file mode 100644 index 00000000..b9d96e71 Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png new file mode 100644 index 00000000..84dbc710 Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png new file mode 100644 index 00000000..e60820df Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png new file mode 100644 index 00000000..16e43913 Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png new file mode 100644 index 00000000..bfc23020 Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png new file mode 100644 index 00000000..6fe2a88e Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png new file mode 100644 index 00000000..b4812dfd Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png new file mode 100644 index 00000000..aac18410 Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png b/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png new file mode 100644 index 00000000..d851934e Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png differ diff --git a/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png new file mode 100644 index 00000000..b37d9183 Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png new file mode 100644 index 00000000..17191eba Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png new file mode 100644 index 00000000..8cb14c94 Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png new file mode 100644 index 00000000..d0f45d31 Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png new file mode 100644 index 00000000..7c960b30 Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png new file mode 100644 index 00000000..5553df35 Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png new file mode 100644 index 00000000..c2ffd392 Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png new file mode 100644 index 00000000..cc352d31 Binary files /dev/null and b/docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png b/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png new file mode 100644 index 00000000..15191cce Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png differ diff --git a/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png new file mode 100644 index 00000000..bac513a0 Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png new file mode 100644 index 00000000..b9d9a0e8 Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png new file mode 100644 index 00000000..0ac33444 Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png new file mode 100644 index 00000000..b9d9a0e8 Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png new file mode 100644 index 00000000..cb34feaa Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png new file mode 100644 index 00000000..3ef7d64f Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png new file mode 100644 index 00000000..b57e97bd Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png new file mode 100644 index 00000000..2c4ba80b Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png new file mode 100644 index 00000000..8f4efbb0 Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png differ diff --git a/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png new file mode 100644 index 00000000..bb98dcc1 Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png new file mode 100644 index 00000000..04d4f55c Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png new file mode 100644 index 00000000..d860ce9b Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png new file mode 100644 index 00000000..23f84183 Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png new file mode 100644 index 00000000..a25bb096 Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png new file mode 100644 index 00000000..fa26e3de Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png new file mode 100644 index 00000000..6b12bbe6 Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png new file mode 100644 index 00000000..3082ac2c Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-phone200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-phone200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png new file mode 100644 index 00000000..f73640db Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-phone200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-phone200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png new file mode 100644 index 00000000..25922f07 Binary files /dev/null and b/docs/screenshots/touch-search/verified-phone200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-regression-api26100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png b/docs/screenshots/touch-search/verified-regression-api26100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png new file mode 100644 index 00000000..e5fdb9ca Binary files /dev/null and b/docs/screenshots/touch-search/verified-regression-api26100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png differ diff --git a/docs/screenshots/touch-search/verified-regression-api26100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png b/docs/screenshots/touch-search/verified-regression-api26100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png new file mode 100644 index 00000000..85d9b825 Binary files /dev/null and b/docs/screenshots/touch-search/verified-regression-api26100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png differ diff --git a/docs/screenshots/touch-search/verified-regression-api26100/committedemojinavigationandcaretareexact-committed-query-selected-range.png b/docs/screenshots/touch-search/verified-regression-api26100/committedemojinavigationandcaretareexact-committed-query-selected-range.png new file mode 100644 index 00000000..ca5eb3d5 Binary files /dev/null and b/docs/screenshots/touch-search/verified-regression-api26100/committedemojinavigationandcaretareexact-committed-query-selected-range.png differ diff --git a/docs/screenshots/touch-search/verified-regression-phone100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png b/docs/screenshots/touch-search/verified-regression-phone100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png new file mode 100644 index 00000000..976167ac Binary files /dev/null and b/docs/screenshots/touch-search/verified-regression-phone100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png differ diff --git a/docs/screenshots/touch-search/verified-regression-phone100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png b/docs/screenshots/touch-search/verified-regression-phone100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png new file mode 100644 index 00000000..c72aac64 Binary files /dev/null and b/docs/screenshots/touch-search/verified-regression-phone100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png differ diff --git a/docs/screenshots/touch-search/verified-regression-phone100/committedemojinavigationandcaretareexact-committed-query-selected-range.png b/docs/screenshots/touch-search/verified-regression-phone100/committedemojinavigationandcaretareexact-committed-query-selected-range.png new file mode 100644 index 00000000..44eb5986 Binary files /dev/null and b/docs/screenshots/touch-search/verified-regression-phone100/committedemojinavigationandcaretareexact-committed-query-selected-range.png differ diff --git a/docs/screenshots/touch-search/verified-regression-tablet100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png b/docs/screenshots/touch-search/verified-regression-tablet100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png new file mode 100644 index 00000000..a8056cf2 Binary files /dev/null and b/docs/screenshots/touch-search/verified-regression-tablet100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png differ diff --git a/docs/screenshots/touch-search/verified-regression-tablet100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png b/docs/screenshots/touch-search/verified-regression-tablet100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png new file mode 100644 index 00000000..fc954ba2 Binary files /dev/null and b/docs/screenshots/touch-search/verified-regression-tablet100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png differ diff --git a/docs/screenshots/touch-search/verified-regression-tablet100/committedemojinavigationandcaretareexact-committed-query-selected-range.png b/docs/screenshots/touch-search/verified-regression-tablet100/committedemojinavigationandcaretareexact-committed-query-selected-range.png new file mode 100644 index 00000000..1a34d151 Binary files /dev/null and b/docs/screenshots/touch-search/verified-regression-tablet100/committedemojinavigationandcaretareexact-committed-query-selected-range.png differ diff --git a/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png b/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png new file mode 100644 index 00000000..c0f29395 Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png differ diff --git a/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png new file mode 100644 index 00000000..1d6027bf Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png new file mode 100644 index 00000000..2dd40789 Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png new file mode 100644 index 00000000..94d41860 Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png new file mode 100644 index 00000000..ca26379a Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png new file mode 100644 index 00000000..2aa086b9 Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png new file mode 100644 index 00000000..9302d21e Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png new file mode 100644 index 00000000..000a96f7 Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png new file mode 100644 index 00000000..fe5f62dd Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png b/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png new file mode 100644 index 00000000..ac2a3088 Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png differ diff --git a/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png new file mode 100644 index 00000000..726f61a8 Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png new file mode 100644 index 00000000..99cde897 Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png new file mode 100644 index 00000000..b6ba951a Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png new file mode 100644 index 00000000..4d0aa376 Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png differ diff --git a/docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png b/docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png new file mode 100644 index 00000000..f72f738d Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png differ diff --git a/docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png b/docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png new file mode 100644 index 00000000..f666f994 Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png differ diff --git a/docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png b/docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png new file mode 100644 index 00000000..95629b6c Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png differ diff --git a/docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png b/docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png new file mode 100644 index 00000000..f05723f0 Binary files /dev/null and b/docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png differ diff --git a/docs/validation/touch-search/archive-transport-file-probe.json b/docs/validation/touch-search/archive-transport-file-probe.json new file mode 100644 index 00000000..ad899694 --- /dev/null +++ b/docs/validation/touch-search/archive-transport-file-probe.json @@ -0,0 +1,9 @@ +{ + "exit": 0, + "stderr_bytes": 0, + "files": 573, + "originals_match": true, + "seconds": 18.86, + "bytes": 77128704, + "scope": "Read-only archive transport probe to a private file; no test or device writes" +} diff --git a/docs/validation/touch-search/checkpoint.json b/docs/validation/touch-search/checkpoint.json new file mode 100644 index 00000000..14bc33c0 --- /dev/null +++ b/docs/validation/touch-search/checkpoint.json @@ -0,0 +1,5098 @@ +{ + "schema_version": 1, + "app_source": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "test_source": "ca17e6665ee5fd06c09a12f11abbfda8eb77a2fb", + "controller_source": "fed57fb02b52f660d4c35f216e5e227487235c50", + "bindings": [ + { + "original": "artifacts/touch-clear/old-tablet100-1/tests.log", + "original_sha256": "eefae928b4c1c0dd3be792b57017479363ed15ccee3fd6e18dd71fbef03ad4f4", + "public": "docs/validation/touch-search/cohorts/old-tablet100-1/tests.log", + "public_sha256": "eefae928b4c1c0dd3be792b57017479363ed15ccee3fd6e18dd71fbef03ad4f4", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/old-tablet100-1-outer.log", + "original_sha256": "f140098774f890864b466f273a6a8aa927cf17eb5d256d2c6a73be6fbec46bdb", + "public": "docs/validation/touch-search/cohorts/old-tablet100-1/outer.log", + "public_sha256": "607217dc11ce2826b94e609d02f551cd523072e79f952b28a344e8b33289f038", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "25ce543135f0711ab00d9e0d8a3f105c3c3803a941b4fe03612aa444d7aa18b4", + "public": "docs/validation/touch-search/cohorts/old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "25ce543135f0711ab00d9e0d8a3f105c3c3803a941b4fe03612aa444d7aa18b4", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/old-tablet100-2/tests.log", + "original_sha256": "ad145673c8c289e7b62d482f359f25b4b432a1b9b605562deb71f76745c74d98", + "public": "docs/validation/touch-search/cohorts/old-tablet100-2/tests.log", + "public_sha256": "ad145673c8c289e7b62d482f359f25b4b432a1b9b605562deb71f76745c74d98", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/old-tablet100-2-outer.log", + "original_sha256": "f140098774f890864b466f273a6a8aa927cf17eb5d256d2c6a73be6fbec46bdb", + "public": "docs/validation/touch-search/cohorts/old-tablet100-2/outer.log", + "public_sha256": "607217dc11ce2826b94e609d02f551cd523072e79f952b28a344e8b33289f038", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "9ae6a82f564b24bc304dd74e0dca1ce5233c3daf8d3fd5a57ae9b0fa3466e44e", + "public": "docs/validation/touch-search/cohorts/old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "9ae6a82f564b24bc304dd74e0dca1ce5233c3daf8d3fd5a57ae9b0fa3466e44e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/old-phone100-1/tests.log", + "original_sha256": "edeb27f024f4ba606e74dcbbbbe6a0673cff85f5a896d072dad7a316997534bc", + "public": "docs/validation/touch-search/cohorts/old-phone100-1/tests.log", + "public_sha256": "edeb27f024f4ba606e74dcbbbbe6a0673cff85f5a896d072dad7a316997534bc", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/old-phone100-1-outer.log", + "original_sha256": "f140098774f890864b466f273a6a8aa927cf17eb5d256d2c6a73be6fbec46bdb", + "public": "docs/validation/touch-search/cohorts/old-phone100-1/outer.log", + "public_sha256": "607217dc11ce2826b94e609d02f551cd523072e79f952b28a344e8b33289f038", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "25ce543135f0711ab00d9e0d8a3f105c3c3803a941b4fe03612aa444d7aa18b4", + "public": "docs/validation/touch-search/cohorts/old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "25ce543135f0711ab00d9e0d8a3f105c3c3803a941b4fe03612aa444d7aa18b4", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/old-phone100-2/tests.log", + "original_sha256": "934715d5bb65d6bf692a369c8a72e319c1a42c1f5c4f6cafdd12cf9572168daa", + "public": "docs/validation/touch-search/cohorts/old-phone100-2/tests.log", + "public_sha256": "934715d5bb65d6bf692a369c8a72e319c1a42c1f5c4f6cafdd12cf9572168daa", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/old-phone100-2-outer.log", + "original_sha256": "f140098774f890864b466f273a6a8aa927cf17eb5d256d2c6a73be6fbec46bdb", + "public": "docs/validation/touch-search/cohorts/old-phone100-2/outer.log", + "public_sha256": "607217dc11ce2826b94e609d02f551cd523072e79f952b28a344e8b33289f038", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "9ae6a82f564b24bc304dd74e0dca1ce5233c3daf8d3fd5a57ae9b0fa3466e44e", + "public": "docs/validation/touch-search/cohorts/old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "9ae6a82f564b24bc304dd74e0dca1ce5233c3daf8d3fd5a57ae9b0fa3466e44e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/current-tablet100/tests.log", + "original_sha256": "7f7e1f19bc76fe7be085b5493b7b23f705280b6f88c995db4d928a68c9119497", + "public": "docs/validation/touch-search/cohorts/current-tablet100/tests.log", + "public_sha256": "7f7e1f19bc76fe7be085b5493b7b23f705280b6f88c995db4d928a68c9119497", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/current-tablet100-outer.log", + "original_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "public": "docs/validation/touch-search/cohorts/current-tablet100/outer.log", + "public_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "3390d8b768c87306117b69fbc0bede1771de792fe9abf8a650c5a189a63d0ff1", + "public": "docs/validation/touch-search/cohorts/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "3390d8b768c87306117b69fbc0bede1771de792fe9abf8a650c5a189a63d0ff1", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "b522c56c3a9207fe82a25c2c4a1ea6e0a86e1e22f802516bc16b2056e0f01fb9", + "public": "docs/validation/touch-search/cohorts/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "b522c56c3a9207fe82a25c2c4a1ea6e0a86e1e22f802516bc16b2056e0f01fb9", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/current-tablet200/tests.log", + "original_sha256": "c8d5af81b8344b74908a56fa61ccf62a75feae571eeafc783ef3f202a80c3e50", + "public": "docs/validation/touch-search/cohorts/current-tablet200/tests.log", + "public_sha256": "c8d5af81b8344b74908a56fa61ccf62a75feae571eeafc783ef3f202a80c3e50", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/current-tablet200-outer.log", + "original_sha256": "f140098774f890864b466f273a6a8aa927cf17eb5d256d2c6a73be6fbec46bdb", + "public": "docs/validation/touch-search/cohorts/current-tablet200/outer.log", + "public_sha256": "607217dc11ce2826b94e609d02f551cd523072e79f952b28a344e8b33289f038", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "608522254d6159fe90250aa446dda86939777df515d7336fc0676d9719a6a9f1", + "public": "docs/validation/touch-search/cohorts/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "608522254d6159fe90250aa446dda86939777df515d7336fc0676d9719a6a9f1", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351", + "public": "docs/validation/touch-search/cohorts/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/tests.log", + "original_sha256": "2814a7014413d02b3daeb37e669ded869cb7a80b0eaae34b6821bbe137f1bac7", + "public": "docs/validation/touch-search/cohorts/spacing-control-tablet200/tests.log", + "public_sha256": "2814a7014413d02b3daeb37e669ded869cb7a80b0eaae34b6821bbe137f1bac7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200-outer.log", + "original_sha256": "f140098774f890864b466f273a6a8aa927cf17eb5d256d2c6a73be6fbec46bdb", + "public": "docs/validation/touch-search/cohorts/spacing-control-tablet200/outer.log", + "public_sha256": "607217dc11ce2826b94e609d02f551cd523072e79f952b28a344e8b33289f038", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "608522254d6159fe90250aa446dda86939777df515d7336fc0676d9719a6a9f1", + "public": "docs/validation/touch-search/cohorts/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "608522254d6159fe90250aa446dda86939777df515d7336fc0676d9719a6a9f1", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/tests.log", + "original_sha256": "991f70d0b9e3f2eb56bcd0d04763668ca0b051d4ad79183d7a53de3492103fc6", + "public": "docs/validation/touch-search/cohorts/legacy-independent-phone100/tests.log", + "public_sha256": "991f70d0b9e3f2eb56bcd0d04763668ca0b051d4ad79183d7a53de3492103fc6", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100-outer.log", + "original_sha256": "5c4878ca79338a0d12b83afe3d21980ca9173042e8f0091c97f7dc5676423610", + "public": "docs/validation/touch-search/cohorts/legacy-independent-phone100/outer.log", + "public_sha256": "5c4878ca79338a0d12b83afe3d21980ca9173042e8f0091c97f7dc5676423610", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json", + "original_sha256": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7", + "public": "docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json", + "public_sha256": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "df5eb8a7fc9cc57476e84c80546d3dd34139165c3b73430b5593e60023645cec", + "public": "docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "df5eb8a7fc9cc57476e84c80546d3dd34139165c3b73430b5593e60023645cec", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "6d826aec86c45bfd4366684fe815a344ad7042511954389b4ab7f28a67b68495", + "public": "docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "6d826aec86c45bfd4366684fe815a344ad7042511954389b4ab7f28a67b68495", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json", + "original_sha256": "eb85683597f55701a85e1bcd7a1111522ced2d4bfa2139385f3cd68e5c301d20", + "public": "docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json", + "public_sha256": "eb85683597f55701a85e1bcd7a1111522ced2d4bfa2139385f3cd68e5c301d20", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json", + "original_sha256": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9", + "public": "docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json", + "public_sha256": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/tests.log", + "original_sha256": "6cc890f4123aae84ea4ad538ec0473c841293fd126ae8efc31c97c8b889f38c0", + "public": "docs/validation/touch-search/cohorts/ready-tablet200/tests.log", + "public_sha256": "6cc890f4123aae84ea4ad538ec0473c841293fd126ae8efc31c97c8b889f38c0", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-tablet200-outer.log", + "original_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "public": "docs/validation/touch-search/cohorts/ready-tablet200/outer.log", + "public_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "3532dc428a2dd5e1849b558a693e0c85d51347e8febd457149cb6a3b6e531a02", + "public": "docs/validation/touch-search/cohorts/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "3532dc428a2dd5e1849b558a693e0c85d51347e8febd457149cb6a3b6e531a02", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351", + "public": "docs/validation/touch-search/cohorts/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/tests.log", + "original_sha256": "0c285c3f167a3bf0de322f8a3d3aa19d7aff57d6a71271a7bcbee4d128501f9b", + "public": "docs/validation/touch-search/cohorts/ready-tablet100/tests.log", + "public_sha256": "0c285c3f167a3bf0de322f8a3d3aa19d7aff57d6a71271a7bcbee4d128501f9b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-tablet100-outer.log", + "original_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "public": "docs/validation/touch-search/cohorts/ready-tablet100/outer.log", + "public_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "3390d8b768c87306117b69fbc0bede1771de792fe9abf8a650c5a189a63d0ff1", + "public": "docs/validation/touch-search/cohorts/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "3390d8b768c87306117b69fbc0bede1771de792fe9abf8a650c5a189a63d0ff1", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "b522c56c3a9207fe82a25c2c4a1ea6e0a86e1e22f802516bc16b2056e0f01fb9", + "public": "docs/validation/touch-search/cohorts/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "b522c56c3a9207fe82a25c2c4a1ea6e0a86e1e22f802516bc16b2056e0f01fb9", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-phone100/tests.log", + "original_sha256": "0f1944c9be003b9ab52b7389db29f5fef5a2ad2801d3b83ff1a62fdefd812164", + "public": "docs/validation/touch-search/cohorts/ready-phone100/tests.log", + "public_sha256": "0f1944c9be003b9ab52b7389db29f5fef5a2ad2801d3b83ff1a62fdefd812164", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-phone100-outer.log", + "original_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "public": "docs/validation/touch-search/cohorts/ready-phone100/outer.log", + "public_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "37f5ed2fcbd5d168694d717d96661cdf5f9832bd037dd4947e2ea7072e2583ae", + "public": "docs/validation/touch-search/cohorts/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "37f5ed2fcbd5d168694d717d96661cdf5f9832bd037dd4947e2ea7072e2583ae", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "7b7151bbf57d2c16760baa375561d6f77a245ff690ea8cca076dcca1557a34e7", + "public": "docs/validation/touch-search/cohorts/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "7b7151bbf57d2c16760baa375561d6f77a245ff690ea8cca076dcca1557a34e7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-phone200/tests.log", + "original_sha256": "375e1f7fb41a7a42e24862f9df214cfba9c4fdb91c4c2281b19bfe42ee7a293b", + "public": "docs/validation/touch-search/cohorts/ready-phone200/tests.log", + "public_sha256": "375e1f7fb41a7a42e24862f9df214cfba9c4fdb91c4c2281b19bfe42ee7a293b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-phone200-outer.log", + "original_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "public": "docs/validation/touch-search/cohorts/ready-phone200/outer.log", + "public_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "97faf6c010b6c3d441aa6cfccced3e40ce12bd3807170ee6d8998a22b56bf3e6", + "public": "docs/validation/touch-search/cohorts/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "97faf6c010b6c3d441aa6cfccced3e40ce12bd3807170ee6d8998a22b56bf3e6", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "18e54f6092002b87268bc135ae636d19257cedbc9fb9e942b3e337413d5eaafe", + "public": "docs/validation/touch-search/cohorts/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "18e54f6092002b87268bc135ae636d19257cedbc9fb9e942b3e337413d5eaafe", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/tests.log", + "original_sha256": "5c1d6cce988bc11fc004183743fa55f39930dff919ab28c5900c5147e8beed28", + "public": "docs/validation/touch-search/cohorts/ready-landscape100/tests.log", + "public_sha256": "5c1d6cce988bc11fc004183743fa55f39930dff919ab28c5900c5147e8beed28", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-landscape100-outer.log", + "original_sha256": "6ef588a8b772d6bd1a36768f61d1390ba2cb46fd2c3692ca1f49f24e1f77a25b", + "public": "docs/validation/touch-search/cohorts/ready-landscape100/outer.log", + "public_sha256": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "10cd5e47591af2b7375e3d599f070be2c479011ec803390acc15d5c5767473ae", + "public": "docs/validation/touch-search/cohorts/ready-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "10cd5e47591af2b7375e3d599f070be2c479011ec803390acc15d5c5767473ae", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "f8b8651c9c3bc3f07ba642a466aa6d3bcaea8cd285c8d0fb45ff13e77f2d7ebe", + "public": "docs/validation/touch-search/cohorts/ready-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "f8b8651c9c3bc3f07ba642a466aa6d3bcaea8cd285c8d0fb45ff13e77f2d7ebe", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/tests.log", + "original_sha256": "4e3d9ff32217c0ffb6810be31ef2b7f7b1df0387611e5ba2cc085993d1a58f0b", + "public": "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/tests.log", + "public_sha256": "4e3d9ff32217c0ffb6810be31ef2b7f7b1df0387611e5ba2cc085993d1a58f0b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6-outer.log", + "original_sha256": "6ef588a8b772d6bd1a36768f61d1390ba2cb46fd2c3692ca1f49f24e1f77a25b", + "public": "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/outer.log", + "public_sha256": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "a1eddfd1cb632f66e5a070134adf89c63e3efd2c16feb2d2b4f0737ab52ea752", + "public": "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "a1eddfd1cb632f66e5a070134adf89c63e3efd2c16feb2d2b4f0737ab52ea752", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "48d2b47afdf624db881252e8912845aaf1f218427f17d0446439c0eced5aff86", + "public": "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "48d2b47afdf624db881252e8912845aaf1f218427f17d0446439c0eced5aff86", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "original_sha256": "00a39b69367d53df223dff9016267ea080ef45109afbe1e72230cb2dbbf6179a", + "public": "docs/screenshots/touch-search/diagnostic-landscape100-v6/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "public_sha256": "00a39b69367d53df223dff9016267ea080ef45109afbe1e72230cb2dbbf6179a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "original_sha256": "c115694d093b9d2cad85019b9af543454818197ae93701f8920aba7df6299d4c", + "public": "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "public_sha256": "c115694d093b9d2cad85019b9af543454818197ae93701f8920aba7df6299d4c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "original_sha256": "1d0ec6ac273400ec46e25face0f0d0a788c7e72d25a037bfa935e82db72c4f81", + "public": "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "public_sha256": "1d0ec6ac273400ec46e25face0f0d0a788c7e72d25a037bfa935e82db72c4f81", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "original_sha256": "2e19f15500f889a26d5ed255e9ef344b76c47d2aaae0fcc47172dce0484f6a92", + "public": "docs/screenshots/touch-search/diagnostic-landscape100-v6/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "public_sha256": "2e19f15500f889a26d5ed255e9ef344b76c47d2aaae0fcc47172dce0484f6a92", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "original_sha256": "4ddf1149668bd7a13712c6128359f70364055a1a1a6190c01fc5944554c9135b", + "public": "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "public_sha256": "4ddf1149668bd7a13712c6128359f70364055a1a1a6190c01fc5944554c9135b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "original_sha256": "8b2066848e42b833d0d775c5c76f26e89cd9d4c2a33da17fe19b0ec08a6329b5", + "public": "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "public_sha256": "8b2066848e42b833d0d775c5c76f26e89cd9d4c2a33da17fe19b0ec08a6329b5", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200/tests.log", + "original_sha256": "5f9563909317c576ae20237a1589200a49850c2b40ec1bf5f57c99d639407b15", + "public": "docs/validation/touch-search/cohorts/verified-phone200/tests.log", + "public_sha256": "5f9563909317c576ae20237a1589200a49850c2b40ec1bf5f57c99d639407b15", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-outer.log", + "original_sha256": "6ef588a8b772d6bd1a36768f61d1390ba2cb46fd2c3692ca1f49f24e1f77a25b", + "public": "docs/validation/touch-search/cohorts/verified-phone200/outer.log", + "public_sha256": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "538125c2863a22f6253ad870da184bc6e622449ad88b871d1d07063ab75ccdde", + "public": "docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "538125c2863a22f6253ad870da184bc6e622449ad88b871d1d07063ab75ccdde", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "81ca0cca0e31b02adfd3d723f1409225ae2c605fb6d5316dcf9268617fcd1a69", + "public": "docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "81ca0cca0e31b02adfd3d723f1409225ae2c605fb6d5316dcf9268617fcd1a69", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "original_sha256": "c0ff747d9a075d19a0a0c6f78baac8c6ae53edc76e61086eceeb16b5bd26038a", + "public": "docs/screenshots/touch-search/verified-phone200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "public_sha256": "c0ff747d9a075d19a0a0c6f78baac8c6ae53edc76e61086eceeb16b5bd26038a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "original_sha256": "80f1816719b88d6cadd32dccf28748cedab08ba2da5b8e2c12be9aa75fcf032e", + "public": "docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "public_sha256": "80f1816719b88d6cadd32dccf28748cedab08ba2da5b8e2c12be9aa75fcf032e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "original_sha256": "984b23189d77d75476b0a54ae9d007910572fd9a0a0b4d25e8d875786a33386a", + "public": "docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "public_sha256": "984b23189d77d75476b0a54ae9d007910572fd9a0a0b4d25e8d875786a33386a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "original_sha256": "13091634e60f6fb1313ce9c7c29a6cc884b10315575a0c36ea9ed1e40e682ca3", + "public": "docs/screenshots/touch-search/verified-phone200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "public_sha256": "13091634e60f6fb1313ce9c7c29a6cc884b10315575a0c36ea9ed1e40e682ca3", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "original_sha256": "d4275a550577c1b28bbe9394ef4f2d3f4d7431bc29b6d5a4ddf7261c19caac53", + "public": "docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "public_sha256": "d4275a550577c1b28bbe9394ef4f2d3f4d7431bc29b6d5a4ddf7261c19caac53", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "original_sha256": "4e13035806d38c08ea352fd13befb5f4c45c323d5527900406301bafcfbaffa0", + "public": "docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "public_sha256": "4e13035806d38c08ea352fd13befb5f4c45c323d5527900406301bafcfbaffa0", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/tests.log", + "original_sha256": "2241cb96d110222f824f6a9604ecd7f61407aa413b669dc3ec17dbb7ad89979e", + "public": "docs/validation/touch-search/cohorts/verified-api26-phone100/tests.log", + "public_sha256": "2241cb96d110222f824f6a9604ecd7f61407aa413b669dc3ec17dbb7ad89979e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100-outer.log", + "original_sha256": "6ef588a8b772d6bd1a36768f61d1390ba2cb46fd2c3692ca1f49f24e1f77a25b", + "public": "docs/validation/touch-search/cohorts/verified-api26-phone100/outer.log", + "public_sha256": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json", + "original_sha256": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7", + "public": "docs/validation/touch-search/cohorts/verified-api26-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json", + "public_sha256": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "19f1dbfd73174baeea4211d99460ec9de8d4b9e26d66c50a1de13f64f6721750", + "public": "docs/validation/touch-search/cohorts/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "19f1dbfd73174baeea4211d99460ec9de8d4b9e26d66c50a1de13f64f6721750", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "f1ea376b12e0b149e66e489f9f8e3694a50fd172aef9d54620e57877b3084b0c", + "public": "docs/validation/touch-search/cohorts/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "f1ea376b12e0b149e66e489f9f8e3694a50fd172aef9d54620e57877b3084b0c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json", + "original_sha256": "e5b2ae15a6dd9d38f805c02228b2c89144ff50038f61d8bdb4a3a3d66330a50a", + "public": "docs/validation/touch-search/cohorts/verified-api26-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json", + "public_sha256": "e5b2ae15a6dd9d38f805c02228b2c89144ff50038f61d8bdb4a3a3d66330a50a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json", + "original_sha256": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9", + "public": "docs/validation/touch-search/cohorts/verified-api26-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json", + "public_sha256": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/tests.log", + "original_sha256": "8dc833a3e6ce8c4ff661578a43f127270090f1174fdb2d0fa9f2ae160b1581c5", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/tests.log", + "public_sha256": "8dc833a3e6ce8c4ff661578a43f127270090f1174fdb2d0fa9f2ae160b1581c5", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100-outer.log", + "original_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/outer.log", + "public_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "138fc0f1ddd3d9c15554bb1f45580fae32a12a8c723d3db4cfd295f577047ce6", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "138fc0f1ddd3d9c15554bb1f45580fae32a12a8c723d3db4cfd295f577047ce6", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "d1f2e5232145604211979aad9c2e07a6b873ea83266697a23f6218fc62541c54", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "d1f2e5232145604211979aad9c2e07a6b873ea83266697a23f6218fc62541c54", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "original_sha256": "fea4f6872897e31e2c26190deb6b90ca57ab64212e8d973fb73e64eebd612ff2", + "public": "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "public_sha256": "fea4f6872897e31e2c26190deb6b90ca57ab64212e8d973fb73e64eebd612ff2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "original_sha256": "18ae1d7bf14bc50d2342be50534dc026a4daef8ece5748c017b1ce57cd6e237e", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "public_sha256": "18ae1d7bf14bc50d2342be50534dc026a4daef8ece5748c017b1ce57cd6e237e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "original_sha256": "3ff851df62248dc57fab3884f38b7a1cc0a8f02d32abbb47a20e16ddff95ace1", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "public_sha256": "3ff851df62248dc57fab3884f38b7a1cc0a8f02d32abbb47a20e16ddff95ace1", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "original_sha256": "4f423882e6bc9e10af84dfc3e67885c2466693e4c64cabbe37c467834fee390f", + "public": "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "public_sha256": "4f423882e6bc9e10af84dfc3e67885c2466693e4c64cabbe37c467834fee390f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "original_sha256": "c42c1075d0268e145884a97cf6f5f76c26645a4238f5b0dbf761f637917716c5", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "public_sha256": "c42c1075d0268e145884a97cf6f5f76c26645a4238f5b0dbf761f637917716c5", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "original_sha256": "4789fd81b7957830b05bd5fc3fef0221d65b1e7dac14635d49441d84eb801025", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "public_sha256": "4789fd81b7957830b05bd5fc3fef0221d65b1e7dac14635d49441d84eb801025", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "original_sha256": "2ccae7413dd1307992cfd56fc72991d26f91ee5ad312a9d6f97eb1298e64bc6b", + "public": "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "public_sha256": "2ccae7413dd1307992cfd56fc72991d26f91ee5ad312a9d6f97eb1298e64bc6b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "original_sha256": "27656887b0a51071a383037bf19f5e3a5e78aa7fa5881b13f74e0dd2b84572a3", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "public_sha256": "27656887b0a51071a383037bf19f5e3a5e78aa7fa5881b13f74e0dd2b84572a3", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "original_sha256": "183f4026e843e400b488a47e798d6d2ed894d2ea5087b1952e19fe6ff0d5a429", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "public_sha256": "183f4026e843e400b488a47e798d6d2ed894d2ea5087b1952e19fe6ff0d5a429", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "original_sha256": "e76a13aaee39e363ae06f13660f5dfe1f6a675fa92c0d0fd20574e2141a22041", + "public": "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "public_sha256": "e76a13aaee39e363ae06f13660f5dfe1f6a675fa92c0d0fd20574e2141a22041", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "original_sha256": "533e9ce939d1468ced4f196ea75d4f97c65c476a3700e00d0c3dbdf2f0ea3e03", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "public_sha256": "533e9ce939d1468ced4f196ea75d4f97c65c476a3700e00d0c3dbdf2f0ea3e03", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "original_sha256": "d1fbfd83e2bfd1449a250961e8026ceaeccf9102dcd8c45cf37702411986848e", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "public_sha256": "d1fbfd83e2bfd1449a250961e8026ceaeccf9102dcd8c45cf37702411986848e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "original_sha256": "4118b294000a57401e2995cd7e5bf18e882e18e33b7b968c138eb5d6f9ff7b62", + "public": "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "public_sha256": "4118b294000a57401e2995cd7e5bf18e882e18e33b7b968c138eb5d6f9ff7b62", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "original_sha256": "e8ab6095d39760c1d9b879f20efe1ea70f5bdcb430b6f953c37b734462fc830a", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "public_sha256": "e8ab6095d39760c1d9b879f20efe1ea70f5bdcb430b6f953c37b734462fc830a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "original_sha256": "1d0ec6ac273400ec46e25face0f0d0a788c7e72d25a037bfa935e82db72c4f81", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "public_sha256": "1d0ec6ac273400ec46e25face0f0d0a788c7e72d25a037bfa935e82db72c4f81", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "original_sha256": "55a5b89b69c4170003e5e65d7ad67d1dc1d40d79edf61d14fb7180479cadacc2", + "public": "docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "public_sha256": "55a5b89b69c4170003e5e65d7ad67d1dc1d40d79edf61d14fb7180479cadacc2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "original_sha256": "a48283f72bd7a9d60e6f0b831270b457bb6e5832a14d16f3ab0bb4838d3e587f", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "public_sha256": "a48283f72bd7a9d60e6f0b831270b457bb6e5832a14d16f3ab0bb4838d3e587f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "original_sha256": "bca4f2e586419cfcb3ca60a80645af1728c6925505c9eba0b4e18e7ad235ebf4", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "public_sha256": "bca4f2e586419cfcb3ca60a80645af1728c6925505c9eba0b4e18e7ad235ebf4", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "original_sha256": "3143eaeca0699d887799f27a648011a2f87c6fdcca7e0aee05c355b4a8cf045e", + "public": "docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "public_sha256": "3143eaeca0699d887799f27a648011a2f87c6fdcca7e0aee05c355b4a8cf045e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "original_sha256": "6cdd392450e7b2da8dc46ccdf0cc2aa294d3e8aaadb489f04e06ee2b3e85826f", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "public_sha256": "6cdd392450e7b2da8dc46ccdf0cc2aa294d3e8aaadb489f04e06ee2b3e85826f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "original_sha256": "993b08b0346bef7b473d1fa87de892601b0b69c1f63a584c700875c29d47bd23", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "public_sha256": "993b08b0346bef7b473d1fa87de892601b0b69c1f63a584c700875c29d47bd23", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "original_sha256": "2b9a218f4b5eca4a85e693a7cacb40c95c31a353e14603916baecad338527e0a", + "public": "docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "public_sha256": "2b9a218f4b5eca4a85e693a7cacb40c95c31a353e14603916baecad338527e0a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "original_sha256": "0524cb80f0355ad045f2631b10c8072ceaf81228b82d030e035b19e9dd8fa4f3", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "public_sha256": "0524cb80f0355ad045f2631b10c8072ceaf81228b82d030e035b19e9dd8fa4f3", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "original_sha256": "df32fe63b73a462d1be4223137d8b03660818509b982052393bac91de1851c62", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "public_sha256": "df32fe63b73a462d1be4223137d8b03660818509b982052393bac91de1851c62", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "original_sha256": "e8d87dad3eedaedc1ae96359a7809af4ebccc0d01ba3178663c48317b6a8537f", + "public": "docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "public_sha256": "e8d87dad3eedaedc1ae96359a7809af4ebccc0d01ba3178663c48317b6a8537f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "original_sha256": "67a2654ccc5145946b30355ce72605850ff742ca9aaefb0244066f40cc0ebb5a", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "public_sha256": "67a2654ccc5145946b30355ce72605850ff742ca9aaefb0244066f40cc0ebb5a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "original_sha256": "8b2066848e42b833d0d775c5c76f26e89cd9d4c2a33da17fe19b0ec08a6329b5", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "public_sha256": "8b2066848e42b833d0d775c5c76f26e89cd9d4c2a33da17fe19b0ec08a6329b5", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/tests.log", + "original_sha256": "f6047edd9daa31dc4c1f69955a10f00121e128f0d652ad04865c3c39938f6326", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/tests.log", + "public_sha256": "f6047edd9daa31dc4c1f69955a10f00121e128f0d652ad04865c3c39938f6326", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200-outer.log", + "original_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/outer.log", + "public_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "5849308603380cc40880915d6f701018855ebbab6510b020cc6f83aa704f21bb", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "5849308603380cc40880915d6f701018855ebbab6510b020cc6f83aa704f21bb", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "d9705e1d9ebfe2c2518ae1463d5b713511dd795c07ef13991d7ee943e482b407", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "d9705e1d9ebfe2c2518ae1463d5b713511dd795c07ef13991d7ee943e482b407", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "original_sha256": "84a30a53e416a3d7e5455a5efb8ee0475ef17ffe4884e138ae8971eb4b560d4f", + "public": "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "public_sha256": "84a30a53e416a3d7e5455a5efb8ee0475ef17ffe4884e138ae8971eb4b560d4f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "original_sha256": "5ed47e902e7f11fe92797c14259343421e6bec5ffaa9d612294f622b329fda1a", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "public_sha256": "5ed47e902e7f11fe92797c14259343421e6bec5ffaa9d612294f622b329fda1a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "original_sha256": "acd5f9dbb3d563d18d4e0492d57a051035bd48fa3ede0d51cc95b85abceca028", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "public_sha256": "acd5f9dbb3d563d18d4e0492d57a051035bd48fa3ede0d51cc95b85abceca028", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "original_sha256": "b531f42d14804c3aa0c91f522ce054a042417e7c8971f6549bce17cfb93cd359", + "public": "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "public_sha256": "b531f42d14804c3aa0c91f522ce054a042417e7c8971f6549bce17cfb93cd359", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "original_sha256": "b784e8c88509466d7f69da24ba694aa116c1d839506b4a1efc3eebbae1ab6fd9", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "public_sha256": "b784e8c88509466d7f69da24ba694aa116c1d839506b4a1efc3eebbae1ab6fd9", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "original_sha256": "1c5a48ee9b18034366a645f597f45e07702626d853cfbd02827ffe7653cfe638", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "public_sha256": "1c5a48ee9b18034366a645f597f45e07702626d853cfbd02827ffe7653cfe638", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "original_sha256": "4deb9890e4fd7623402c0f606073a6e3910fc8e2a34786d0e48dd09daaa81e43", + "public": "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "public_sha256": "4deb9890e4fd7623402c0f606073a6e3910fc8e2a34786d0e48dd09daaa81e43", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "original_sha256": "da5c62b1ff0d2f6a260e659e6c8093488553bfb77ff9e41ebfebee361c2d4d96", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "public_sha256": "da5c62b1ff0d2f6a260e659e6c8093488553bfb77ff9e41ebfebee361c2d4d96", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "original_sha256": "91e30fe2306f182681c1e14bdc10ec5dd20b0f3e60207053426888fee924d666", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "public_sha256": "91e30fe2306f182681c1e14bdc10ec5dd20b0f3e60207053426888fee924d666", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "original_sha256": "0ebbadb2c9640234d3ab56eb39ab9235b4aecc7eb703704ce126eaa646757593", + "public": "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "public_sha256": "0ebbadb2c9640234d3ab56eb39ab9235b4aecc7eb703704ce126eaa646757593", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "original_sha256": "b82e6927b357e0d7ad18f5ff4f5fea3af1b9bf57de0a4a9aed0a07ebd5d19f52", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "public_sha256": "b82e6927b357e0d7ad18f5ff4f5fea3af1b9bf57de0a4a9aed0a07ebd5d19f52", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "original_sha256": "c3345660a8d7c7b6ab3e8fb10ec43fa9228fb44588e693bffa12f64b8bcf89db", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "public_sha256": "c3345660a8d7c7b6ab3e8fb10ec43fa9228fb44588e693bffa12f64b8bcf89db", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "original_sha256": "318794f100f56f39eb66eb1744d8df0bdc371b3b4105355cd6a1a57474012785", + "public": "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "public_sha256": "318794f100f56f39eb66eb1744d8df0bdc371b3b4105355cd6a1a57474012785", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "original_sha256": "2fc83c861eac6e550de7bda3ede1bb3de653ec5d80f050e29bf5bd27fefb19f0", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "public_sha256": "2fc83c861eac6e550de7bda3ede1bb3de653ec5d80f050e29bf5bd27fefb19f0", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "original_sha256": "b2038cf48af24f2f33505f62bab7ddf9e099a86252d889ee9ce71d7c6508e491", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "public_sha256": "b2038cf48af24f2f33505f62bab7ddf9e099a86252d889ee9ce71d7c6508e491", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "original_sha256": "7e683a466d79d641cc1503c7f8495d94a79dd8e1b36daf9f05118d651effe8e6", + "public": "docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "public_sha256": "7e683a466d79d641cc1503c7f8495d94a79dd8e1b36daf9f05118d651effe8e6", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "original_sha256": "96b9e85183477e99e2b37e5cf79900b1942208fe422c80c026d02228d532f0b4", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "public_sha256": "96b9e85183477e99e2b37e5cf79900b1942208fe422c80c026d02228d532f0b4", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "original_sha256": "28a258d4408946ccbfa7c64abe8698d5eb89caa95a5014876543fad6cbff0b1d", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "public_sha256": "28a258d4408946ccbfa7c64abe8698d5eb89caa95a5014876543fad6cbff0b1d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "original_sha256": "ec52a89e2f70542a87eaa0dbba8c6c6639236b2b0477a68b09274c808df31960", + "public": "docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "public_sha256": "ec52a89e2f70542a87eaa0dbba8c6c6639236b2b0477a68b09274c808df31960", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "original_sha256": "9793cda6af3c02f6d9f72fe88579696806ee41efa955b5d93dc321c9c69289e3", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "public_sha256": "9793cda6af3c02f6d9f72fe88579696806ee41efa955b5d93dc321c9c69289e3", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "original_sha256": "d721f6406080a349884acb9da25a1a2124f1911778c152df267408877af5f885", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "public_sha256": "d721f6406080a349884acb9da25a1a2124f1911778c152df267408877af5f885", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "original_sha256": "26cf9222d48b588c13ac8b12965cac169e5d955fe05ba059c763ae6e9544db9e", + "public": "docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "public_sha256": "26cf9222d48b588c13ac8b12965cac169e5d955fe05ba059c763ae6e9544db9e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "original_sha256": "e839d40e565d38ac3c4d0c2f3bbb26ce947af753965c59f2bdf40d0532607181", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "public_sha256": "e839d40e565d38ac3c4d0c2f3bbb26ce947af753965c59f2bdf40d0532607181", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "original_sha256": "49ff1f5b37ee6c39f181485e13a7c0e0dfb9aac1013526cf359e2d0e01e0c42e", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "public_sha256": "49ff1f5b37ee6c39f181485e13a7c0e0dfb9aac1013526cf359e2d0e01e0c42e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "original_sha256": "03a8ab56616f421587da5eae7ef5931c6269678652e9ab99c05fde6e37c1e7b5", + "public": "docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "public_sha256": "03a8ab56616f421587da5eae7ef5931c6269678652e9ab99c05fde6e37c1e7b5", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "original_sha256": "54b8558ef6d9108dd1f1298d63943786d68e83f94e5f8e385a68c1cb3e122ce9", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "public_sha256": "54b8558ef6d9108dd1f1298d63943786d68e83f94e5f8e385a68c1cb3e122ce9", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "original_sha256": "952cff225f388e1596e4c8cf386667b0543690d958481fedbfde94b62387f60c", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "public_sha256": "952cff225f388e1596e4c8cf386667b0543690d958481fedbfde94b62387f60c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/tests.log", + "original_sha256": "c369ef6a3e98db74317fec71d532131f889be0aa9af7d17bf1d78f034c32fb03", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/tests.log", + "public_sha256": "c369ef6a3e98db74317fec71d532131f889be0aa9af7d17bf1d78f034c32fb03", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100-outer.log", + "original_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/outer.log", + "public_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "55ad7d24dec12cf62ca2018266b024af610c9881d1835447bb927324e3ec58cc", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "55ad7d24dec12cf62ca2018266b024af610c9881d1835447bb927324e3ec58cc", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "17184bd0a80faef9692ab96fa009ed1e2e262da745536920dbaab7d64a7c149a", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "17184bd0a80faef9692ab96fa009ed1e2e262da745536920dbaab7d64a7c149a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "original_sha256": "2f88fed8a1803b6f28accd2df175cda625f13d9c9a12485ceb4beb9e2a5847b5", + "public": "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "public_sha256": "2f88fed8a1803b6f28accd2df175cda625f13d9c9a12485ceb4beb9e2a5847b5", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "original_sha256": "a7cb2e2f09efb6a58e6d60d20cd1437542b03c23de816c3e68d74210c74436c3", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "public_sha256": "a7cb2e2f09efb6a58e6d60d20cd1437542b03c23de816c3e68d74210c74436c3", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "original_sha256": "35511b6fb5c4b7a16356e7f7d0e754117be1dba14303578f4ca0641ad9a0f219", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "public_sha256": "35511b6fb5c4b7a16356e7f7d0e754117be1dba14303578f4ca0641ad9a0f219", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "original_sha256": "bda805d90189a8f967211fda76cf0c6804b9122c6b24a35a5406544450b1387d", + "public": "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "public_sha256": "bda805d90189a8f967211fda76cf0c6804b9122c6b24a35a5406544450b1387d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "original_sha256": "abbcebdb44b5f2ed607df1d2e53510047bdf7ea5e6c3fd0bc13cac5268b4100d", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "public_sha256": "abbcebdb44b5f2ed607df1d2e53510047bdf7ea5e6c3fd0bc13cac5268b4100d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "original_sha256": "844559e987e11c2eed1109abf350462cb44c5c0a154b4c44442d8c23c84b2b66", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "public_sha256": "844559e987e11c2eed1109abf350462cb44c5c0a154b4c44442d8c23c84b2b66", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "original_sha256": "fe6be37c94f4b0047d34bbee1410f0579b8954f3fb951163e18120559cb1b304", + "public": "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "public_sha256": "fe6be37c94f4b0047d34bbee1410f0579b8954f3fb951163e18120559cb1b304", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "original_sha256": "693425e89a8210b370754e6c7a054a3cb8dd8d280ec7c947083c5a6d9666cc12", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "public_sha256": "693425e89a8210b370754e6c7a054a3cb8dd8d280ec7c947083c5a6d9666cc12", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "original_sha256": "8a8b31c0d22a855a570ba6c639237bab5fc49cd27895df16985d603a572b1bea", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "public_sha256": "8a8b31c0d22a855a570ba6c639237bab5fc49cd27895df16985d603a572b1bea", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "original_sha256": "6c48c90432e0c6cf5789059b4522c227e0d17144ae5e70561f8f4f908d39da52", + "public": "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "public_sha256": "6c48c90432e0c6cf5789059b4522c227e0d17144ae5e70561f8f4f908d39da52", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "original_sha256": "2fa5c80001d7dfdce1a5d1ef650276528f9cbadb50ef38ef98303ee0c9d598df", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "public_sha256": "2fa5c80001d7dfdce1a5d1ef650276528f9cbadb50ef38ef98303ee0c9d598df", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "original_sha256": "e40dd5dfc9a198ecdd6d37556a157653d5e73a54b33e682475c2bbd5392083a1", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "public_sha256": "e40dd5dfc9a198ecdd6d37556a157653d5e73a54b33e682475c2bbd5392083a1", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "original_sha256": "54e3c01a8902b6ba8178872e4fa1b74918177b352abe6975b5912254c5082b2b", + "public": "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "public_sha256": "54e3c01a8902b6ba8178872e4fa1b74918177b352abe6975b5912254c5082b2b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "original_sha256": "17852d036e1019c78c762726c26e8474d3f4c91317a7023553824f2b65027cb0", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "public_sha256": "17852d036e1019c78c762726c26e8474d3f4c91317a7023553824f2b65027cb0", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "original_sha256": "d05792bb5f6b9173879bdefa49259ada70d5d17d5d3f3be82d57444916e8d74e", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "public_sha256": "d05792bb5f6b9173879bdefa49259ada70d5d17d5d3f3be82d57444916e8d74e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "original_sha256": "815f93c47ebe514b47392fae0bc5a1cdf8a0bcfde6ca18c803a2eed77feb6d6e", + "public": "docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "public_sha256": "815f93c47ebe514b47392fae0bc5a1cdf8a0bcfde6ca18c803a2eed77feb6d6e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "original_sha256": "0596d5477e98549f618ee7eab8b53539716f86b652f4ccaa6db85195c27f0246", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "public_sha256": "0596d5477e98549f618ee7eab8b53539716f86b652f4ccaa6db85195c27f0246", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "original_sha256": "d5ec32a2a67ac640c4cabdf85bda96c9b1b53413d7eb7557d0b076d5446804a2", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "public_sha256": "d5ec32a2a67ac640c4cabdf85bda96c9b1b53413d7eb7557d0b076d5446804a2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "original_sha256": "aa385104fc9cfb96a4ad0695a454be9151b7ac03c91d52cea21b540e78373194", + "public": "docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "public_sha256": "aa385104fc9cfb96a4ad0695a454be9151b7ac03c91d52cea21b540e78373194", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "original_sha256": "5b2005eaf6d74f495dcbb11cb4c1f839264ddc3faa357ee911cfa5bfe694f8e2", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "public_sha256": "5b2005eaf6d74f495dcbb11cb4c1f839264ddc3faa357ee911cfa5bfe694f8e2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "original_sha256": "88877dea617fc2af0e7a819b91a632a39f0ff447ffddb4abfc8f6867257e18f5", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "public_sha256": "88877dea617fc2af0e7a819b91a632a39f0ff447ffddb4abfc8f6867257e18f5", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "original_sha256": "2441e9b840e834a37ffc11e35851b617fb1d243796c4550b34540f6e03a6a8d4", + "public": "docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "public_sha256": "2441e9b840e834a37ffc11e35851b617fb1d243796c4550b34540f6e03a6a8d4", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "original_sha256": "65e4fbdd143162cee4567d9d726be29dd802e4fae6d64cc9662b1fb58b582d42", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "public_sha256": "65e4fbdd143162cee4567d9d726be29dd802e4fae6d64cc9662b1fb58b582d42", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "original_sha256": "6d9e8b4bcac5699874bbec015627b480e85feb0582c312ae3c969c3eaf3ca17f", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "public_sha256": "6d9e8b4bcac5699874bbec015627b480e85feb0582c312ae3c969c3eaf3ca17f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "original_sha256": "281c2b929ac85f96e5b88cdcac1030c098b18059d5bb396de893642cd1a2c863", + "public": "docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "public_sha256": "281c2b929ac85f96e5b88cdcac1030c098b18059d5bb396de893642cd1a2c863", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "original_sha256": "558da77fd169384f96531d69709b1e86f6ff68ac5b5b9386fbec9b908a6d603b", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "public_sha256": "558da77fd169384f96531d69709b1e86f6ff68ac5b5b9386fbec9b908a6d603b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "original_sha256": "24f14fbb85af3c234aa1331a17c44cc066fb61f585c34ac2cc65de7aa6af5096", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "public_sha256": "24f14fbb85af3c234aa1331a17c44cc066fb61f585c34ac2cc65de7aa6af5096", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/tests.log", + "original_sha256": "ccbcde8ac0f472b25412dea8a33b1549b5dad686287cc059fb3091fb6b0bc9bb", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/tests.log", + "public_sha256": "ccbcde8ac0f472b25412dea8a33b1549b5dad686287cc059fb3091fb6b0bc9bb", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200-outer.log", + "original_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/outer.log", + "public_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "cff914f8f0da9521ddfc6fe5fa61210c1213d7c85a968ec72af80a8b8837ca28", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "cff914f8f0da9521ddfc6fe5fa61210c1213d7c85a968ec72af80a8b8837ca28", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "44bb5825485ff6fa16a2cc4c05463bc607d06d10b3b6092af075e0eddea01580", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "44bb5825485ff6fa16a2cc4c05463bc607d06d10b3b6092af075e0eddea01580", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "original_sha256": "1da0b14d08dd7f65db7dee148f0fb7f8d3393481fd493ed37ba3cdd385cc3050", + "public": "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "public_sha256": "1da0b14d08dd7f65db7dee148f0fb7f8d3393481fd493ed37ba3cdd385cc3050", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "original_sha256": "8cb66ff8335be0f68a21adfe866f80ea29318b20cae8549a617521e0262642c6", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "public_sha256": "8cb66ff8335be0f68a21adfe866f80ea29318b20cae8549a617521e0262642c6", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "original_sha256": "545ffdf4e0c3135fd723e9a321aa56553cd96b3d18bdb72a2fb5862a57b8ee87", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "public_sha256": "545ffdf4e0c3135fd723e9a321aa56553cd96b3d18bdb72a2fb5862a57b8ee87", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "original_sha256": "c094b63cbf34a50f7a8bd9181e361ffcf44145a860b161ed56b386c3456a0c41", + "public": "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "public_sha256": "c094b63cbf34a50f7a8bd9181e361ffcf44145a860b161ed56b386c3456a0c41", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "original_sha256": "855874c2b68d62fecc7c1ee9b4e91ce3fb8fcb86a8278c5c5e6369451e1c71e7", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "public_sha256": "855874c2b68d62fecc7c1ee9b4e91ce3fb8fcb86a8278c5c5e6369451e1c71e7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "original_sha256": "cb72b49a2840c16060634ef0e9880c647b6dfadaf48a874c1786af2019a3615d", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "public_sha256": "cb72b49a2840c16060634ef0e9880c647b6dfadaf48a874c1786af2019a3615d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "original_sha256": "00e974734b0ba916f20fadc00b687c5196392ba046bf7c86eee5bac8f7969366", + "public": "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "public_sha256": "00e974734b0ba916f20fadc00b687c5196392ba046bf7c86eee5bac8f7969366", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "original_sha256": "b7151f4aee01715ee719fdf43a7ec8ceb2a71f9b3838479cb69dbbbf1b40c085", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "public_sha256": "b7151f4aee01715ee719fdf43a7ec8ceb2a71f9b3838479cb69dbbbf1b40c085", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "original_sha256": "539f2bda830bf4cfdcbe6ddf5292cb32ce354a96b7e4e08ee26c15e322ac1e03", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "public_sha256": "539f2bda830bf4cfdcbe6ddf5292cb32ce354a96b7e4e08ee26c15e322ac1e03", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "original_sha256": "5aca84e931ce8ec50e5ef5c256214e92f603b1045181d5c1a75faf72b368aae0", + "public": "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "public_sha256": "5aca84e931ce8ec50e5ef5c256214e92f603b1045181d5c1a75faf72b368aae0", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "original_sha256": "c60647360811ab89b5cdb4d97ce34a4567ab66201f6d092f6b0cff901004d5da", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "public_sha256": "c60647360811ab89b5cdb4d97ce34a4567ab66201f6d092f6b0cff901004d5da", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "original_sha256": "124d29121650f25b3038b4863938c3ead302126fd5ba58550f8482dc717a4a0b", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "public_sha256": "124d29121650f25b3038b4863938c3ead302126fd5ba58550f8482dc717a4a0b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "original_sha256": "34f1a632a25ec66d11a84b832ad6d1bc945eb17678879f62c583a5a93f8d8fea", + "public": "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "public_sha256": "34f1a632a25ec66d11a84b832ad6d1bc945eb17678879f62c583a5a93f8d8fea", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "original_sha256": "7aaa8a603c88317ee2955d5a8b0eb692f69c4546b1728b82dd300683af36bd36", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "public_sha256": "7aaa8a603c88317ee2955d5a8b0eb692f69c4546b1728b82dd300683af36bd36", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "original_sha256": "12702a0724b7eff7dc55aee6be56016d04974e255948d12858a9f864552e6a3c", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "public_sha256": "12702a0724b7eff7dc55aee6be56016d04974e255948d12858a9f864552e6a3c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "original_sha256": "d137f1458fa9fffdd4b8c349dc856262d87f9896b62d14ffeabb8b68efdd46ba", + "public": "docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "public_sha256": "d137f1458fa9fffdd4b8c349dc856262d87f9896b62d14ffeabb8b68efdd46ba", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "original_sha256": "b41ec191e068f5756461718ce5065994a921c5857af764aaf78320b93cf6f2ee", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "public_sha256": "b41ec191e068f5756461718ce5065994a921c5857af764aaf78320b93cf6f2ee", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "original_sha256": "b520db8f0022d0c0fcd76aa49c2d537f9f57433a32bec2c0fc4d64ad2505d801", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "public_sha256": "b520db8f0022d0c0fcd76aa49c2d537f9f57433a32bec2c0fc4d64ad2505d801", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "original_sha256": "9732f75aefb4ea171e5e391d436b83406052df6e08b044de6bfaabb865eae0da", + "public": "docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "public_sha256": "9732f75aefb4ea171e5e391d436b83406052df6e08b044de6bfaabb865eae0da", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "original_sha256": "8d57cc14e2a2048fdd21f27176c89fc898f0c8bf9a760e3b3785d0b5b1ca06db", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "public_sha256": "8d57cc14e2a2048fdd21f27176c89fc898f0c8bf9a760e3b3785d0b5b1ca06db", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "original_sha256": "5ebb0a0773340985fc4b867f81028ce0227b9e6b92b11043689192fdf7ec542b", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "public_sha256": "5ebb0a0773340985fc4b867f81028ce0227b9e6b92b11043689192fdf7ec542b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "original_sha256": "4afb70473a1c13942aaa3257d9622244a762681363c0ba5cffa0105ebe409b54", + "public": "docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "public_sha256": "4afb70473a1c13942aaa3257d9622244a762681363c0ba5cffa0105ebe409b54", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "original_sha256": "4a5c8185165358c7606056013619018ca8a34cd99f6d31a28a90cc03bf08405b", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "public_sha256": "4a5c8185165358c7606056013619018ca8a34cd99f6d31a28a90cc03bf08405b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "original_sha256": "7f8965715aa49d7a4295e8ed5ff74931aeef492d0bd64f68ef3201d7b8c8049e", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "public_sha256": "7f8965715aa49d7a4295e8ed5ff74931aeef492d0bd64f68ef3201d7b8c8049e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "original_sha256": "47eaae1098a2912080449f0446ead898f1321a00090ceafdfa747b2b386d900c", + "public": "docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "public_sha256": "47eaae1098a2912080449f0446ead898f1321a00090ceafdfa747b2b386d900c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "original_sha256": "89d55f47f41a63caf86edd74548522070cdc14954f045e63f592068a4d06148d", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "public_sha256": "89d55f47f41a63caf86edd74548522070cdc14954f045e63f592068a4d06148d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "original_sha256": "93f43193e27a09f4dc41451fe0626528dd2a5636f660df82c3111a96bd6942fd", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "public_sha256": "93f43193e27a09f4dc41451fe0626528dd2a5636f660df82c3111a96bd6942fd", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/tests.log", + "original_sha256": "50b2840bbf964052d5d508ac0e92f643a5381b613e78450be0ef6302ef022fa0", + "public": "docs/validation/touch-search/cohorts/verified-phone100/tests.log", + "public_sha256": "50b2840bbf964052d5d508ac0e92f643a5381b613e78450be0ef6302ef022fa0", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100-outer.log", + "original_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "public": "docs/validation/touch-search/cohorts/verified-phone100/outer.log", + "public_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "4b061c583a99cd703f61ab2a92846d44ddb993a419378864fee782924a7a2575", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "4b061c583a99cd703f61ab2a92846d44ddb993a419378864fee782924a7a2575", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "5ce8dd1f4c98533131dc6b360c333325b70bd9a3606a871e724bdbaac3b2d3a9", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "5ce8dd1f4c98533131dc6b360c333325b70bd9a3606a871e724bdbaac3b2d3a9", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "original_sha256": "22ed01931ad1b6dd80d7be5f51d6d8a720a6bd776e802dc0667eba2a8c8eee58", + "public": "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "public_sha256": "22ed01931ad1b6dd80d7be5f51d6d8a720a6bd776e802dc0667eba2a8c8eee58", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "original_sha256": "3bb69e31d33b5c4572d28cbde4461bfab33147ce6b4a0505599448b4199e5c6e", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "public_sha256": "3bb69e31d33b5c4572d28cbde4461bfab33147ce6b4a0505599448b4199e5c6e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "original_sha256": "f605da15421043e3f7b10d158f8254172b79551acaaffc2475fc5dcd4b05988b", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "public_sha256": "f605da15421043e3f7b10d158f8254172b79551acaaffc2475fc5dcd4b05988b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "original_sha256": "434fac0eefb0ff814140898fe992c1b9b525ab9cb8d1892df2fa3ea2e4d04947", + "public": "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "public_sha256": "434fac0eefb0ff814140898fe992c1b9b525ab9cb8d1892df2fa3ea2e4d04947", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "original_sha256": "61f240ac2f78abaf45bf71a0b383ad615716488a10b33bb0f7ca3886f2c32221", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "public_sha256": "61f240ac2f78abaf45bf71a0b383ad615716488a10b33bb0f7ca3886f2c32221", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "original_sha256": "7f514ddd80e67f155791ac86266aca6236e48cb68e04c2462ded9a1c0e3d3f39", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "public_sha256": "7f514ddd80e67f155791ac86266aca6236e48cb68e04c2462ded9a1c0e3d3f39", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "original_sha256": "fe757c08513eab3f5250475ad03dae2aa056f30f47bd43eb751918df9375bc16", + "public": "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "public_sha256": "fe757c08513eab3f5250475ad03dae2aa056f30f47bd43eb751918df9375bc16", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "original_sha256": "82a2a976ea25495919c713c1f4f1d5adb9628cc30b5cbba6b70c30c2858cd9db", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "public_sha256": "82a2a976ea25495919c713c1f4f1d5adb9628cc30b5cbba6b70c30c2858cd9db", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "original_sha256": "fe1e0162c95b6ab67165deddb69218c6200386fc7d91a1371c2d3edfad5c3e5a", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "public_sha256": "fe1e0162c95b6ab67165deddb69218c6200386fc7d91a1371c2d3edfad5c3e5a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "original_sha256": "c1ad2d03dfa44e7fda1c2f32211ad1bdc36bddbc88e9b5caa190f6db683284e3", + "public": "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "public_sha256": "c1ad2d03dfa44e7fda1c2f32211ad1bdc36bddbc88e9b5caa190f6db683284e3", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "original_sha256": "03e72977c01264eecdc7ace87e77cfdd20b791c4322451571f23ee43d933af95", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "public_sha256": "03e72977c01264eecdc7ace87e77cfdd20b791c4322451571f23ee43d933af95", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "original_sha256": "f284ab9aec54fe48812e19f8bfe5eac8bc81c4ba37b7fbdf0fd683f14d2de987", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "public_sha256": "f284ab9aec54fe48812e19f8bfe5eac8bc81c4ba37b7fbdf0fd683f14d2de987", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "original_sha256": "fe757c08513eab3f5250475ad03dae2aa056f30f47bd43eb751918df9375bc16", + "public": "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "public_sha256": "fe757c08513eab3f5250475ad03dae2aa056f30f47bd43eb751918df9375bc16", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "original_sha256": "82a2a976ea25495919c713c1f4f1d5adb9628cc30b5cbba6b70c30c2858cd9db", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "public_sha256": "82a2a976ea25495919c713c1f4f1d5adb9628cc30b5cbba6b70c30c2858cd9db", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "original_sha256": "3d3f02432a6c1c3941e976fde6dafcafefe31b947208809a5eb4e6dbec241761", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "public_sha256": "3d3f02432a6c1c3941e976fde6dafcafefe31b947208809a5eb4e6dbec241761", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "original_sha256": "cd2c3091e60ee1ab84b5696f54d50fe42211516d2f5fbe39b1c4cc544cad6646", + "public": "docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "public_sha256": "cd2c3091e60ee1ab84b5696f54d50fe42211516d2f5fbe39b1c4cc544cad6646", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "original_sha256": "c99b391d43fdb12da0446a801f900a3d91611dc37e0e389fc2bcd02596e34b10", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "public_sha256": "c99b391d43fdb12da0446a801f900a3d91611dc37e0e389fc2bcd02596e34b10", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "original_sha256": "efa6a9949c78f198e22bb0885a9f639beb4083149fbc74f9655af5f789d6ade7", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "public_sha256": "efa6a9949c78f198e22bb0885a9f639beb4083149fbc74f9655af5f789d6ade7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "original_sha256": "c0b165699e5b0d7703d1ab73bdb57066700788604a337301f0884d45810414e8", + "public": "docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "public_sha256": "c0b165699e5b0d7703d1ab73bdb57066700788604a337301f0884d45810414e8", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "original_sha256": "4489f96d437ed98c4c253c4e1ae47a64bae1cd0da2084fa091c28c229a5b36d5", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "public_sha256": "4489f96d437ed98c4c253c4e1ae47a64bae1cd0da2084fa091c28c229a5b36d5", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "original_sha256": "4c81703ab407588cd7283145e81aa3f83bea028fe4ec05d492ca9a238afd1c2d", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "public_sha256": "4c81703ab407588cd7283145e81aa3f83bea028fe4ec05d492ca9a238afd1c2d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "original_sha256": "6313c7d764560e42dc8b5d3c158c85fc8dd1e29c84b9cc30048a17875751298b", + "public": "docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "public_sha256": "6313c7d764560e42dc8b5d3c158c85fc8dd1e29c84b9cc30048a17875751298b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "original_sha256": "0b23a4010e5f3484525ab35c9004986e3688adf08764e65c62811ceb0a313c67", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "public_sha256": "0b23a4010e5f3484525ab35c9004986e3688adf08764e65c62811ceb0a313c67", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "original_sha256": "b130cc50d72acb82b7da1d4b5d9a824e2fbedd76b3902a392e016d0aedef9949", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "public_sha256": "b130cc50d72acb82b7da1d4b5d9a824e2fbedd76b3902a392e016d0aedef9949", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "original_sha256": "70fce7f5f09577299ca770084ecd7fafa6ca5757499b719f3a8ed1cc3d22344b", + "public": "docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "public_sha256": "70fce7f5f09577299ca770084ecd7fafa6ca5757499b719f3a8ed1cc3d22344b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "original_sha256": "4489f96d437ed98c4c253c4e1ae47a64bae1cd0da2084fa091c28c229a5b36d5", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "public_sha256": "4489f96d437ed98c4c253c4e1ae47a64bae1cd0da2084fa091c28c229a5b36d5", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "original_sha256": "6c6835f04798d4c1adc99f9b059f9fd973308f18426f917db64107d75a9b6d28", + "public": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "public_sha256": "6c6835f04798d4c1adc99f9b059f9fd973308f18426f917db64107d75a9b6d28", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/tests.log", + "original_sha256": "ed5c29686c2cacb3d84b2103e4b5c5fd75041e616c14cce8a40b43ccbeb4b9fa", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/tests.log", + "public_sha256": "ed5c29686c2cacb3d84b2103e4b5c5fd75041e616c14cce8a40b43ccbeb4b9fa", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr-outer.log", + "original_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/outer.log", + "public_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "269e213f01488e27c909db97bc3e37c996158aed07ca9474e87eac461cfe0f6c", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "269e213f01488e27c909db97bc3e37c996158aed07ca9474e87eac461cfe0f6c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "24b9ae25fd92407a030020da1dbf619093ca88662363f58df55dd696d2a9c9c3", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "24b9ae25fd92407a030020da1dbf619093ca88662363f58df55dd696d2a9c9c3", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "original_sha256": "379fc78c97e1648a82a4b2ad4e14aab4a7e45650a0c7d2f892911ff47ed29d59", + "public": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "public_sha256": "379fc78c97e1648a82a4b2ad4e14aab4a7e45650a0c7d2f892911ff47ed29d59", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "original_sha256": "4de7146111a0d929db1408b68d3ab6e560d20cf45e4c47c74e85d512f854de86", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "public_sha256": "4de7146111a0d929db1408b68d3ab6e560d20cf45e4c47c74e85d512f854de86", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "original_sha256": "9c815d4f11b17fa32624d6cfd9f275d89ef84bb64e6806c3562787c8e65e737f", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "public_sha256": "9c815d4f11b17fa32624d6cfd9f275d89ef84bb64e6806c3562787c8e65e737f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "original_sha256": "cbac01ae60834399b5b663ff4f51d2c28a075acbd4b2491d07d3b54d362bdd2b", + "public": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "public_sha256": "cbac01ae60834399b5b663ff4f51d2c28a075acbd4b2491d07d3b54d362bdd2b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "original_sha256": "187b7b05423d8eb01c6802f501f1010e05bf94012fe9aec44fcd61a92c9e978b", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "public_sha256": "187b7b05423d8eb01c6802f501f1010e05bf94012fe9aec44fcd61a92c9e978b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "original_sha256": "c69e902101db4262f6351048e718cb3f61ade3b85a7014e55fc99a526e4d7dae", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "public_sha256": "c69e902101db4262f6351048e718cb3f61ade3b85a7014e55fc99a526e4d7dae", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "original_sha256": "f914dd7fa3db7d3aa91be46a4c84ffb8c2cb7b74b19929f560fd9c39d567c01f", + "public": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "public_sha256": "f914dd7fa3db7d3aa91be46a4c84ffb8c2cb7b74b19929f560fd9c39d567c01f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "original_sha256": "cf70cae286418bfa453d41e3307a4be16d633b1cf22eb791a7069d316e2a85a1", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "public_sha256": "cf70cae286418bfa453d41e3307a4be16d633b1cf22eb791a7069d316e2a85a1", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "original_sha256": "984b23189d77d75476b0a54ae9d007910572fd9a0a0b4d25e8d875786a33386a", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "public_sha256": "984b23189d77d75476b0a54ae9d007910572fd9a0a0b4d25e8d875786a33386a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "original_sha256": "198cd988774aa7fe75f84dd0c62fc1879959910165e0c81a8c18ed03cba102ef", + "public": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "public_sha256": "198cd988774aa7fe75f84dd0c62fc1879959910165e0c81a8c18ed03cba102ef", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "original_sha256": "9a96fae541d03aa7cb3c6ba4ff204bb0d1f19807fcd2da42dac935f63f982b8a", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "public_sha256": "9a96fae541d03aa7cb3c6ba4ff204bb0d1f19807fcd2da42dac935f63f982b8a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "original_sha256": "01b2db217cd988810a1b2a46a1b6a979aadecaba4c574201a0170a3046e4d427", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "public_sha256": "01b2db217cd988810a1b2a46a1b6a979aadecaba4c574201a0170a3046e4d427", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "original_sha256": "73effde4cb5adfa6d04b2499ea25374eb6d41d86f2102786a00cc5415a931325", + "public": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "public_sha256": "73effde4cb5adfa6d04b2499ea25374eb6d41d86f2102786a00cc5415a931325", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "original_sha256": "7f81693672a94362c966c9bf42df8701ed78c49dd075218d5cbcd571d38529c7", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "public_sha256": "7f81693672a94362c966c9bf42df8701ed78c49dd075218d5cbcd571d38529c7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "original_sha256": "0f3293bc144373e5be063b22ae87394b759214afbbe8085dc4cb560f9321c3b4", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "public_sha256": "0f3293bc144373e5be063b22ae87394b759214afbbe8085dc4cb560f9321c3b4", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "original_sha256": "03f8fc387a0b9645e17d38fd5ebd90ec98aa976b448618842434cf4ce1ec06da", + "public": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "public_sha256": "03f8fc387a0b9645e17d38fd5ebd90ec98aa976b448618842434cf4ce1ec06da", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "original_sha256": "05e9fe2f2f2073ebeab27d3b7bec5bd0be8a282dc06bc7c1b621e75a878f83b9", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "public_sha256": "05e9fe2f2f2073ebeab27d3b7bec5bd0be8a282dc06bc7c1b621e75a878f83b9", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "original_sha256": "312926bbd33e6988a634e3b50306cd23ab892dd5df4bbc06a6a5d5ad0e23f3be", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "public_sha256": "312926bbd33e6988a634e3b50306cd23ab892dd5df4bbc06a6a5d5ad0e23f3be", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "original_sha256": "878cf13e34f709086dd4617b16d14e76284ba2e3e8faa73a6db1ef67ee0cf1e8", + "public": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "public_sha256": "878cf13e34f709086dd4617b16d14e76284ba2e3e8faa73a6db1ef67ee0cf1e8", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "original_sha256": "9632aab8ce42675feb2ad05040f0561f07b84f7f722aae6cc524a5d44ef3199b", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "public_sha256": "9632aab8ce42675feb2ad05040f0561f07b84f7f722aae6cc524a5d44ef3199b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "original_sha256": "4e13035806d38c08ea352fd13befb5f4c45c323d5527900406301bafcfbaffa0", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "public_sha256": "4e13035806d38c08ea352fd13befb5f4c45c323d5527900406301bafcfbaffa0", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "original_sha256": "56d97b840e85b5aec50982413c19ccc0308f03829af048f70a63b91efc07645f", + "public": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "public_sha256": "56d97b840e85b5aec50982413c19ccc0308f03829af048f70a63b91efc07645f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "original_sha256": "47c1b2d7e676b27b354667ca9e7ebfd2f91884e0513a7129ba4925a6d08ee50d", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "public_sha256": "47c1b2d7e676b27b354667ca9e7ebfd2f91884e0513a7129ba4925a6d08ee50d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "original_sha256": "a52d30001f8e99d5aff4a508561d72540a028c9e5504b9d1ec04a60c803204c2", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "public_sha256": "a52d30001f8e99d5aff4a508561d72540a028c9e5504b9d1ec04a60c803204c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "original_sha256": "d4607ea96b527eeb4bde9afecb09c0362dfa33981049c722b0aeb5a49ec30021", + "public": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "public_sha256": "d4607ea96b527eeb4bde9afecb09c0362dfa33981049c722b0aeb5a49ec30021", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "original_sha256": "b6534940a8b571177cae57771afbc42c9e9d8c9462a6a2bc5961a392e3dafc2d", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "public_sha256": "b6534940a8b571177cae57771afbc42c9e9d8c9462a6a2bc5961a392e3dafc2d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "original_sha256": "5995d6ab8d94ab7c87eb3694173de90cfa07b96b06fd69eb39810767cba71d1a", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "public_sha256": "5995d6ab8d94ab7c87eb3694173de90cfa07b96b06fd69eb39810767cba71d1a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/tests.log", + "original_sha256": "b7c26d6ec364444e642c87f314e13e8f83d31157d88a877343660218e2a8c7d1", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/tests.log", + "public_sha256": "b7c26d6ec364444e642c87f314e13e8f83d31157d88a877343660218e2a8c7d1", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100-outer.log", + "original_sha256": "b9580caf6b0f1bb8efa2b7587433c9c887ada106ea761c9ee7231c66ba26905c", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/outer.log", + "public_sha256": "b9580caf6b0f1bb8efa2b7587433c9c887ada106ea761c9ee7231c66ba26905c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json", + "original_sha256": "1117ca08c1e7c33028d9e680b86a3396458be049a15bb489571954e7b98dcab1", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json", + "public_sha256": "1117ca08c1e7c33028d9e680b86a3396458be049a15bb489571954e7b98dcab1", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json", + "original_sha256": "9ea55a2780a25f6593038d4c25539b377199d0ec5736dfa1599f474fd2515234", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json", + "public_sha256": "9ea55a2780a25f6593038d4c25539b377199d0ec5736dfa1599f474fd2515234", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json", + "original_sha256": "7ed88a37502269347c7d2f198849d4d0f65f61461ae277e0f1f406b8cb3e3c8d", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json", + "public_sha256": "7ed88a37502269347c7d2f198849d4d0f65f61461ae277e0f1f406b8cb3e3c8d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.png", + "original_sha256": "c087b452d756aef6e68821c6af6dfb6854a48c6ac15040a122a766561ade005c", + "public": "docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.png", + "public_sha256": "c087b452d756aef6e68821c6af6dfb6854a48c6ac15040a122a766561ade005c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.xml", + "original_sha256": "8a480e1dea867fb28722b8316277e65e8f8aba59070e564ce80f3892a46223a2", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.xml", + "public_sha256": "8a480e1dea867fb28722b8316277e65e8f8aba59070e564ce80f3892a46223a2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared-frame.json", + "original_sha256": "86dbc28407cf78d55b5eb919da9e93125b4da909503fa866f730470797c2310a", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared-frame.json", + "public_sha256": "86dbc28407cf78d55b5eb919da9e93125b4da909503fa866f730470797c2310a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.png", + "original_sha256": "b869a9324f6d8e5aa5c4718247df846cad24fd4f3ba13c3791ced8ddb2e4f9a6", + "public": "docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.png", + "public_sha256": "b869a9324f6d8e5aa5c4718247df846cad24fd4f3ba13c3791ced8ddb2e4f9a6", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.xml", + "original_sha256": "c8dd1f5ff2de1f1fb5f77dee1b08a688139958ed4d415920edb971689051e88c", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.xml", + "public_sha256": "c8dd1f5ff2de1f1fb5f77dee1b08a688139958ed4d415920edb971689051e88c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition-frame.json", + "original_sha256": "3c40f84c15e13d33285ecd1f3398f392ee3fc05c3c25397d62aa3f3ce3302f6f", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition-frame.json", + "public_sha256": "3c40f84c15e13d33285ecd1f3398f392ee3fc05c3c25397d62aa3f3ce3302f6f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.png", + "original_sha256": "fdd6409da63265c2895558d07f9b73e254e8e01e4774e58e839b54933d4f3b4d", + "public": "docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.png", + "public_sha256": "fdd6409da63265c2895558d07f9b73e254e8e01e4774e58e839b54933d4f3b4d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.xml", + "original_sha256": "b3d16bb9bf82b7260718a1c1bfc0fd0e2f96378512f8959fd45870d83dc30d60", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.xml", + "public_sha256": "b3d16bb9bf82b7260718a1c1bfc0fd0e2f96378512f8959fd45870d83dc30d60", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared-frame.json", + "original_sha256": "06b599673f1ca5a9dfa5c5fc3629ea051f09873b4a24bcea0fd8e99fbbb47c41", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared-frame.json", + "public_sha256": "06b599673f1ca5a9dfa5c5fc3629ea051f09873b4a24bcea0fd8e99fbbb47c41", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.png", + "original_sha256": "e10145c6baf6f18d1d3752e78e6fc07d03b6349489013b3a53b7345424d524f2", + "public": "docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.png", + "public_sha256": "e10145c6baf6f18d1d3752e78e6fc07d03b6349489013b3a53b7345424d524f2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.xml", + "original_sha256": "dcf410527f61d53d781fae31890a3f446ffd7ca0492b0e76baaebde13fa633bc", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.xml", + "public_sha256": "dcf410527f61d53d781fae31890a3f446ffd7ca0492b0e76baaebde13fa633bc", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition-frame.json", + "original_sha256": "808e5c4701e5e9ccc34d462e7d6b61395bd94eeabfd442d679624e59b6f8a8e5", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition-frame.json", + "public_sha256": "808e5c4701e5e9ccc34d462e7d6b61395bd94eeabfd442d679624e59b6f8a8e5", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png", + "original_sha256": "257b5f97007e09ad84df1b1cfb4e2dc15c7498c332c1fda48422759958f90ce4", + "public": "docs/screenshots/touch-search/verified-guards-tablet100/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png", + "public_sha256": "257b5f97007e09ad84df1b1cfb4e2dc15c7498c332c1fda48422759958f90ce4", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml", + "original_sha256": "faab4626fc5dea78c0ce4fb2f3172caff03305a0f6a20afdb999a88387c7f4b4", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml", + "public_sha256": "faab4626fc5dea78c0ce4fb2f3172caff03305a0f6a20afdb999a88387c7f4b4", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json", + "original_sha256": "2048c3531f99b1b6bf46acd04e58c4e66db38f0c621c6262a0606eeb0f818e35", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json", + "public_sha256": "2048c3531f99b1b6bf46acd04e58c4e66db38f0c621c6262a0606eeb0f818e35", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png", + "original_sha256": "df431cb83d2a0968f5bac2f9718047e1ec25c0edb4c85a8e32967b073b9df8e0", + "public": "docs/screenshots/touch-search/verified-guards-tablet100/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png", + "public_sha256": "df431cb83d2a0968f5bac2f9718047e1ec25c0edb4c85a8e32967b073b9df8e0", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml", + "original_sha256": "3708e054123b17e74b41546006f32716654eefa4546842213448f8a64b902f9c", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml", + "public_sha256": "3708e054123b17e74b41546006f32716654eefa4546842213448f8a64b902f9c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json", + "original_sha256": "2a660eb8464caf6d138b70234b18280ddf4c139c7b027660d11b78777eb718ce", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json", + "public_sha256": "2a660eb8464caf6d138b70234b18280ddf4c139c7b027660d11b78777eb718ce", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/tests.log", + "original_sha256": "7299d0eaaf2d66e4f196229dd1f79b7d1b8817c12505aa527adb7b46ba39337c", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/tests.log", + "public_sha256": "7299d0eaaf2d66e4f196229dd1f79b7d1b8817c12505aa527adb7b46ba39337c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100-outer.log", + "original_sha256": "0e782a0f82ddd7fa9a9394d6f8078e0123209a935e80fcf376f7ec0a17f53812", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/outer.log", + "public_sha256": "0e782a0f82ddd7fa9a9394d6f8078e0123209a935e80fcf376f7ec0a17f53812", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json", + "original_sha256": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json", + "public_sha256": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "19f1dbfd73174baeea4211d99460ec9de8d4b9e26d66c50a1de13f64f6721750", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "19f1dbfd73174baeea4211d99460ec9de8d4b9e26d66c50a1de13f64f6721750", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "f1ea376b12e0b149e66e489f9f8e3694a50fd172aef9d54620e57877b3084b0c", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "f1ea376b12e0b149e66e489f9f8e3694a50fd172aef9d54620e57877b3084b0c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json", + "original_sha256": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json", + "public_sha256": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "original_sha256": "2b23e4658c3740f32a13efaf142cd0c317e35df81120c2fd45d8a69c1615184e", + "public": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "public_sha256": "2b23e4658c3740f32a13efaf142cd0c317e35df81120c2fd45d8a69c1615184e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "original_sha256": "fb25230c79f59c1964b6a6ca884cfdfec61b0b212858a7e3d6e505112ba9447c", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "public_sha256": "fb25230c79f59c1964b6a6ca884cfdfec61b0b212858a7e3d6e505112ba9447c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "original_sha256": "91791c46dd5cc282fb68a5e5c9ee1acc987b90e191e9d1a48035927168bd4332", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "public_sha256": "91791c46dd5cc282fb68a5e5c9ee1acc987b90e191e9d1a48035927168bd4332", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "original_sha256": "22d097b13429786b897dad241877dc3bf444afe265a4c4d6c0b50c5830d61c3b", + "public": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "public_sha256": "22d097b13429786b897dad241877dc3bf444afe265a4c4d6c0b50c5830d61c3b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "original_sha256": "8c653f3ca2d857851ea9ed6af59a7192007ff37c146ddef6bf694114d7e8ed6f", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "public_sha256": "8c653f3ca2d857851ea9ed6af59a7192007ff37c146ddef6bf694114d7e8ed6f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "original_sha256": "d6cadd16243a505faec61d5647c211d47e1ca4d575c001ef7c07fb526b1f78b2", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "public_sha256": "d6cadd16243a505faec61d5647c211d47e1ca4d575c001ef7c07fb526b1f78b2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "original_sha256": "fbf1c6712443f54b71d4c14bdfb357a67f9547279adccd0d1e543d6830600c84", + "public": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "public_sha256": "fbf1c6712443f54b71d4c14bdfb357a67f9547279adccd0d1e543d6830600c84", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "original_sha256": "262fa1bfe3e381ce13020fb77d6d4c293ca98d802deac7b7ae24973d97f7cb7d", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "public_sha256": "262fa1bfe3e381ce13020fb77d6d4c293ca98d802deac7b7ae24973d97f7cb7d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "original_sha256": "4edb089a0d0cc912e3a39a2ad453ca0e74a7e3b02936ebf754598daed0e3ddea", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "public_sha256": "4edb089a0d0cc912e3a39a2ad453ca0e74a7e3b02936ebf754598daed0e3ddea", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "original_sha256": "e3e86dc34e17f9d4adae93313549b176553d31244661960aebc38c5e45111cd8", + "public": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "public_sha256": "e3e86dc34e17f9d4adae93313549b176553d31244661960aebc38c5e45111cd8", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "original_sha256": "7f6c9bc77b961b0e876032465cb322e0a6be199df5622ced9cb172eb98012170", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "public_sha256": "7f6c9bc77b961b0e876032465cb322e0a6be199df5622ced9cb172eb98012170", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "original_sha256": "52b5280c366ccc83da37ceb5aa5cbfb3e8758a97b7da2008a900164144a30d09", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "public_sha256": "52b5280c366ccc83da37ceb5aa5cbfb3e8758a97b7da2008a900164144a30d09", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "original_sha256": "48704d81914767c019542921b8a00d68529fb5f791a8146862d0ec882436625f", + "public": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "public_sha256": "48704d81914767c019542921b8a00d68529fb5f791a8146862d0ec882436625f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "original_sha256": "f2c655335f71c275947bfb962ca3ffe2607477a6e728dbcfaa55815f3306b27f", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "public_sha256": "f2c655335f71c275947bfb962ca3ffe2607477a6e728dbcfaa55815f3306b27f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "original_sha256": "63262b9aece34538793029df166aaf5c39db6df03bde66f02fb8fa9d8d56cfcd", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "public_sha256": "63262b9aece34538793029df166aaf5c39db6df03bde66f02fb8fa9d8d56cfcd", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "original_sha256": "cf05ec75264f4e4278c56b61c76f6d14ea8628d866a00ba648bac8387f6f02d2", + "public": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "public_sha256": "cf05ec75264f4e4278c56b61c76f6d14ea8628d866a00ba648bac8387f6f02d2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "original_sha256": "647f1d250d8879c8316791dff2ca452d3c9d8b4e8a9dd5975fb6b3bd96819e9b", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "public_sha256": "647f1d250d8879c8316791dff2ca452d3c9d8b4e8a9dd5975fb6b3bd96819e9b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "original_sha256": "d28dccb4a1204bf927a946a539df0be3fc4352d94d753d6ba2c7fdc6cc12cac8", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "public_sha256": "d28dccb4a1204bf927a946a539df0be3fc4352d94d753d6ba2c7fdc6cc12cac8", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "original_sha256": "be23688db55ecc0d4bab638e94f8ab096ef47a65f0364fa2e363337ee3851e6f", + "public": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "public_sha256": "be23688db55ecc0d4bab638e94f8ab096ef47a65f0364fa2e363337ee3851e6f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "original_sha256": "fd259abb059547a6320b19e2afec387fbe395fc842c0582c3828df3d47def6eb", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "public_sha256": "fd259abb059547a6320b19e2afec387fbe395fc842c0582c3828df3d47def6eb", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "original_sha256": "57d9eb8a9348347861053e27fc27cfb1f89095e89eab088b7b4525a0bd353bf8", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "public_sha256": "57d9eb8a9348347861053e27fc27cfb1f89095e89eab088b7b4525a0bd353bf8", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "original_sha256": "1763f0f95f0773a69f5fc1983786115270acb30f14cd277146706243a675fca6", + "public": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "public_sha256": "1763f0f95f0773a69f5fc1983786115270acb30f14cd277146706243a675fca6", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "original_sha256": "1a12bccc944c0d9f76063a40054d16aa2bb3a2f5851ef0cdd963668e9bdeb2e8", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "public_sha256": "1a12bccc944c0d9f76063a40054d16aa2bb3a2f5851ef0cdd963668e9bdeb2e8", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "original_sha256": "1000d8060b7466d029a06bcc1c05903a87b2e793da19cf59e23ebdffffd42306", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "public_sha256": "1000d8060b7466d029a06bcc1c05903a87b2e793da19cf59e23ebdffffd42306", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "original_sha256": "28b7fd2c5cb300b3e98d1c0a2f61148d2d1fc620470a26524c3f2a34e10dfc0d", + "public": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "public_sha256": "28b7fd2c5cb300b3e98d1c0a2f61148d2d1fc620470a26524c3f2a34e10dfc0d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "original_sha256": "ddef5099c82c9cbfb4c836f656f3f822ba6262cd2460e1311600656a41001380", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "public_sha256": "ddef5099c82c9cbfb4c836f656f3f822ba6262cd2460e1311600656a41001380", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "original_sha256": "eedc3a4f0396709a57cae7dab482663b8cc0a887b71ca36eac43dc3424eb1a63", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "public_sha256": "eedc3a4f0396709a57cae7dab482663b8cc0a887b71ca36eac43dc3424eb1a63", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png", + "original_sha256": "068e8eecdd8f8d293a3ed4f1d8cce0d6bb2ee5b4c42237185379cf4fef837efe", + "public": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png", + "public_sha256": "068e8eecdd8f8d293a3ed4f1d8cce0d6bb2ee5b4c42237185379cf4fef837efe", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml", + "original_sha256": "3708eb83ad537858822f0f6fe1758d751148792c74a8d6108ea13b0d2d737492", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml", + "public_sha256": "3708eb83ad537858822f0f6fe1758d751148792c74a8d6108ea13b0d2d737492", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json", + "original_sha256": "f1d308a5eb0f6b26ee0ae36bc295f36e65b61cdd9c287110f1bf5fb972747719", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json", + "public_sha256": "f1d308a5eb0f6b26ee0ae36bc295f36e65b61cdd9c287110f1bf5fb972747719", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png", + "original_sha256": "3715ee0884d279d447d5be8d31c7830c35d6dc351092e67a807a93d0981a9541", + "public": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png", + "public_sha256": "3715ee0884d279d447d5be8d31c7830c35d6dc351092e67a807a93d0981a9541", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml", + "original_sha256": "fbf1be21dd4953761042a766146e339e5dc199d9b8ee814191df5016e6fc7657", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml", + "public_sha256": "fbf1be21dd4953761042a766146e339e5dc199d9b8ee814191df5016e6fc7657", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json", + "original_sha256": "8852e5e7085304ab359cb508307fb5ff0be4bc9715224d3edd881d56a86c8cfc", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json", + "public_sha256": "8852e5e7085304ab359cb508307fb5ff0be4bc9715224d3edd881d56a86c8cfc", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/tests.log", + "original_sha256": "2ec43c49f7cbea35ff94d71264b596c2572ee6eeed2b32ea99ecde7edd123487", + "public": "docs/validation/touch-search/cohorts/verified-regression-tablet100/tests.log", + "public_sha256": "2ec43c49f7cbea35ff94d71264b596c2572ee6eeed2b32ea99ecde7edd123487", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100-outer.log", + "original_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "public": "docs/validation/touch-search/cohorts/verified-regression-tablet100/outer.log", + "public_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/case-activemultilingualcompositionkeepsresultselection.json", + "original_sha256": "fe254b336e1a00e494b67afa177600c4283a72abbe00fa7c8155ecaaf532a34a", + "public": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/case-activemultilingualcompositionkeepsresultselection.json", + "public_sha256": "fe254b336e1a00e494b67afa177600c4283a72abbe00fa7c8155ecaaf532a34a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/case-committedemojinavigationandcaretareexact.json", + "original_sha256": "f553228a67b8ba8ba41cf75695bcab1333e67ac416d12adc9c726c16b8a8fd35", + "public": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/case-committedemojinavigationandcaretareexact.json", + "public_sha256": "f553228a67b8ba8ba41cf75695bcab1333e67ac416d12adc9c726c16b8a8fd35", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png", + "original_sha256": "d0aa65887cf448399bbc08ee852fc134e4f414483850f18c576dcf723e34b65a", + "public": "docs/screenshots/touch-search/verified-regression-tablet100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png", + "public_sha256": "d0aa65887cf448399bbc08ee852fc134e4f414483850f18c576dcf723e34b65a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml", + "original_sha256": "aa7939048d19a65ee5452359834b8463f4885daa4d9eff2a56781806d40fbc4c", + "public": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml", + "public_sha256": "aa7939048d19a65ee5452359834b8463f4885daa4d9eff2a56781806d40fbc4c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json", + "original_sha256": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3", + "public": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json", + "public_sha256": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.png", + "original_sha256": "c9a47e6172bb698d9b4c672c754c6caea6b43faa6f950a04c1c07783773a541c", + "public": "docs/screenshots/touch-search/verified-regression-tablet100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png", + "public_sha256": "c9a47e6172bb698d9b4c672c754c6caea6b43faa6f950a04c1c07783773a541c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml", + "original_sha256": "dda9c6b5a2916c0e3c1282f1fbfecd7a60ca90210727794d012d44e06b99a1b0", + "public": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml", + "public_sha256": "dda9c6b5a2916c0e3c1282f1fbfecd7a60ca90210727794d012d44e06b99a1b0", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json", + "original_sha256": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a", + "public": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json", + "public_sha256": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.png", + "original_sha256": "dc185383a94dd0b8906cc426fb5c40053890b821f91ace377e7c826d4144dc3b", + "public": "docs/screenshots/touch-search/verified-regression-tablet100/committedemojinavigationandcaretareexact-committed-query-selected-range.png", + "public_sha256": "dc185383a94dd0b8906cc426fb5c40053890b821f91ace377e7c826d4144dc3b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml", + "original_sha256": "d69782b962a9dc14f2234f0e032fa7f26e0d0e2c283e6302e733dc24ded1d209", + "public": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml", + "public_sha256": "d69782b962a9dc14f2234f0e032fa7f26e0d0e2c283e6302e733dc24ded1d209", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json", + "original_sha256": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade", + "public": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json", + "public_sha256": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/tests.log", + "original_sha256": "bad23e43f186ecc950ce1b845087d0a7182b87618123199fe1de447b893d97de", + "public": "docs/validation/touch-search/cohorts/verified-regression-phone100/tests.log", + "public_sha256": "bad23e43f186ecc950ce1b845087d0a7182b87618123199fe1de447b893d97de", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100-outer.log", + "original_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "public": "docs/validation/touch-search/cohorts/verified-regression-phone100/outer.log", + "public_sha256": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/case-activemultilingualcompositionkeepsresultselection.json", + "original_sha256": "ccb7edd290d46d39a7ad2fa26cbbe6dd46047b1d51d1c447433ec26b227360f1", + "public": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/case-activemultilingualcompositionkeepsresultselection.json", + "public_sha256": "ccb7edd290d46d39a7ad2fa26cbbe6dd46047b1d51d1c447433ec26b227360f1", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/case-committedemojinavigationandcaretareexact.json", + "original_sha256": "056b53331d1d2bc2233ea3400d99f5d60e81ab058e2324ec5dbbb479a6eec558", + "public": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/case-committedemojinavigationandcaretareexact.json", + "public_sha256": "056b53331d1d2bc2233ea3400d99f5d60e81ab058e2324ec5dbbb479a6eec558", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png", + "original_sha256": "9fdb198f5f52c5ded9d5c5755d2ff85b161c43d57a125ca25fea11f569fa840d", + "public": "docs/screenshots/touch-search/verified-regression-phone100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png", + "public_sha256": "9fdb198f5f52c5ded9d5c5755d2ff85b161c43d57a125ca25fea11f569fa840d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml", + "original_sha256": "9ca0c76ad2ebb8920dbaab13bad6b6111d62d0663befb844628a60e0476da0d9", + "public": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml", + "public_sha256": "9ca0c76ad2ebb8920dbaab13bad6b6111d62d0663befb844628a60e0476da0d9", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json", + "original_sha256": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3", + "public": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json", + "public_sha256": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.png", + "original_sha256": "254488d5875a7f86bc53b230526224e59a41c5805e20adfe4a931abddfa02fcf", + "public": "docs/screenshots/touch-search/verified-regression-phone100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png", + "public_sha256": "254488d5875a7f86bc53b230526224e59a41c5805e20adfe4a931abddfa02fcf", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml", + "original_sha256": "c06994c2b78323cd187772e388934349866fcbb597c900a35ccbebfd48d80042", + "public": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml", + "public_sha256": "c06994c2b78323cd187772e388934349866fcbb597c900a35ccbebfd48d80042", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json", + "original_sha256": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a", + "public": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json", + "public_sha256": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.png", + "original_sha256": "c25185dacc5fb6d43a1a131fccefc866ccff9eb48eaea6c232e80223ec29bf3f", + "public": "docs/screenshots/touch-search/verified-regression-phone100/committedemojinavigationandcaretareexact-committed-query-selected-range.png", + "public_sha256": "c25185dacc5fb6d43a1a131fccefc866ccff9eb48eaea6c232e80223ec29bf3f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml", + "original_sha256": "8305766a25a2a5db6d1378885f4c7a79bc55121843bc5ca468e768c5d4f58a82", + "public": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml", + "public_sha256": "8305766a25a2a5db6d1378885f4c7a79bc55121843bc5ca468e768c5d4f58a82", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json", + "original_sha256": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade", + "public": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json", + "public_sha256": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/tests.log", + "original_sha256": "c65f0af9dca03c68fceb4b3fa9f57f07d505888f9c8b13aebc0a846b40ac9e7b", + "public": "docs/validation/touch-search/cohorts/verified-regression-api26100/tests.log", + "public_sha256": "c65f0af9dca03c68fceb4b3fa9f57f07d505888f9c8b13aebc0a846b40ac9e7b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100-outer.log", + "original_sha256": "b240cb5e56b3832849d0d550db1f90cc6c958bda805275b62cf82f84015a60c9", + "public": "docs/validation/touch-search/cohorts/verified-regression-api26100/outer.log", + "public_sha256": "b240cb5e56b3832849d0d550db1f90cc6c958bda805275b62cf82f84015a60c9", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/case-activemultilingualcompositionkeepsresultselection.json", + "original_sha256": "4592fbad4d58da0a8dae402e467e916cb4461bd994812a737bed8350ece672aa", + "public": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/case-activemultilingualcompositionkeepsresultselection.json", + "public_sha256": "4592fbad4d58da0a8dae402e467e916cb4461bd994812a737bed8350ece672aa", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/case-committedemojinavigationandcaretareexact.json", + "original_sha256": "dac1ab016d13c4e716c6c438dd984bd65fb8a12f4787de33709d91260a62c8fc", + "public": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/case-committedemojinavigationandcaretareexact.json", + "public_sha256": "dac1ab016d13c4e716c6c438dd984bd65fb8a12f4787de33709d91260a62c8fc", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png", + "original_sha256": "20d8375f3e04cbbaa95d639713ef88bddbce4d0361e19d622caea57c743714a7", + "public": "docs/screenshots/touch-search/verified-regression-api26100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png", + "public_sha256": "20d8375f3e04cbbaa95d639713ef88bddbce4d0361e19d622caea57c743714a7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml", + "original_sha256": "0ab84983d97b0be271697471728f561102c485eaac3ac88f260fa9c1cf528248", + "public": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml", + "public_sha256": "0ab84983d97b0be271697471728f561102c485eaac3ac88f260fa9c1cf528248", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json", + "original_sha256": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3", + "public": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json", + "public_sha256": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.png", + "original_sha256": "30a60ad4b6d83a066e2bedd8380c59e14ba06f8636e9eece25a25cd3ab33edc6", + "public": "docs/screenshots/touch-search/verified-regression-api26100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png", + "public_sha256": "30a60ad4b6d83a066e2bedd8380c59e14ba06f8636e9eece25a25cd3ab33edc6", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml", + "original_sha256": "f84573215d81e18793c26328e13a9fab93329b043455e8720cae12e363e62c22", + "public": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml", + "public_sha256": "f84573215d81e18793c26328e13a9fab93329b043455e8720cae12e363e62c22", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json", + "original_sha256": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a", + "public": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json", + "public_sha256": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.png", + "original_sha256": "b8de6c919e495e9cff341d0d8ef4955b72d648b34266dfc7a1d814635c4c9182", + "public": "docs/screenshots/touch-search/verified-regression-api26100/committedemojinavigationandcaretareexact-committed-query-selected-range.png", + "public_sha256": "b8de6c919e495e9cff341d0d8ef4955b72d648b34266dfc7a1d814635c4c9182", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml", + "original_sha256": "f84573215d81e18793c26328e13a9fab93329b043455e8720cae12e363e62c22", + "public": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml", + "public_sha256": "f84573215d81e18793c26328e13a9fab93329b043455e8720cae12e363e62c22", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json", + "original_sha256": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade", + "public": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json", + "public_sha256": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-1/tests.log", + "original_sha256": "538247ef6d51316b95974672d1aea74a27d8eee5a0c0c0fa4abbdf8fcefdf517", + "public": "docs/validation/touch-search/cohorts/final-old-tablet100-1/tests.log", + "public_sha256": "538247ef6d51316b95974672d1aea74a27d8eee5a0c0c0fa4abbdf8fcefdf517", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-1-outer.log", + "original_sha256": "6ef588a8b772d6bd1a36768f61d1390ba2cb46fd2c3692ca1f49f24e1f77a25b", + "public": "docs/validation/touch-search/cohorts/final-old-tablet100-1/outer.log", + "public_sha256": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "29a9c3b167996d906581fc9a8988159f0a5a548ec9f53b046655bf3e472a7233", + "public": "docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "29a9c3b167996d906581fc9a8988159f0a5a548ec9f53b046655bf3e472a7233", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "original_sha256": "588912ae1e727e9e5495f1afd96f1ed66320ad6946fcb8a74db084ad08cc898e", + "public": "docs/screenshots/touch-search/final-old-tablet100-1/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "public_sha256": "588912ae1e727e9e5495f1afd96f1ed66320ad6946fcb8a74db084ad08cc898e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "original_sha256": "6df80d65aa291b824d06d07360175390c5d3473378e66842657ca94d92c016a7", + "public": "docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "public_sha256": "6df80d65aa291b824d06d07360175390c5d3473378e66842657ca94d92c016a7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "original_sha256": "3af0693f24d6cd6663b53771f2ceafaafa267eaff0273b0de4e0ebd1b733638c", + "public": "docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "public_sha256": "3af0693f24d6cd6663b53771f2ceafaafa267eaff0273b0de4e0ebd1b733638c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-2/tests.log", + "original_sha256": "f87b444e578d882ff28e97364a72930ee899ff630175d5e4a56fe78345c3df0d", + "public": "docs/validation/touch-search/cohorts/final-old-tablet100-2/tests.log", + "public_sha256": "f87b444e578d882ff28e97364a72930ee899ff630175d5e4a56fe78345c3df0d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-2-outer.log", + "original_sha256": "6ef588a8b772d6bd1a36768f61d1390ba2cb46fd2c3692ca1f49f24e1f77a25b", + "public": "docs/validation/touch-search/cohorts/final-old-tablet100-2/outer.log", + "public_sha256": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "b4014b6e7ccbf5de1d3308bea9072c54c7ded00202fa5677b83b11adfc6de727", + "public": "docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "b4014b6e7ccbf5de1d3308bea9072c54c7ded00202fa5677b83b11adfc6de727", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "original_sha256": "299054f3fbe646ac6a06a8afab8323f12353e2764dc657b483f21f684322874f", + "public": "docs/screenshots/touch-search/final-old-tablet100-2/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "public_sha256": "299054f3fbe646ac6a06a8afab8323f12353e2764dc657b483f21f684322874f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "original_sha256": "9cbb01aa230e5200992f8dc29f10012057f712cae60c551a9b4f5370fe2a3084", + "public": "docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "public_sha256": "9cbb01aa230e5200992f8dc29f10012057f712cae60c551a9b4f5370fe2a3084", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "original_sha256": "ef48f0bc2b3731ef50b0244388a84e5c826166280578e7dde02d95cdbd698ac4", + "public": "docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "public_sha256": "ef48f0bc2b3731ef50b0244388a84e5c826166280578e7dde02d95cdbd698ac4", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-1/tests.log", + "original_sha256": "3e8e7173a13922e0a494e331cc49dcf5a1c0658c02be1db7450eb0df112856b5", + "public": "docs/validation/touch-search/cohorts/final-old-phone100-1/tests.log", + "public_sha256": "3e8e7173a13922e0a494e331cc49dcf5a1c0658c02be1db7450eb0df112856b5", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-1-outer.log", + "original_sha256": "6ef588a8b772d6bd1a36768f61d1390ba2cb46fd2c3692ca1f49f24e1f77a25b", + "public": "docs/validation/touch-search/cohorts/final-old-phone100-1/outer.log", + "public_sha256": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "f0eab9bbfd85541f38ae33cc03e04c0b682e3444a151d2c3b198e6b8a9cc732b", + "public": "docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "f0eab9bbfd85541f38ae33cc03e04c0b682e3444a151d2c3b198e6b8a9cc732b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "original_sha256": "e9479f4683dad306750a86232bbfe680ab5ac1079e4a493d6aff437b20b54014", + "public": "docs/screenshots/touch-search/final-old-phone100-1/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "public_sha256": "e9479f4683dad306750a86232bbfe680ab5ac1079e4a493d6aff437b20b54014", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "original_sha256": "e41f519dafc79aadf3603acde7c1fd18287c618441f8ba587b4880c5e7a67f0b", + "public": "docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "public_sha256": "e41f519dafc79aadf3603acde7c1fd18287c618441f8ba587b4880c5e7a67f0b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "original_sha256": "88f6e5d198c1e277439c168e79d72e65130bc6cb31fc4aec252ca1b8b4ee111a", + "public": "docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "public_sha256": "88f6e5d198c1e277439c168e79d72e65130bc6cb31fc4aec252ca1b8b4ee111a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-2/tests.log", + "original_sha256": "ade5560a09c0ba12b1f9f5a02f597f8030528b79cc3dea20238503e0fd971889", + "public": "docs/validation/touch-search/cohorts/final-old-phone100-2/tests.log", + "public_sha256": "ade5560a09c0ba12b1f9f5a02f597f8030528b79cc3dea20238503e0fd971889", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-2-outer.log", + "original_sha256": "6ef588a8b772d6bd1a36768f61d1390ba2cb46fd2c3692ca1f49f24e1f77a25b", + "public": "docs/validation/touch-search/cohorts/final-old-phone100-2/outer.log", + "public_sha256": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "4c2ff152712a59273d8fc531de3c9ec01534c76f662ad7edbc32e05c527daed5", + "public": "docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "4c2ff152712a59273d8fc531de3c9ec01534c76f662ad7edbc32e05c527daed5", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "original_sha256": "834ef3ef0e7fa2e77a5f3463a1cbcb3728638cf7923a5cdef085417a4f886824", + "public": "docs/screenshots/touch-search/final-old-phone100-2/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "public_sha256": "834ef3ef0e7fa2e77a5f3463a1cbcb3728638cf7923a5cdef085417a4f886824", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "original_sha256": "5add20f5612284b66bfcb3ed1f24cb31d36c60c522cc8840a73816d980957f50", + "public": "docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "public_sha256": "5add20f5612284b66bfcb3ed1f24cb31d36c60c522cc8840a73816d980957f50", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "original_sha256": "1839ec1a49448aa27bfa57af19924c36ff1d5c5d562aea7b240f6eb51fe0481d", + "public": "docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "public_sha256": "1839ec1a49448aa27bfa57af19924c36ff1d5c5d562aea7b240f6eb51fe0481d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/tests.log", + "original_sha256": "c45a1cf53735123a0ffc42e65a801f8205dcc1cbcd0fcb483b6e0a6b5a222634", + "public": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/tests.log", + "public_sha256": "c45a1cf53735123a0ffc42e65a801f8205dcc1cbcd0fcb483b6e0a6b5a222634", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200-outer.log", + "original_sha256": "6ef588a8b772d6bd1a36768f61d1390ba2cb46fd2c3692ca1f49f24e1f77a25b", + "public": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/outer.log", + "public_sha256": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "2f908a1a1e184eec306ff124dc4597b07cf3c680710d491373fafbe8d100b2b7", + "public": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "2f908a1a1e184eec306ff124dc4597b07cf3c680710d491373fafbe8d100b2b7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "original_sha256": "07de42820ef5343a4de54c7cd7a9a621b3726ac4f6b09f06e24f32eef946b896", + "public": "docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "public_sha256": "07de42820ef5343a4de54c7cd7a9a621b3726ac4f6b09f06e24f32eef946b896", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "original_sha256": "2a516ebe4b4325f048200016ca6bf22e651f5b3c4f8efabb0b5ae02812c73d07", + "public": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "public_sha256": "2a516ebe4b4325f048200016ca6bf22e651f5b3c4f8efabb0b5ae02812c73d07", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "original_sha256": "1150019e60cef61241bc56e7e59b66f23955161e4bb57932f76cacdba8b91d2d", + "public": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "public_sha256": "1150019e60cef61241bc56e7e59b66f23955161e4bb57932f76cacdba8b91d2d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "original_sha256": "13a52ac8f8f58c19c58e548c22671df5ac02b634326a0aecf9bdb3b4c578a10e", + "public": "docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "public_sha256": "13a52ac8f8f58c19c58e548c22671df5ac02b634326a0aecf9bdb3b4c578a10e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "original_sha256": "ddc047ccaee17e6b0fd8ee19a256cc6f40347c8de26b8be53067a9bfb855f9f7", + "public": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "public_sha256": "ddc047ccaee17e6b0fd8ee19a256cc6f40347c8de26b8be53067a9bfb855f9f7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "original_sha256": "af93c54e66c94ec30aaa05b574e3dc67018f595bd4a31a7beb1f36e3e28db3f6", + "public": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "public_sha256": "af93c54e66c94ec30aaa05b574e3dc67018f595bd4a31a7beb1f36e3e28db3f6", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "original_sha256": "fddef49868a1dcc3792e8407a219dd37b07b9b63ec6d3167f6eef079ebef935d", + "public": "docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "public_sha256": "fddef49868a1dcc3792e8407a219dd37b07b9b63ec6d3167f6eef079ebef935d", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "original_sha256": "44d0c6311c5444e1984a06baf3ff7e87f9c3f97d999576934f281f848c5f5b12", + "public": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "public_sha256": "44d0c6311c5444e1984a06baf3ff7e87f9c3f97d999576934f281f848c5f5b12", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "original_sha256": "5089865def933a36d306ef298d51be6eef73b19a99e00ea6d32a83e8e914a10c", + "public": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "public_sha256": "5089865def933a36d306ef298d51be6eef73b19a99e00ea6d32a83e8e914a10c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "original_sha256": "954afad984638adeb27fd857125c2e0f58d1e556d96420f37bd88eb1c1496576", + "public": "docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "public_sha256": "954afad984638adeb27fd857125c2e0f58d1e556d96420f37bd88eb1c1496576", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "original_sha256": "6533017a7901ac0f9ab274c9172e1dff5a5f575fe073b1a8c93c9fe4b729acf6", + "public": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "public_sha256": "6533017a7901ac0f9ab274c9172e1dff5a5f575fe073b1a8c93c9fe4b729acf6", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "original_sha256": "c75370405db044d1dad25d7839e29a42587a66205c8b434e45999c6fc3d8d621", + "public": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "public_sha256": "c75370405db044d1dad25d7839e29a42587a66205c8b434e45999c6fc3d8d621", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/tests.log", + "original_sha256": "de890ccf44f98d1495c9c3ddf0ceeac24ef7e3202fa5b2cbf5bccf94ea9e1e16", + "public": "docs/validation/touch-search/failures/post-test/tests.log", + "public_sha256": "de890ccf44f98d1495c9c3ddf0ceeac24ef7e3202fa5b2cbf5bccf94ea9e1e16", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/recovered-captures.json", + "original_sha256": "8602eb78adf63fb50edd749cb2cf671e80000ef3edb259df18639cd1d31308cc", + "public": "docs/validation/touch-search/failures/post-test/recovered-captures.json", + "public_sha256": "8602eb78adf63fb50edd749cb2cf671e80000ef3edb259df18639cd1d31308cc", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2-outer.log", + "original_sha256": "66fe1cebd60e8fe3db4c8b956beca3ec46d4ca548e58d28746b5b0b7f8a0eef7", + "public": "docs/validation/touch-search/failures/post-test/outer.log", + "public_sha256": "a8fa73f7a6c18c9951115538959adc10d0d45af7f4045208eb669b568a9ef306", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "original_sha256": "3532dc428a2dd5e1849b558a693e0c85d51347e8febd457149cb6a3b6e531a02", + "public": "docs/validation/touch-search/cohorts/failed-post-test/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "public_sha256": "3532dc428a2dd5e1849b558a693e0c85d51347e8febd457149cb6a3b6e531a02", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "original_sha256": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351", + "public": "docs/validation/touch-search/cohorts/failed-post-test/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "public_sha256": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-tablet200-outer.log", + "original_sha256": "9c0f55bb503becbeac4937b397471f7c3056b25af2f3b998a7a16bb6ab77d4d5", + "public": "docs/validation/touch-search/failures/zero-test-preflight/outer.log", + "public_sha256": "e78b7c5581ebcec3f86d8bacba7c15828a8dbfaf11ca4aa7ad56bad43811558c", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/candidate-v2/identity.json", + "original_sha256": "586cf4c478a7d19ad7e50456af44b0ec52f3d78fddd90f23a16d25f60bad2161", + "public": "docs/validation/touch-search/identities/candidate-v2/identity.json", + "public_sha256": "586cf4c478a7d19ad7e50456af44b0ec52f3d78fddd90f23a16d25f60bad2161", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/candidate-v2/app-manifest.xml", + "original_sha256": "5a27d20f7a9e91b2cf999456e77094886618f50ea68c27c4fcdadcdf28e7b316", + "public": "docs/validation/touch-search/identities/candidate-v2/app-manifest.xml", + "public_sha256": "5a27d20f7a9e91b2cf999456e77094886618f50ea68c27c4fcdadcdf28e7b316", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/candidate-v2/test-manifest.xml", + "original_sha256": "b467cd75f67ae0336c000708f82d24b5be57bd28f9add3fe3dfedad05d51da7a", + "public": "docs/validation/touch-search/identities/candidate-v2/test-manifest.xml", + "public_sha256": "b467cd75f67ae0336c000708f82d24b5be57bd28f9add3fe3dfedad05d51da7a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/candidate-v2/python-source-identity.json", + "original_sha256": "7bca329a485560d947bfceccd2484f438b04470f5e840b4aed65768dde2596aa", + "public": "docs/validation/touch-search/identities/candidate-v2/python-source-identity.json", + "public_sha256": "7bca329a485560d947bfceccd2484f438b04470f5e840b4aed65768dde2596aa", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/candidate-v3/identity.json", + "original_sha256": "c64a529d4db8de25d6f0e82e3ae1657d50c1586a10e0d37af9b89eb7d7ea6a8b", + "public": "docs/validation/touch-search/identities/candidate-v3/identity.json", + "public_sha256": "c64a529d4db8de25d6f0e82e3ae1657d50c1586a10e0d37af9b89eb7d7ea6a8b", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/candidate-v3/current-compiled-harness.json", + "original_sha256": "dc1428df90e22f87174800b9554bafcd8074c21b01cf56b5b57cc707dbd0a70c", + "public": "docs/validation/touch-search/identities/candidate-v3/current-compiled-harness.json", + "public_sha256": "dc1428df90e22f87174800b9554bafcd8074c21b01cf56b5b57cc707dbd0a70c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/diagnostic-harness-v6/identity.json", + "original_sha256": "9e145cb7f4355c162a1abb8932ce377fa9b077355a357a4f2c1ca647292a695a", + "public": "docs/validation/touch-search/identities/diagnostic-harness-v6/identity.json", + "public_sha256": "9e145cb7f4355c162a1abb8932ce377fa9b077355a357a4f2c1ca647292a695a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-harness-v7/identity.json", + "original_sha256": "763ba10511b6e323b1fb503df39b25734e72929b67ff694b1ba4df39733868c6", + "public": "docs/validation/touch-search/identities/final-harness-v7/identity.json", + "public_sha256": "763ba10511b6e323b1fb503df39b25734e72929b67ff694b1ba4df39733868c6", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-harness-v7/app-manifest.xml", + "original_sha256": "8482dc9a7ad5929e72c1e4e4a420d7af11f8bb343332b799dd3e463890538137", + "public": "docs/validation/touch-search/identities/final-harness-v7/app-manifest.xml", + "public_sha256": "8482dc9a7ad5929e72c1e4e4a420d7af11f8bb343332b799dd3e463890538137", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-harness-v7/test-manifest.xml", + "original_sha256": "b467cd75f67ae0336c000708f82d24b5be57bd28f9add3fe3dfedad05d51da7a", + "public": "docs/validation/touch-search/identities/final-harness-v7/test-manifest.xml", + "public_sha256": "b467cd75f67ae0336c000708f82d24b5be57bd28f9add3fe3dfedad05d51da7a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-harness-v7/host-checks-summary.json", + "original_sha256": "29c9ad9494f840129718afb24eb32691f849b78c5cc221cd94f21e5b3af0f93f", + "public": "docs/validation/touch-search/identities/final-harness-v7/host-checks-summary.json", + "public_sha256": "29c9ad9494f840129718afb24eb32691f849b78c5cc221cd94f21e5b3af0f93f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-harness-v7/source-and-asset-verification.json", + "original_sha256": "c6d9d796ca5bca0f99e4e3ad0dd8e64099c9da56247b555ff6535049a5f525a6", + "public": "docs/validation/touch-search/identities/final-harness-v7/source-and-asset-verification.json", + "public_sha256": "c6d9d796ca5bca0f99e4e3ad0dd8e64099c9da56247b555ff6535049a5f525a6", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-harness-v7/test-apk-payload-differences.json", + "original_sha256": "1a1d107275e29f8b6c05faede9f5f9a82249791e11dc7d4b405195fa4e51e542", + "public": "docs/validation/touch-search/identities/final-harness-v7/test-apk-payload-differences.json", + "public_sha256": "1a1d107275e29f8b6c05faede9f5f9a82249791e11dc7d4b405195fa4e51e542", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/old-controls-calibration.json", + "original_sha256": "2b59f0bf3ef0bd590b5f4dd3fb1cfa0a274d6facbc814f3c62b9e18655805a35", + "public": "docs/validation/touch-search/old-controls-calibration.json", + "public_sha256": "2b59f0bf3ef0bd590b5f4dd3fb1cfa0a274d6facbc814f3c62b9e18655805a35", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/spacing-control-calibration.json", + "original_sha256": "c0cb40092103238cb68983fd1f5ad649aaf56e7a45856339cec82b8faa7407a5", + "public": "docs/validation/touch-search/spacing-control-calibration.json", + "public_sha256": "c0cb40092103238cb68983fd1f5ad649aaf56e7a45856339cec82b8faa7407a5", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-controls-calibration.json", + "original_sha256": "3cc448de9a8e3883d1593621044142b0ef95a6021aa37de7c43097c5377fe4a3", + "public": "docs/validation/touch-search/final-controls-calibration.json", + "public_sha256": "3cc448de9a8e3883d1593621044142b0ef95a6021aa37de7c43097c5377fe4a3", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/initial-settings-receipt.json", + "original_sha256": "574d01cb7e1b9ea16d51bc122aaca14dff790d6acd2e1826a318542832545873", + "public": "docs/validation/touch-search/initial-settings-receipt.json", + "public_sha256": "574d01cb7e1b9ea16d51bc122aaca14dff790d6acd2e1826a318542832545873", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/final-preservation-receipt.json", + "original_sha256": "4e599f38fde1c8c1521a8ded0557c710cc333b84d6b8e77019152d3dd9785c7e", + "public": "docs/validation/touch-search/final-preservation-receipt.json", + "public_sha256": "4e599f38fde1c8c1521a8ded0557c710cc333b84d6b8e77019152d3dd9785c7e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/preflight-recovery.json", + "original_sha256": "8ea26cceaafed88eca3c119ec104154bbafe21624202690d7f3e08e0379a33f6", + "public": "docs/validation/touch-search/preflight-recovery.json", + "public_sha256": "8ea26cceaafed88eca3c119ec104154bbafe21624202690d7f3e08e0379a33f6", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/post-test-recovery.json", + "original_sha256": "3717fc6752f816b3435a5ec9d89c571ba4790133d3a24c1088f3690505b33a1a", + "public": "docs/validation/touch-search/post-test-recovery.json", + "public_sha256": "3717fc6752f816b3435a5ec9d89c571ba4790133d3a24c1088f3690505b33a1a", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/post-test-recovery-interrupted.json", + "original_sha256": "5ee77d14eec4183fa89e0adec501d0235674927e512808e28f2dcb4e77bfd12c", + "public": "docs/validation/touch-search/post-test-recovery-interrupted.json", + "public_sha256": "5ee77d14eec4183fa89e0adec501d0235674927e512808e28f2dcb4e77bfd12c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/archive-transport-file-probe.json", + "original_sha256": "493fd3613724a3dc47621d9ec2adfdb6d23b37e7358eb87e69f615a2750d531c", + "public": "docs/validation/touch-search/archive-transport-file-probe.json", + "public_sha256": "493fd3613724a3dc47621d9ec2adfdb6d23b37e7358eb87e69f615a2750d531c", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/controller-final-identity.json", + "original_sha256": "f880e07bcdfae2167eabffe11e0dd90e392f6981f575d587ac255c4ed1fa53a7", + "public": "docs/validation/touch-search/controller-final-identity.json", + "public_sha256": "f880e07bcdfae2167eabffe11e0dd90e392f6981f575d587ac255c4ed1fa53a7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/launcher-anr-observation.json", + "original_sha256": "85a49df228054c5413aa745874e7fcd99d123d4b0cd966e35ae3568056967379", + "public": "docs/validation/touch-search/launcher-anr-observation.json", + "public_sha256": "85a49df228054c5413aa745874e7fcd99d123d4b0cd966e35ae3568056967379", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/launcher-anr-recovery.json", + "original_sha256": "60f1334e561905790d719f99d8793b6025fcda371a9dfe7a5b703fe4b00afa86", + "public": "docs/validation/touch-search/launcher-anr-recovery.json", + "public_sha256": "60f1334e561905790d719f99d8793b6025fcda371a9dfe7a5b703fe4b00afa86", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/historical-runner-source-bindings.json", + "original_sha256": "6784721f482455c471f7a172297ae39a49a132c41388124194b447bd31e1e88f", + "public": "docs/validation/touch-search/historical-runner-source-bindings.json", + "public_sha256": "6784721f482455c471f7a172297ae39a49a132c41388124194b447bd31e1e88f", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/native-pipeline-v1.json", + "original_sha256": "4f5fdbacc3c4c299b791a64c1ed2c5bdb18e521a2ff13d1ee7004b13cef7ad95", + "public": "docs/validation/touch-search/pipelines/native-pipeline-v1.json", + "public_sha256": "4f5fdbacc3c4c299b791a64c1ed2c5bdb18e521a2ff13d1ee7004b13cef7ad95", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/native-final-v3.json", + "original_sha256": "906ff7216d921e471781fea2be6adb6b6ca77a2a9b37fd2ce306c23c430ab182", + "public": "docs/validation/touch-search/pipelines/native-final-v3.json", + "public_sha256": "906ff7216d921e471781fea2be6adb6b6ca77a2a9b37fd2ce306c23c430ab182", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/native-final-v4.json", + "original_sha256": "5b28a74e9445e6779ca5f0910150154ce7c969b912857bd58a476e9fba991f45", + "public": "docs/validation/touch-search/pipelines/native-final-v4.json", + "public_sha256": "5b28a74e9445e6779ca5f0910150154ce7c969b912857bd58a476e9fba991f45", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/native-final-v5.json", + "original_sha256": "67587de9adf8fffdb5e408fe9018dfccef6dfbd81c095ef24fea3f1cda9e5424", + "public": "docs/validation/touch-search/pipelines/native-final-v5.json", + "public_sha256": "67587de9adf8fffdb5e408fe9018dfccef6dfbd81c095ef24fea3f1cda9e5424", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/native-final-v7.json", + "original_sha256": "6371ed7c97d96c427eb9ffc931f74cf61ba0bd31359673d9b6105c9343f2b04e", + "public": "docs/validation/touch-search/pipelines/native-final-v7.json", + "public_sha256": "6371ed7c97d96c427eb9ffc931f74cf61ba0bd31359673d9b6105c9343f2b04e", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/native-final-v8.json", + "original_sha256": "5e5f85fab1d6f439b8185929703842cd47a14f87c54edd3aa122f0bbcaf5d0f7", + "public": "docs/validation/touch-search/pipelines/native-final-v8.json", + "public_sha256": "5e5f85fab1d6f439b8185929703842cd47a14f87c54edd3aa122f0bbcaf5d0f7", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/native-final-v9.json", + "original_sha256": "7ee854276d7a4bbb77fb7104bd867ea07f929c409be8c03fc03df85bd64ec594", + "public": "docs/validation/touch-search/pipelines/native-final-v9.json", + "public_sha256": "7ee854276d7a4bbb77fb7104bd867ea07f929c409be8c03fc03df85bd64ec594", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/global-preservation.py", + "original_sha256": "07e0abc76180c8ea644ed266f6301c79c2453aed78fdddb38e9891ee95c269e2", + "public": "docs/validation/touch-search/collection-source/global-preservation.py", + "public_sha256": "19a6e9834a6f83a6f7239cc9a5e18de6d7e93f6b052f5fabd0cc35cfc1a19043", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/recover-preflight.py", + "original_sha256": "40e63f4607715b96caffdf51dfa9c8e7aa4d8600ebe3ba73fe9ba3507674a948", + "public": "docs/validation/touch-search/collection-source/recover-preflight.py", + "public_sha256": "13f33f68ea284c84eb79dc52701a71e712b7c627f0d1caf21304b1e93abe1de2", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/recover-post-test.py", + "original_sha256": "518604c00600fddd2d969cabd5edb7a31d8fc2880ebf05bdd2ad9caf4fc73bee", + "public": "docs/validation/touch-search/collection-source/recover-post-test.py", + "public_sha256": "bad9b1630481a1f19b1ce55e82d9272d545b24debd6fd39fe84ba87a6e1f8cc9", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/finish-post-test-recovery.py", + "original_sha256": "3a2a7c8d3b4425accabf77481a18f554592d1cffb4d08d31f337be9eb0a46213", + "public": "docs/validation/touch-search/collection-source/finish-post-test-recovery.py", + "public_sha256": "4d7ab3b8bd5e01dcae7d258615f928db865019ae6eaf3302022d9dad949391d9", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/calibrate-final-v7.py", + "original_sha256": "16bc3deeab5eab7be7d79dfef68b250102fa5cce093d21e13401a48a38ae87e9", + "public": "docs/validation/touch-search/collection-source/calibrate-final-v7.py", + "public_sha256": "16bc3deeab5eab7be7d79dfef68b250102fa5cce093d21e13401a48a38ae87e9", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/run-final-v7.py", + "original_sha256": "db5eae3fcbf3f1b65f0e8a319f20f9f21ade676df1702258f7240f7c3330827b", + "public": "docs/validation/touch-search/collection-source/run-final-v7.py", + "public_sha256": "2ae3daf4c136ceaceae7eb9c3946d302897d737522f15ec9095406a6c8f62dce", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/run-final-v8.py", + "original_sha256": "64176f6d99f9876e33a98aa645a7d915eef873313c1612e06be301e1c15f8dfd", + "public": "docs/validation/touch-search/collection-source/run-final-v8.py", + "public_sha256": "8fc57b6bf2625a68cd78ee2ee492138737b9e8d4333a7e24ad40e3fcfe5d4b0c", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/run-final-v9.py", + "original_sha256": "e7a111ddb63c9bec74d710bcb4f0fb86c820356b971c7d87078a7464604b76f1", + "public": "docs/validation/touch-search/collection-source/run-final-v9.py", + "public_sha256": "3698d4f0438d8b335db1fe9011c132943eddbc7f4890e392cb0ba5281f22d0d1", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/publish-final-v7.py", + "original_sha256": "5175bb22599e3cad63f3084f64ef761c6455867fb38c58c3e58ee3739d707aa0", + "public": "docs/validation/touch-search/collection-source/publish-final-v7.py", + "public_sha256": "5175bb22599e3cad63f3084f64ef761c6455867fb38c58c3e58ee3739d707aa0", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/python-final.log", + "original_sha256": "f214b119911b75af474abd0094b1428cb14c9dd85a7094654e770793e7fb1926", + "public": "docs/validation/touch-search/checks/python-final.log", + "public_sha256": "f214b119911b75af474abd0094b1428cb14c9dd85a7094654e770793e7fb1926", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/python-final-opt.log", + "original_sha256": "178987eed3dba5889048375d88e4c893270a9e17521d374f13b66e0c9dcac014", + "public": "docs/validation/touch-search/checks/python-final-opt.log", + "public_sha256": "178987eed3dba5889048375d88e4c893270a9e17521d374f13b66e0c9dcac014", + "transformation": "identity" + }, + { + "original": "artifacts/touch-clear/candidate-v1/build.log", + "original_sha256": "269d41ed003ab17ceee2f4ec2de5b23bf2c9243a72e2a66064c71218ee7140e0", + "public": "docs/validation/touch-search/checks/candidate-v1/build.log", + "public_sha256": "9de9e29356dba18f1f89219b1d4d2986a787ffcd85b6d417c2c46a034597b773", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/candidate-v1/build-retry-v2.log", + "original_sha256": "e41b9f6bb86ebf45b5328653c28417f2b64feb1bd0bf1abea810b9dd0c4ef686", + "public": "docs/validation/touch-search/checks/candidate-v1/build-retry-v2.log", + "public_sha256": "eb85141a814bf990264d7fde1a2b0de44ed324140e120a10edbc2af6cad8a23c", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/candidate-v2/build.log", + "original_sha256": "1d7bad35dfc0d29e8adb3426122dfe2268fdd4b916b556c7050b5a226a3ae571", + "public": "docs/validation/touch-search/checks/candidate-v2/build.log", + "public_sha256": "4607159cfdce4845f655a3711d23364674deb37a0374f31ceab20728c778034e", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/candidate-v2/benchmark-build.log", + "original_sha256": "a03cdc9a9d478eb39a5494e8904d28fa574882e30948e156be3be8abccf13eba", + "public": "docs/validation/touch-search/checks/candidate-v2/benchmark-build.log", + "public_sha256": "7830a46ec8fcdc50a7e35389b8d0a41f57d84cf0d63bf8f823cc409a3c265158", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/candidate-v3/build.log", + "original_sha256": "4b203c5f102aabeb0a28e7f04140d26dfcb6193f10f49aaac0d9bbbafd97cfa2", + "public": "docs/validation/touch-search/checks/candidate-v3/build.log", + "public_sha256": "81a6be6bb61f1f9f996cbbc67ac6b21833bdbf5c9eeb4f57e6d37f24699713ac", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/candidate-v3/final-harness-and-benchmark.log", + "original_sha256": "08799fb0fd8dac7e0970ae3ebd78cb2b9342cdbdd14e0e544c91c69f7d49e1d7", + "public": "docs/validation/touch-search/checks/candidate-v3/final-harness-and-benchmark.log", + "public_sha256": "62dc6d7b1294da3fb03e99635352afd1e5e78685774e12eb1568707e99c393c2", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/diagnostic-harness-v6/build.log", + "original_sha256": "93f7ec711b78352c8649bf0dc3a81a722c632b3ca3d662a10124b04e3c6881d0", + "public": "docs/validation/touch-search/checks/diagnostic-harness-v6/build.log", + "public_sha256": "484bc7ee28005066a3b6cb8ab2b2532736cb30560ebea21503b6f47cd8bb735d", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/final-harness-v7/build.log", + "original_sha256": "078a97459d30c224a2cbc3e5dca8c33e50cf0055a89aa7dddae50c03596e6916", + "public": "docs/validation/touch-search/checks/final-harness-v7/build.log", + "public_sha256": "2a9f02453234daffad86440da63d21e3a773c4925c909041ec557508124774e2", + "transformation": "redact-text" + }, + { + "original": "artifacts/touch-clear/final-harness-v7/host-checks.log", + "original_sha256": "b2501789aa686c8f2ddcbd83caadd5392a48ddd94b5eb6c8d87a1746f4644fe4", + "public": "docs/validation/touch-search/checks/final-harness-v7/host-checks.log", + "public_sha256": "47e859066a05b9a86d7899d5539e33f9a603d7119732c4f99ac69adaa9a27d9b", + "transformation": "redact-text" + }, + { + "original": "app/build/reports/lint-results-debug.xml", + "original_sha256": "0d99bd25a68d20812ee1e329449ac6a77623d1235047ba0f1a2facb9994dc501", + "public": "docs/validation/touch-search/checks/lint-results-debug.xml", + "public_sha256": "6f73b30f6e7cc3935053db9d4d9daf3bf2101566a723380939cf78c65aea654a", + "transformation": "redact-xml" + }, + { + "original": "app/build/reports/lint-results-benchmark.xml", + "original_sha256": "0d99bd25a68d20812ee1e329449ac6a77623d1235047ba0f1a2facb9994dc501", + "public": "docs/validation/touch-search/checks/lint-results-benchmark.xml", + "public_sha256": "6f73b30f6e7cc3935053db9d4d9daf3bf2101566a723380939cf78c65aea654a", + "transformation": "redact-xml" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.BackupPlannerTest.xml", + "original_sha256": "de6dcb1ec18c844472c80341af20fc090cc41aaf6e998508bef3ab680766178f", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.BackupPlannerTest.xml", + "public_sha256": "de6dcb1ec18c844472c80341af20fc090cc41aaf6e998508bef3ab680766178f", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.CalculatorActionsTest.xml", + "original_sha256": "7fae964a9b23da4886873fd5a3e8cb3c9fb6b67ef276d75cd3dc7ad6f42beefd", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.CalculatorActionsTest.xml", + "public_sha256": "7fae964a9b23da4886873fd5a3e8cb3c9fb6b67ef276d75cd3dc7ad6f42beefd", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.CommandEngineTest.xml", + "original_sha256": "af885587cabfa9361b795bac2dc74a3dc2cf80591bf6d32f5cf6b06cfeadf78f", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.CommandEngineTest.xml", + "public_sha256": "af885587cabfa9361b795bac2dc74a3dc2cf80591bf6d32f5cf6b06cfeadf78f", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.EmojiCatalogTest.xml", + "original_sha256": "c3e917b24ab96294761ac34521f7a2467785809b83f811ce7b1551a4070b2f24", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.EmojiCatalogTest.xml", + "public_sha256": "c3e917b24ab96294761ac34521f7a2467785809b83f811ce7b1551a4070b2f24", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionCommandLaunchTest.xml", + "original_sha256": "24857c22cc56c640b2e9751c089ba257fee93d19b7b0feb9f5bb2a80a3b67c9f", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionCommandLaunchTest.xml", + "public_sha256": "24857c22cc56c640b2e9751c089ba257fee93d19b7b0feb9f5bb2a80a3b67c9f", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionDetailImageTimeoutTest.xml", + "original_sha256": "fef60e709b4bdcf1632f1add0b23981b8b1924e73599651cd1c6b6a600d6aa01", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionDetailImageTimeoutTest.xml", + "public_sha256": "fef60e709b4bdcf1632f1add0b23981b8b1924e73599651cd1c6b6a600d6aa01", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionEngineCompatibilityTest.xml", + "original_sha256": "c08d8445a2c34dc3a6c58dfba8a28364b5750b2f1af780418728e40d7f536ffe", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionEngineCompatibilityTest.xml", + "public_sha256": "c08d8445a2c34dc3a6c58dfba8a28364b5750b2f1af780418728e40d7f536ffe", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionFormContractTest.xml", + "original_sha256": "7b81ef576d2c4e0d998456faf40ccb607ab0c5910f430f60cd46ac5f1531ecdf", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormContractTest.xml", + "public_sha256": "7b81ef576d2c4e0d998456faf40ccb607ab0c5910f430f60cd46ac5f1531ecdf", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionFormFileImportTest.xml", + "original_sha256": "a714b5bd3e8c2701770be35dabd7cefba19064c6a7286ae0dfb14f6991de7736", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormFileImportTest.xml", + "public_sha256": "a714b5bd3e8c2701770be35dabd7cefba19064c6a7286ae0dfb14f6991de7736", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionFormSubmissionTest.xml", + "original_sha256": "b08db733b926074cd858c32561a3d99518caeeecd23dad28b4510eec926c1abf", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormSubmissionTest.xml", + "public_sha256": "b08db733b926074cd858c32561a3d99518caeeecd23dad28b4510eec926c1abf", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionFormTypedValuesTest.xml", + "original_sha256": "75cc1e5f57311f3c7cdb97dfcdc9da20b3b8c3cc05c322586bc49f72bc5a8915", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormTypedValuesTest.xml", + "public_sha256": "75cc1e5f57311f3c7cdb97dfcdc9da20b3b8c3cc05c322586bc49f72bc5a8915", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionFormValuesTest.xml", + "original_sha256": "80bb62ecabe1a8fefe0e69d67575c0c780ef1dd27cffb91bca69404f9fe0ccba", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormValuesTest.xml", + "public_sha256": "80bb62ecabe1a8fefe0e69d67575c0c780ef1dd27cffb91bca69404f9fe0ccba", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionGridContractTest.xml", + "original_sha256": "1d5b5a2aea9a85bb0bf1c998af9bcf0651c65ee961d667e292bc2d8b39d74630", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionGridContractTest.xml", + "public_sha256": "1d5b5a2aea9a85bb0bf1c998af9bcf0651c65ee961d667e292bc2d8b39d74630", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionGridNavigationTest.xml", + "original_sha256": "b6882422e7e9277efe107ac18e6354ff211c2a0a7c271ffedd32a51aa69fe9e3", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionGridNavigationTest.xml", + "public_sha256": "b6882422e7e9277efe107ac18e6354ff211c2a0a7c271ffedd32a51aa69fe9e3", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionHttpTest.xml", + "original_sha256": "b50ac93cef96242c1eafba5dddb7511c06d614943222c9ae29af2814bb2ca2ab", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionHttpTest.xml", + "public_sha256": "b50ac93cef96242c1eafba5dddb7511c06d614943222c9ae29af2814bb2ca2ab", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionMarkdownModelTest.xml", + "original_sha256": "b8bedeebcdf1b51b46158a0ccef1b455d2c79275f085e387b92d552208921227", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionMarkdownModelTest.xml", + "public_sha256": "b8bedeebcdf1b51b46158a0ccef1b455d2c79275f085e387b92d552208921227", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionMetadataVisualsTest.xml", + "original_sha256": "2e8a22b4600317e1513f7e84f9aaca737e721c3e2ae9a2fd9d541facc63fe320", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionMetadataVisualsTest.xml", + "public_sha256": "2e8a22b4600317e1513f7e84f9aaca737e721c3e2ae9a2fd9d541facc63fe320", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionPasteCopyTest.xml", + "original_sha256": "9baab55dfd45be1a05994fafc0137cc91fc659b0ad3fb17a952764010ddf14fa", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionPasteCopyTest.xml", + "public_sha256": "9baab55dfd45be1a05994fafc0137cc91fc659b0ad3fb17a952764010ddf14fa", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionPayloadIdentityTest.xml", + "original_sha256": "55ab3265ad08431ce371f44000ec209d7c62337f8534dd91d636b5b55f63d4eb", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionPayloadIdentityTest.xml", + "public_sha256": "55ab3265ad08431ce371f44000ec209d7c62337f8534dd91d636b5b55f63d4eb", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionSelectionDeliveryTest.xml", + "original_sha256": "ba3f7849df9069d4801189f84f739c220c6a11ba6790233cc5fcb4a0de594e14", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionSelectionDeliveryTest.xml", + "public_sha256": "ba3f7849df9069d4801189f84f739c220c6a11ba6790233cc5fcb4a0de594e14", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionWorkflowEvidenceTest.xml", + "original_sha256": "185bd8de52523a04324d5dbce314c4627f8a5c04523bf4391c6193913ebe5a45", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionWorkflowEvidenceTest.xml", + "public_sha256": "185bd8de52523a04324d5dbce314c4627f8a5c04523bf4391c6193913ebe5a45", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ExtensionWorkflowInspectionTest.xml", + "original_sha256": "503c724f29f4361ed6fc30295acb0d10914be98b047cdf6a99896678ddd15d27", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionWorkflowInspectionTest.xml", + "public_sha256": "503c724f29f4361ed6fc30295acb0d10914be98b047cdf6a99896678ddd15d27", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.FolderGrantTransactionTest.xml", + "original_sha256": "3578ead738cde5ea83fcbd1ee3286e4f7cb7c47b001bac07a85d16b44b3288cf", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.FolderGrantTransactionTest.xml", + "public_sha256": "3578ead738cde5ea83fcbd1ee3286e4f7cb7c47b001bac07a85d16b44b3288cf", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.FolderIndexTest.xml", + "original_sha256": "586ad396799c6aaf2cafa4e9834fdaa84cf0621bd03a46038244b20a4c8eb8c7", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.FolderIndexTest.xml", + "public_sha256": "586ad396799c6aaf2cafa4e9834fdaa84cf0621bd03a46038244b20a4c8eb8c7", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ModifierTapTest.xml", + "original_sha256": "6650f579a74ca21e974ad56f3319e19d2982dcbccef337c15a8a9ba78ed8aeb9", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ModifierTapTest.xml", + "public_sha256": "6650f579a74ca21e974ad56f3319e19d2982dcbccef337c15a8a9ba78ed8aeb9", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.PaletteMenuOwnershipTest.xml", + "original_sha256": "f90e136d3757dc850b1a076da85a67c3d98bd21f67d253509258cda13fa39089", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.PaletteMenuOwnershipTest.xml", + "public_sha256": "f90e136d3757dc850b1a076da85a67c3d98bd21f67d253509258cda13fa39089", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.PaletteScrollHistoryTest.xml", + "original_sha256": "5d227970fc1deaae3e414b85ba4bf31b636e94c05347b423baa19436fc135070", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.PaletteScrollHistoryTest.xml", + "public_sha256": "5d227970fc1deaae3e414b85ba4bf31b636e94c05347b423baa19436fc135070", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ReviewedTextInputTest.xml", + "original_sha256": "9d8b90a899ab94f6ace98eb0ac5e39f00252b044c12c10bbaa14916456525cba", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ReviewedTextInputTest.xml", + "public_sha256": "9d8b90a899ab94f6ace98eb0ac5e39f00252b044c12c10bbaa14916456525cba", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ShortcutReadinessTest.xml", + "original_sha256": "3c2c7634b1a7971bace42c5f97c6d69f0d6678f38daabd44a29c1499ab4ac171", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ShortcutReadinessTest.xml", + "public_sha256": "3c2c7634b1a7971bace42c5f97c6d69f0d6678f38daabd44a29c1499ab4ac171", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.ShortcutTest.xml", + "original_sha256": "1c9dfa8d2b446997a82db01fabb1b3114bf55f45789570f2d01ed1e2dca2af86", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ShortcutTest.xml", + "public_sha256": "1c9dfa8d2b446997a82db01fabb1b3114bf55f45789570f2d01ed1e2dca2af86", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.SystemSettingsTest.xml", + "original_sha256": "e26dc179cb9925cc5a9824c8f255977be8ffa3b3c66833ade455c37f5b5c7e6a", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.SystemSettingsTest.xml", + "public_sha256": "e26dc179cb9925cc5a9824c8f255977be8ffa3b3c66833ade455c37f5b5c7e6a", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.TinycastGridParityTest.xml", + "original_sha256": "7e7bcbe45bfe689572fee8623e43cef32e906cb6a1645d7d301916691d7d6048", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.TinycastGridParityTest.xml", + "public_sha256": "7e7bcbe45bfe689572fee8623e43cef32e906cb6a1645d7d301916691d7d6048", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.UpdatePolicyTest.xml", + "original_sha256": "bb3af2c99ad4be0fabfdf8b14c6e37999920a95934c5c441267e4ca8ad51fb31", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.UpdatePolicyTest.xml", + "public_sha256": "bb3af2c99ad4be0fabfdf8b14c6e37999920a95934c5c441267e4ca8ad51fb31", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.WeakValueTokensTest.xml", + "original_sha256": "634c502b7a3e1fb504e2baa88a760ab6a40313102de20350b86fe0cfef2ad8b1", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.WeakValueTokensTest.xml", + "public_sha256": "634c502b7a3e1fb504e2baa88a760ab6a40313102de20350b86fe0cfef2ad8b1", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.extensions.CommonMarkPrimaryConformanceTest.xml", + "original_sha256": "0eb619e49cf671e0875e04392994669d6e4f13595565e44638f78b85cd33a652", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.CommonMarkPrimaryConformanceTest.xml", + "public_sha256": "0eb619e49cf671e0875e04392994669d6e4f13595565e44638f78b85cd33a652", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.extensions.ExtensionDetailImagePolicyTest.xml", + "original_sha256": "7fd5e17c123f19945c7e2be714c709428396e6e9fe0de1e9aa3da30b6afb72e5", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.ExtensionDetailImagePolicyTest.xml", + "public_sha256": "7fd5e17c123f19945c7e2be714c709428396e6e9fe0de1e9aa3da30b6afb72e5", + "transformation": "identity" + }, + { + "original": "app/build/test-results/testDebugUnitTest/TEST-dev.tinycast.android.extensions.NodeCpuInfoTest.xml", + "original_sha256": "5d83b3832c79fbcfddfb8a18548461f84227a57788641343f08a55e245229c17", + "public": "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.NodeCpuInfoTest.xml", + "public_sha256": "5d83b3832c79fbcfddfb8a18548461f84227a57788641343f08a55e245229c17", + "transformation": "identity" + } + ], + "projections": [ + { + "original": "artifacts/touch-clear/old-tablet100-1/record.json", + "original_sha256": "62f1bfe56f4a77f5bcda50cddbdbaa0adc00e5d38659ec0af13dbc95b45eed80", + "public": "docs/validation/touch-search/cohorts/old-tablet100-1/record.json", + "public_sha256": "8ed29d54cf26ff6b30b9783d1de59984acbea767652e2b2fa9d71ef06a8836cd", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/old-tablet100-2/record.json", + "original_sha256": "ba01af4cfd0384be307396f0a84dee7b1de89b30458f1ab45b760acc4f62d825", + "public": "docs/validation/touch-search/cohorts/old-tablet100-2/record.json", + "public_sha256": "3269c83b726bd493510f6650aeabdabaeee8e51e54cd7afe8a2b8e3679970d23", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/old-phone100-1/record.json", + "original_sha256": "c8b4fc0979bdb837c8796598d584c82c71c4822a0cf66f8d494fd1a39c917fe4", + "public": "docs/validation/touch-search/cohorts/old-phone100-1/record.json", + "public_sha256": "43b0cc7b239eba55d74d9dbd5786d608b2f6b4b8f8ebb6bf1dce58d14e26b71b", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/old-phone100-2/record.json", + "original_sha256": "0b5756558f269528fffe9dc4964b60033a5ec3392fbbc0b42fb5482f16a04017", + "public": "docs/validation/touch-search/cohorts/old-phone100-2/record.json", + "public_sha256": "e0aa727f6cf538d398f715bd9518afdec69aba784c055c55e228966b95e60f83", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/current-tablet100/record.json", + "original_sha256": "f67d76d8ef85eedcd046a9738981705d9b8db5e9532c08cdc7df68a65b22c3a8", + "public": "docs/validation/touch-search/cohorts/current-tablet100/record.json", + "public_sha256": "8056039d1a0c0898e6b20ea15ba8247feaa720a8d0680bfaf1f6ec1d65d348ed", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/current-tablet200/record.json", + "original_sha256": "7d0bdc3feb1f172cc8fbb89522df7385038a9e5fc9a389a7d12a1586d70b7c02", + "public": "docs/validation/touch-search/cohorts/current-tablet200/record.json", + "public_sha256": "4e495eb44c3139ab1422c5e2a372d9af7503caec805c7cbe8f8a4df4d3eaf848", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/record.json", + "original_sha256": "ea9f07b02e2648760e264c482c99781082b232e21296ab88be42163cf2a3c53f", + "public": "docs/validation/touch-search/cohorts/spacing-control-tablet200/record.json", + "public_sha256": "60da2204f74c008f23de884b8a2157e49b3641e8347f2e2318a653a603fa8b4b", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/record.json", + "original_sha256": "757b34f0c653793c5c5000d8b0ae3511da063ddad1862cef1cc0bde12d52fd45", + "public": "docs/validation/touch-search/cohorts/legacy-independent-phone100/record.json", + "public_sha256": "4932cf303bc1703c75e0e7780a654b660aba90a77e556ff26a496656be595201", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures" + ] + }, + { + "original": "artifacts/touch-clear/ready-tablet200/record.json", + "original_sha256": "d1814e3b40024918c226bdbe5f25b781b3248a7eeacffa9bad15ffb095d0f214", + "public": "docs/validation/touch-search/cohorts/ready-tablet200/record.json", + "public_sha256": "644f5824cd5524bc217be51d7333d8b005bf16a66f3ce2ceeef5ff70c8d3d2a7", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/ready-tablet100/record.json", + "original_sha256": "9e8dd114ffbea06b440f2ae8f97f8afc7c0c224a5aac7e8fdb6e8fbc8a819e13", + "public": "docs/validation/touch-search/cohorts/ready-tablet100/record.json", + "public_sha256": "f1f6e6a1d9116a442aee707e64d0d745a165f15e91dadb75abcd06fc3e67e8df", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/ready-phone100/record.json", + "original_sha256": "f35bbff35808e23f87b76e51d7274d0a78e274806146d8befc33c957b6a033bc", + "public": "docs/validation/touch-search/cohorts/ready-phone100/record.json", + "public_sha256": "991b160349377f4907436ff2330785a6d27d957606b2ad1953b1bb749148d636", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/ready-phone200/record.json", + "original_sha256": "c0160d59e66114b4ccb912aa62333232dd3c431d0e78fcfba0e185d05d668088", + "public": "docs/validation/touch-search/cohorts/ready-phone200/record.json", + "public_sha256": "50a470e2a1d018a524730b5abfe94ae830929b2f35e538b6e762ff2a3b7bbfc7", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/ready-landscape100/record.json", + "original_sha256": "195721bb55c2ad68ba978d365fbfee2e2e405f01be9f64d43d26b9b0621625d9", + "public": "docs/validation/touch-search/cohorts/ready-landscape100/record.json", + "public_sha256": "7db1ebc178ac4ee29382e8532a5327f1191fbdbcbb4d57fd53e98c87b5908928", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/record.json", + "original_sha256": "e927edfaa4cfcbf8a2b342bab977905bd3e1080fb7393a17cd4f1caa372c3b4f", + "public": "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/record.json", + "public_sha256": "7635ee7d0bc4948fa419c64064f42b88917c0bae27077860a4c4dd8e81cd4446", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/verified-phone200/record.json", + "original_sha256": "4e074114c3cf2dbda72c11a510c276da7f71d4771e3b9ea0faa3fdc9fdf58da4", + "public": "docs/validation/touch-search/cohorts/verified-phone200/record.json", + "public_sha256": "bb235528bea1b64df6241cb3ee68129ef25af092f71915298df4e5fd70b2ceb9", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/record.json", + "original_sha256": "d83813032263e9f106749d4f6e78b6b9d7ba06cb686883331862913f5c6740bf", + "public": "docs/validation/touch-search/cohorts/verified-api26-phone100/record.json", + "public_sha256": "af32a82df21659251c048873e88b6946bc2e621d5a7c2cea86a34ef1ad1901d5", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures" + ] + }, + { + "original": "artifacts/touch-clear/verified-landscape100/record.json", + "original_sha256": "ba1ee3df1015d11bd60b7fa3cdc83e922bdccf3098201aaa2eb29ae794131d1a", + "public": "docs/validation/touch-search/cohorts/verified-landscape100/record.json", + "public_sha256": "2b7c3afb55d5d325aaa96fca251759b0131435c598a4c938cf479dbc8edf635c", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/verified-landscape200/record.json", + "original_sha256": "12c9702fb681f928440deabc5716d76c8118130374e619f0b585ea73288376c1", + "public": "docs/validation/touch-search/cohorts/verified-landscape200/record.json", + "public_sha256": "7235c4b9c4267d5c6e834d646eae5462652114db90e776ecf77754f34902b793", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/verified-tablet100/record.json", + "original_sha256": "f81a49c3a10d2c8ecb89642e2a95ba2e26b3f0a50d65d677e89f799e3b6f6e94", + "public": "docs/validation/touch-search/cohorts/verified-tablet100/record.json", + "public_sha256": "9e140b3924e2c766177d1a994033378d6cff8f3253f3981d3e346335fda6f493", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/verified-tablet200/record.json", + "original_sha256": "e974b07ed2b8b66e4ffe169269b68a98b462e5e07198c9d7be9b6673027ef4b5", + "public": "docs/validation/touch-search/cohorts/verified-tablet200/record.json", + "public_sha256": "6d18e0a674a807d082cae40f4a721e65896fa47df645ff5d7b4efd97519c8862", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/verified-phone100/record.json", + "original_sha256": "00b13f851441c50fb592b0b5fadcbcf433b6193f1b6fd063e6872a5d7c9a7e63", + "public": "docs/validation/touch-search/cohorts/verified-phone100/record.json", + "public_sha256": "5fbc53e56c5d670ce7b0fe4179e0f39b5d0dcdd4b21af4e951b62c112e356493", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/record.json", + "original_sha256": "1d309b97e921b8605456d427ff750cd752bfc93c8349b80add0c92f5b87f0916", + "public": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/record.json", + "public_sha256": "ac69555597a77611db925c02284181ba7cf35ea1a1cef52623d60c79cdbd010e", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/record.json", + "original_sha256": "050647d5816ed5211518e941193c48737294bd84a3ceace5b4e2ddb70d675db3", + "public": "docs/validation/touch-search/cohorts/verified-guards-tablet100/record.json", + "public_sha256": "ff364405374ac985ac393a6dc73a74982a019a90b76ce8b0d5bb41725d52e7d7", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/record.json", + "original_sha256": "832e68f11fc2566b9615dafa4b2bd6829de1eef8906023fd6550747eb03a70ed", + "public": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/record.json", + "public_sha256": "9f3048248a606926e18e6d98e14c0e41ba96ca09132516fec522a4ef5f1154bc", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures" + ] + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/record.json", + "original_sha256": "7ca79f2aa63377beb93166ef8a1d5d4567ac9627b7f664091a0310e89747a00d", + "public": "docs/validation/touch-search/cohorts/verified-regression-tablet100/record.json", + "public_sha256": "2c71530a48039e320ad83436717dda65f60b87f81a3fe7094617ab377f173d1c", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count", + "ime_restoration_scope", + "ime_restore_observations" + ] + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/record.json", + "original_sha256": "62c0dd5edf191777515addf16490ac386c847e6f54b6031618a962ae86449a42", + "public": "docs/validation/touch-search/cohorts/verified-regression-phone100/record.json", + "public_sha256": "8bfe74bfb572d8a0544f04eed6a0ff57b96e18d55b562e69ed0d967983020260", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count", + "ime_restoration_scope", + "ime_restore_observations" + ] + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/record.json", + "original_sha256": "415a8b8a562d3c1592f52590531098b062d541ab775ea2e90baa08f5494a4fab", + "public": "docs/validation/touch-search/cohorts/verified-regression-api26100/record.json", + "public_sha256": "8f1e519eac5621db0b23c8cced55ca7550e3e7c144f3c9b1ea2f223da9faf2af", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "ime_restoration_scope", + "ime_restore_observations" + ] + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-1/record.json", + "original_sha256": "4a413d528bdd35af7a53987e3d51001327657ba32af8e74b3cff40a4c60a674d", + "public": "docs/validation/touch-search/cohorts/final-old-tablet100-1/record.json", + "public_sha256": "2565e77dfdf41b47a7050279cabdf8b1c51fd4853db20d02292740c163e5edd8", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-2/record.json", + "original_sha256": "c0955529449c36c5765fbcac80d4254b56dfa94da4d440491d72e4ef7e6a7823", + "public": "docs/validation/touch-search/cohorts/final-old-tablet100-2/record.json", + "public_sha256": "433e92144cdf822e3a4054c193068df8dd08254d84814f4d98d408819bce7264", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/final-old-phone100-1/record.json", + "original_sha256": "9692c1cf852ed235f6b7aac1aceb9ac359d2a13320b34bd7a4ad5515f4ebcbb6", + "public": "docs/validation/touch-search/cohorts/final-old-phone100-1/record.json", + "public_sha256": "519eeb2578bffa62fc15bb3bd8075c8231bd7bdb75305c2f66717115c97cd870", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/final-old-phone100-2/record.json", + "original_sha256": "3ac3f081d784360ee52030eacb866e4b271c016a458386d88599f3246bcf5ca2", + "public": "docs/validation/touch-search/cohorts/final-old-phone100-2/record.json", + "public_sha256": "bd984c09c53234361d96d45941167bbbeec83037171eb25e9bc427eb8a23429f", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/record.json", + "original_sha256": "d0f1b721d6ae0010ef74c5cf398b9dbf519a91f426daee8e237abac48819643f", + "public": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/record.json", + "public_sha256": "6495d0d89080c226c382a18dd303a14fb10e19c06c3891a24f0f660854d34b43", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "passes", + "failures", + "native_expected_outcome", + "instrumentation_exit_code", + "initialization_error", + "provider_before", + "original_geometry", + "original_font_scale", + "captures", + "preserved_file_count" + ] + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/record.json", + "original_sha256": "3bdb57dc7ed2e59b4510279b780fd9099a202f9a1c4381d149475f2469efdc8e", + "public": "docs/validation/touch-search/failures/post-test/record.json", + "public_sha256": "ea95690e330b007a9aa54d793afb674da531192d612d0ea8d7d28a1c1633c39c", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "instrumentation_exit_code", + "provider_before", + "original_geometry", + "original_font_scale" + ] + }, + { + "original": "artifacts/touch-clear/final-tablet200/record.json", + "original_sha256": "bc4b274ff65c476c8ecd5ebaa44a7dd9fd2e0b683a39f26338eccecb86b8e536", + "public": "docs/validation/touch-search/failures/zero-test-preflight/record.json", + "public_sha256": "3a8f3d5c7cbad3652e51a267784e1ffefb0b2c3d09f413a38dd09c2786cb31ba", + "allowed_fields": [ + "completed", + "expected_negative", + "suite", + "input_mode", + "runner_sha256", + "apk_sha256", + "test_apk_sha256", + "methods", + "api", + "font_scale", + "layout", + "cleanup", + "provider_before", + "original_geometry", + "original_font_scale" + ] + } + ], + "publication_rules": "Raw identity copies preserve CRLF. Host path prefixes and temporary directories are redacted; isolated32hex lease IDs are replaced. XML placeholders are escaped. Projections use only listed fields. Private originals, owners, raw secure settings and their fingerprints are excluded. Unselected raw captures remain independently hash-listed.", + "publisher_sha256": "5175bb22599e3cad63f3084f64ef761c6455867fb38c58c3e58ee3739d707aa0", + "summary": { + "final_positive_executions": 25, + "final_whole_cohorts": 11, + "final_cleanup_checks": 171, + "final_control_failures": 5, + "final_control_passes": 0, + "final_control_cohorts": 5, + "final_control_cleanup_checks": 79, + "all_retained_executions": 65, + "all_retained_raw_passes": 47, + "all_retained_failures": 18, + "successful_cohort_cleanup_checks": 494, + "failed_post_test_protocol": { + "raw_junit_passes": 2, + "raw_junit_failures": 0, + "failed_cleanup_checks": 1, + "completed": false, + "final_credit": 0 + }, + "zero_test_preflight_attempts": 1, + "selected_png_xml_frame_sets": 92, + "retained_capture_files": 653, + "separate_recovery_checks": { + "preflight": 18, + "post_test": 33, + "launcher_anr": 6 + }, + "separate_final_preservation_checks": 14, + "scope": "Final credit only uses app974b/test54a/current controller. All older harnesses and failed protocols are excluded. Clear uses the selected system IME; native-input regression cases use the explicitly owned silent test IME. Constrained empty-feedback visibility remains open in#111; v7 scopes that body assertion, keeping all Clear assertions mandatory." + }, + "public_sha256": { + "docs/screenshots/touch-search/diagnostic-landscape100-v6/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "00a39b69367d53df223dff9016267ea080ef45109afbe1e72230cb2dbbf6179a", + "docs/screenshots/touch-search/diagnostic-landscape100-v6/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "2e19f15500f889a26d5ed255e9ef344b76c47d2aaae0fcc47172dce0484f6a92", + "docs/screenshots/touch-search/final-old-phone100-1/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "e9479f4683dad306750a86232bbfe680ab5ac1079e4a493d6aff437b20b54014", + "docs/screenshots/touch-search/final-old-phone100-2/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "834ef3ef0e7fa2e77a5f3463a1cbcb3728638cf7923a5cdef085417a4f886824", + "docs/screenshots/touch-search/final-old-tablet100-1/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "588912ae1e727e9e5495f1afd96f1ed66320ad6946fcb8a74db084ad08cc898e", + "docs/screenshots/touch-search/final-old-tablet100-2/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "299054f3fbe646ac6a06a8afab8323f12353e2764dc657b483f21f684322874f", + "docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "07de42820ef5343a4de54c7cd7a9a621b3726ac4f6b09f06e24f32eef946b896", + "docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "13a52ac8f8f58c19c58e548c22671df5ac02b634326a0aecf9bdb3b4c578a10e", + "docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "fddef49868a1dcc3792e8407a219dd37b07b9b63ec6d3167f6eef079ebef935d", + "docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "954afad984638adeb27fd857125c2e0f58d1e556d96420f37bd88eb1c1496576", + "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "2b23e4658c3740f32a13efaf142cd0c317e35df81120c2fd45d8a69c1615184e", + "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "22d097b13429786b897dad241877dc3bf444afe265a4c4d6c0b50c5830d61c3b", + "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "fbf1c6712443f54b71d4c14bdfb357a67f9547279adccd0d1e543d6830600c84", + "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "e3e86dc34e17f9d4adae93313549b176553d31244661960aebc38c5e45111cd8", + "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "48704d81914767c019542921b8a00d68529fb5f791a8146862d0ec882436625f", + "docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "cf05ec75264f4e4278c56b61c76f6d14ea8628d866a00ba648bac8387f6f02d2", + "docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "be23688db55ecc0d4bab638e94f8ab096ef47a65f0364fa2e363337ee3851e6f", + "docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "1763f0f95f0773a69f5fc1983786115270acb30f14cd277146706243a675fca6", + "docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "28b7fd2c5cb300b3e98d1c0a2f61148d2d1fc620470a26524c3f2a34e10dfc0d", + "docs/screenshots/touch-search/verified-api26-established-clear-phone100/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png": "068e8eecdd8f8d293a3ed4f1d8cce0d6bb2ee5b4c42237185379cf4fef837efe", + "docs/screenshots/touch-search/verified-api26-established-clear-phone100/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png": "3715ee0884d279d447d5be8d31c7830c35d6dc351092e67a807a93d0981a9541", + "docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.png": "c087b452d756aef6e68821c6af6dfb6854a48c6ac15040a122a766561ade005c", + "docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.png": "b869a9324f6d8e5aa5c4718247df846cad24fd4f3ba13c3791ced8ddb2e4f9a6", + "docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.png": "fdd6409da63265c2895558d07f9b73e254e8e01e4774e58e839b54933d4f3b4d", + "docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.png": "e10145c6baf6f18d1d3752e78e6fc07d03b6349489013b3a53b7345424d524f2", + "docs/screenshots/touch-search/verified-guards-tablet100/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png": "257b5f97007e09ad84df1b1cfb4e2dc15c7498c332c1fda48422759958f90ce4", + "docs/screenshots/touch-search/verified-guards-tablet100/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png": "df431cb83d2a0968f5bac2f9718047e1ec25c0edb4c85a8e32967b073b9df8e0", + "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "fea4f6872897e31e2c26190deb6b90ca57ab64212e8d973fb73e64eebd612ff2", + "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "4f423882e6bc9e10af84dfc3e67885c2466693e4c64cabbe37c467834fee390f", + "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "2ccae7413dd1307992cfd56fc72991d26f91ee5ad312a9d6f97eb1298e64bc6b", + "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "e76a13aaee39e363ae06f13660f5dfe1f6a675fa92c0d0fd20574e2141a22041", + "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "4118b294000a57401e2995cd7e5bf18e882e18e33b7b968c138eb5d6f9ff7b62", + "docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "55a5b89b69c4170003e5e65d7ad67d1dc1d40d79edf61d14fb7180479cadacc2", + "docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "3143eaeca0699d887799f27a648011a2f87c6fdcca7e0aee05c355b4a8cf045e", + "docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "2b9a218f4b5eca4a85e693a7cacb40c95c31a353e14603916baecad338527e0a", + "docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "e8d87dad3eedaedc1ae96359a7809af4ebccc0d01ba3178663c48317b6a8537f", + "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "84a30a53e416a3d7e5455a5efb8ee0475ef17ffe4884e138ae8971eb4b560d4f", + "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "b531f42d14804c3aa0c91f522ce054a042417e7c8971f6549bce17cfb93cd359", + "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "4deb9890e4fd7623402c0f606073a6e3910fc8e2a34786d0e48dd09daaa81e43", + "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "0ebbadb2c9640234d3ab56eb39ab9235b4aecc7eb703704ce126eaa646757593", + "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "318794f100f56f39eb66eb1744d8df0bdc371b3b4105355cd6a1a57474012785", + "docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "7e683a466d79d641cc1503c7f8495d94a79dd8e1b36daf9f05118d651effe8e6", + "docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "ec52a89e2f70542a87eaa0dbba8c6c6639236b2b0477a68b09274c808df31960", + "docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "26cf9222d48b588c13ac8b12965cac169e5d955fe05ba059c763ae6e9544db9e", + "docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "03a8ab56616f421587da5eae7ef5931c6269678652e9ab99c05fde6e37c1e7b5", + "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "22ed01931ad1b6dd80d7be5f51d6d8a720a6bd776e802dc0667eba2a8c8eee58", + "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "434fac0eefb0ff814140898fe992c1b9b525ab9cb8d1892df2fa3ea2e4d04947", + "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "fe757c08513eab3f5250475ad03dae2aa056f30f47bd43eb751918df9375bc16", + "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "c1ad2d03dfa44e7fda1c2f32211ad1bdc36bddbc88e9b5caa190f6db683284e3", + "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "fe757c08513eab3f5250475ad03dae2aa056f30f47bd43eb751918df9375bc16", + "docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "cd2c3091e60ee1ab84b5696f54d50fe42211516d2f5fbe39b1c4cc544cad6646", + "docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "c0b165699e5b0d7703d1ab73bdb57066700788604a337301f0884d45810414e8", + "docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "6313c7d764560e42dc8b5d3c158c85fc8dd1e29c84b9cc30048a17875751298b", + "docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "70fce7f5f09577299ca770084ecd7fafa6ca5757499b719f3a8ed1cc3d22344b", + "docs/screenshots/touch-search/verified-phone200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "c0ff747d9a075d19a0a0c6f78baac8c6ae53edc76e61086eceeb16b5bd26038a", + "docs/screenshots/touch-search/verified-phone200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "13091634e60f6fb1313ce9c7c29a6cc884b10315575a0c36ea9ed1e40e682ca3", + "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "379fc78c97e1648a82a4b2ad4e14aab4a7e45650a0c7d2f892911ff47ed29d59", + "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "cbac01ae60834399b5b663ff4f51d2c28a075acbd4b2491d07d3b54d362bdd2b", + "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "f914dd7fa3db7d3aa91be46a4c84ffb8c2cb7b74b19929f560fd9c39d567c01f", + "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "198cd988774aa7fe75f84dd0c62fc1879959910165e0c81a8c18ed03cba102ef", + "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "73effde4cb5adfa6d04b2499ea25374eb6d41d86f2102786a00cc5415a931325", + "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "03f8fc387a0b9645e17d38fd5ebd90ec98aa976b448618842434cf4ce1ec06da", + "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "878cf13e34f709086dd4617b16d14e76284ba2e3e8faa73a6db1ef67ee0cf1e8", + "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "56d97b840e85b5aec50982413c19ccc0308f03829af048f70a63b91efc07645f", + "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "d4607ea96b527eeb4bde9afecb09c0362dfa33981049c722b0aeb5a49ec30021", + "docs/screenshots/touch-search/verified-regression-api26100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png": "20d8375f3e04cbbaa95d639713ef88bddbce4d0361e19d622caea57c743714a7", + "docs/screenshots/touch-search/verified-regression-api26100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png": "30a60ad4b6d83a066e2bedd8380c59e14ba06f8636e9eece25a25cd3ab33edc6", + "docs/screenshots/touch-search/verified-regression-api26100/committedemojinavigationandcaretareexact-committed-query-selected-range.png": "b8de6c919e495e9cff341d0d8ef4955b72d648b34266dfc7a1d814635c4c9182", + "docs/screenshots/touch-search/verified-regression-phone100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png": "9fdb198f5f52c5ded9d5c5755d2ff85b161c43d57a125ca25fea11f569fa840d", + "docs/screenshots/touch-search/verified-regression-phone100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png": "254488d5875a7f86bc53b230526224e59a41c5805e20adfe4a931abddfa02fcf", + "docs/screenshots/touch-search/verified-regression-phone100/committedemojinavigationandcaretareexact-committed-query-selected-range.png": "c25185dacc5fb6d43a1a131fccefc866ccff9eb48eaea6c232e80223ec29bf3f", + "docs/screenshots/touch-search/verified-regression-tablet100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png": "d0aa65887cf448399bbc08ee852fc134e4f414483850f18c576dcf723e34b65a", + "docs/screenshots/touch-search/verified-regression-tablet100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png": "c9a47e6172bb698d9b4c672c754c6caea6b43faa6f950a04c1c07783773a541c", + "docs/screenshots/touch-search/verified-regression-tablet100/committedemojinavigationandcaretareexact-committed-query-selected-range.png": "dc185383a94dd0b8906cc426fb5c40053890b821f91ace377e7c826d4144dc3b", + "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "2f88fed8a1803b6f28accd2df175cda625f13d9c9a12485ceb4beb9e2a5847b5", + "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "bda805d90189a8f967211fda76cf0c6804b9122c6b24a35a5406544450b1387d", + "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "fe6be37c94f4b0047d34bbee1410f0579b8954f3fb951163e18120559cb1b304", + "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "6c48c90432e0c6cf5789059b4522c227e0d17144ae5e70561f8f4f908d39da52", + "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "54e3c01a8902b6ba8178872e4fa1b74918177b352abe6975b5912254c5082b2b", + "docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "815f93c47ebe514b47392fae0bc5a1cdf8a0bcfde6ca18c803a2eed77feb6d6e", + "docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "aa385104fc9cfb96a4ad0695a454be9151b7ac03c91d52cea21b540e78373194", + "docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "2441e9b840e834a37ffc11e35851b617fb1d243796c4550b34540f6e03a6a8d4", + "docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "281c2b929ac85f96e5b88cdcac1030c098b18059d5bb396de893642cd1a2c863", + "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "1da0b14d08dd7f65db7dee148f0fb7f8d3393481fd493ed37ba3cdd385cc3050", + "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "c094b63cbf34a50f7a8bd9181e361ffcf44145a860b161ed56b386c3456a0c41", + "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "00e974734b0ba916f20fadc00b687c5196392ba046bf7c86eee5bac8f7969366", + "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "5aca84e931ce8ec50e5ef5c256214e92f603b1045181d5c1a75faf72b368aae0", + "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "34f1a632a25ec66d11a84b832ad6d1bc945eb17678879f62c583a5a93f8d8fea", + "docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "d137f1458fa9fffdd4b8c349dc856262d87f9896b62d14ffeabb8b68efdd46ba", + "docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "9732f75aefb4ea171e5e391d436b83406052df6e08b044de6bfaabb865eae0da", + "docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "4afb70473a1c13942aaa3257d9622244a762681363c0ba5cffa0105ebe409b54", + "docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "47eaae1098a2912080449f0446ead898f1321a00090ceafdfa747b2b386d900c", + "docs/validation/touch-search/archive-transport-file-probe.json": "493fd3613724a3dc47621d9ec2adfdb6d23b37e7358eb87e69f615a2750d531c", + "docs/validation/touch-search/checks/candidate-v1/build-retry-v2.log": "eb85141a814bf990264d7fde1a2b0de44ed324140e120a10edbc2af6cad8a23c", + "docs/validation/touch-search/checks/candidate-v1/build.log": "9de9e29356dba18f1f89219b1d4d2986a787ffcd85b6d417c2c46a034597b773", + "docs/validation/touch-search/checks/candidate-v2/benchmark-build.log": "7830a46ec8fcdc50a7e35389b8d0a41f57d84cf0d63bf8f823cc409a3c265158", + "docs/validation/touch-search/checks/candidate-v2/build.log": "4607159cfdce4845f655a3711d23364674deb37a0374f31ceab20728c778034e", + "docs/validation/touch-search/checks/candidate-v3/build.log": "81a6be6bb61f1f9f996cbbc67ac6b21833bdbf5c9eeb4f57e6d37f24699713ac", + "docs/validation/touch-search/checks/candidate-v3/final-harness-and-benchmark.log": "62dc6d7b1294da3fb03e99635352afd1e5e78685774e12eb1568707e99c393c2", + "docs/validation/touch-search/checks/diagnostic-harness-v6/build.log": "484bc7ee28005066a3b6cb8ab2b2532736cb30560ebea21503b6f47cd8bb735d", + "docs/validation/touch-search/checks/final-harness-v7/build.log": "2a9f02453234daffad86440da63d21e3a773c4925c909041ec557508124774e2", + "docs/validation/touch-search/checks/final-harness-v7/host-checks.log": "47e859066a05b9a86d7899d5539e33f9a603d7119732c4f99ac69adaa9a27d9b", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.BackupPlannerTest.xml": "de6dcb1ec18c844472c80341af20fc090cc41aaf6e998508bef3ab680766178f", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.CalculatorActionsTest.xml": "7fae964a9b23da4886873fd5a3e8cb3c9fb6b67ef276d75cd3dc7ad6f42beefd", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.CommandEngineTest.xml": "af885587cabfa9361b795bac2dc74a3dc2cf80591bf6d32f5cf6b06cfeadf78f", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.EmojiCatalogTest.xml": "c3e917b24ab96294761ac34521f7a2467785809b83f811ce7b1551a4070b2f24", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionCommandLaunchTest.xml": "24857c22cc56c640b2e9751c089ba257fee93d19b7b0feb9f5bb2a80a3b67c9f", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionDetailImageTimeoutTest.xml": "fef60e709b4bdcf1632f1add0b23981b8b1924e73599651cd1c6b6a600d6aa01", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionEngineCompatibilityTest.xml": "c08d8445a2c34dc3a6c58dfba8a28364b5750b2f1af780418728e40d7f536ffe", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormContractTest.xml": "7b81ef576d2c4e0d998456faf40ccb607ab0c5910f430f60cd46ac5f1531ecdf", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormFileImportTest.xml": "a714b5bd3e8c2701770be35dabd7cefba19064c6a7286ae0dfb14f6991de7736", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormSubmissionTest.xml": "b08db733b926074cd858c32561a3d99518caeeecd23dad28b4510eec926c1abf", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormTypedValuesTest.xml": "75cc1e5f57311f3c7cdb97dfcdc9da20b3b8c3cc05c322586bc49f72bc5a8915", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormValuesTest.xml": "80bb62ecabe1a8fefe0e69d67575c0c780ef1dd27cffb91bca69404f9fe0ccba", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionGridContractTest.xml": "1d5b5a2aea9a85bb0bf1c998af9bcf0651c65ee961d667e292bc2d8b39d74630", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionGridNavigationTest.xml": "b6882422e7e9277efe107ac18e6354ff211c2a0a7c271ffedd32a51aa69fe9e3", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionHttpTest.xml": "b50ac93cef96242c1eafba5dddb7511c06d614943222c9ae29af2814bb2ca2ab", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionMarkdownModelTest.xml": "b8bedeebcdf1b51b46158a0ccef1b455d2c79275f085e387b92d552208921227", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionMetadataVisualsTest.xml": "2e8a22b4600317e1513f7e84f9aaca737e721c3e2ae9a2fd9d541facc63fe320", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionPasteCopyTest.xml": "9baab55dfd45be1a05994fafc0137cc91fc659b0ad3fb17a952764010ddf14fa", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionPayloadIdentityTest.xml": "55ab3265ad08431ce371f44000ec209d7c62337f8534dd91d636b5b55f63d4eb", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionSelectionDeliveryTest.xml": "ba3f7849df9069d4801189f84f739c220c6a11ba6790233cc5fcb4a0de594e14", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionWorkflowEvidenceTest.xml": "185bd8de52523a04324d5dbce314c4627f8a5c04523bf4391c6193913ebe5a45", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionWorkflowInspectionTest.xml": "503c724f29f4361ed6fc30295acb0d10914be98b047cdf6a99896678ddd15d27", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.FolderGrantTransactionTest.xml": "3578ead738cde5ea83fcbd1ee3286e4f7cb7c47b001bac07a85d16b44b3288cf", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.FolderIndexTest.xml": "586ad396799c6aaf2cafa4e9834fdaa84cf0621bd03a46038244b20a4c8eb8c7", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ModifierTapTest.xml": "6650f579a74ca21e974ad56f3319e19d2982dcbccef337c15a8a9ba78ed8aeb9", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.PaletteMenuOwnershipTest.xml": "f90e136d3757dc850b1a076da85a67c3d98bd21f67d253509258cda13fa39089", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.PaletteScrollHistoryTest.xml": "5d227970fc1deaae3e414b85ba4bf31b636e94c05347b423baa19436fc135070", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ReviewedTextInputTest.xml": "9d8b90a899ab94f6ace98eb0ac5e39f00252b044c12c10bbaa14916456525cba", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ShortcutReadinessTest.xml": "3c2c7634b1a7971bace42c5f97c6d69f0d6678f38daabd44a29c1499ab4ac171", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ShortcutTest.xml": "1c9dfa8d2b446997a82db01fabb1b3114bf55f45789570f2d01ed1e2dca2af86", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.SystemSettingsTest.xml": "e26dc179cb9925cc5a9824c8f255977be8ffa3b3c66833ade455c37f5b5c7e6a", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.TinycastGridParityTest.xml": "7e7bcbe45bfe689572fee8623e43cef32e906cb6a1645d7d301916691d7d6048", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.UpdatePolicyTest.xml": "bb3af2c99ad4be0fabfdf8b14c6e37999920a95934c5c441267e4ca8ad51fb31", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.WeakValueTokensTest.xml": "634c502b7a3e1fb504e2baa88a760ab6a40313102de20350b86fe0cfef2ad8b1", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.CommonMarkPrimaryConformanceTest.xml": "0eb619e49cf671e0875e04392994669d6e4f13595565e44638f78b85cd33a652", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.ExtensionDetailImagePolicyTest.xml": "7fd5e17c123f19945c7e2be714c709428396e6e9fe0de1e9aa3da30b6afb72e5", + "docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.NodeCpuInfoTest.xml": "5d83b3832c79fbcfddfb8a18548461f84227a57788641343f08a55e245229c17", + "docs/validation/touch-search/checks/lint-results-benchmark.xml": "6f73b30f6e7cc3935053db9d4d9daf3bf2101566a723380939cf78c65aea654a", + "docs/validation/touch-search/checks/lint-results-debug.xml": "6f73b30f6e7cc3935053db9d4d9daf3bf2101566a723380939cf78c65aea654a", + "docs/validation/touch-search/checks/python-final-opt.log": "178987eed3dba5889048375d88e4c893270a9e17521d374f13b66e0c9dcac014", + "docs/validation/touch-search/checks/python-final.log": "f214b119911b75af474abd0094b1428cb14c9dd85a7094654e770793e7fb1926", + "docs/validation/touch-search/cohorts/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "3390d8b768c87306117b69fbc0bede1771de792fe9abf8a650c5a189a63d0ff1", + "docs/validation/touch-search/cohorts/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "b522c56c3a9207fe82a25c2c4a1ea6e0a86e1e22f802516bc16b2056e0f01fb9", + "docs/validation/touch-search/cohorts/current-tablet100/outer.log": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "docs/validation/touch-search/cohorts/current-tablet100/record.json": "8056039d1a0c0898e6b20ea15ba8247feaa720a8d0680bfaf1f6ec1d65d348ed", + "docs/validation/touch-search/cohorts/current-tablet100/tests.log": "7f7e1f19bc76fe7be085b5493b7b23f705280b6f88c995db4d928a68c9119497", + "docs/validation/touch-search/cohorts/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "608522254d6159fe90250aa446dda86939777df515d7336fc0676d9719a6a9f1", + "docs/validation/touch-search/cohorts/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351", + "docs/validation/touch-search/cohorts/current-tablet200/outer.log": "607217dc11ce2826b94e609d02f551cd523072e79f952b28a344e8b33289f038", + "docs/validation/touch-search/cohorts/current-tablet200/record.json": "4e495eb44c3139ab1422c5e2a372d9af7503caec805c7cbe8f8a4df4d3eaf848", + "docs/validation/touch-search/cohorts/current-tablet200/tests.log": "c8d5af81b8344b74908a56fa61ccf62a75feae571eeafc783ef3f202a80c3e50", + "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "a1eddfd1cb632f66e5a070134adf89c63e3efd2c16feb2d2b4f0737ab52ea752", + "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "1d0ec6ac273400ec46e25face0f0d0a788c7e72d25a037bfa935e82db72c4f81", + "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "c115694d093b9d2cad85019b9af543454818197ae93701f8920aba7df6299d4c", + "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "48d2b47afdf624db881252e8912845aaf1f218427f17d0446439c0eced5aff86", + "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "8b2066848e42b833d0d775c5c76f26e89cd9d4c2a33da17fe19b0ec08a6329b5", + "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "4ddf1149668bd7a13712c6128359f70364055a1a1a6190c01fc5944554c9135b", + "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/outer.log": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/record.json": "7635ee7d0bc4948fa419c64064f42b88917c0bae27077860a4c4dd8e81cd4446", + "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/tests.log": "4e3d9ff32217c0ffb6810be31ef2b7f7b1df0387611e5ba2cc085993d1a58f0b", + "docs/validation/touch-search/cohorts/failed-post-test/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "3532dc428a2dd5e1849b558a693e0c85d51347e8febd457149cb6a3b6e531a02", + "docs/validation/touch-search/cohorts/failed-post-test/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351", + "docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "f0eab9bbfd85541f38ae33cc03e04c0b682e3444a151d2c3b198e6b8a9cc732b", + "docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "88f6e5d198c1e277439c168e79d72e65130bc6cb31fc4aec252ca1b8b4ee111a", + "docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "e41f519dafc79aadf3603acde7c1fd18287c618441f8ba587b4880c5e7a67f0b", + "docs/validation/touch-search/cohorts/final-old-phone100-1/outer.log": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "docs/validation/touch-search/cohorts/final-old-phone100-1/record.json": "519eeb2578bffa62fc15bb3bd8075c8231bd7bdb75305c2f66717115c97cd870", + "docs/validation/touch-search/cohorts/final-old-phone100-1/tests.log": "3e8e7173a13922e0a494e331cc49dcf5a1c0658c02be1db7450eb0df112856b5", + "docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "4c2ff152712a59273d8fc531de3c9ec01534c76f662ad7edbc32e05c527daed5", + "docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "1839ec1a49448aa27bfa57af19924c36ff1d5c5d562aea7b240f6eb51fe0481d", + "docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "5add20f5612284b66bfcb3ed1f24cb31d36c60c522cc8840a73816d980957f50", + "docs/validation/touch-search/cohorts/final-old-phone100-2/outer.log": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "docs/validation/touch-search/cohorts/final-old-phone100-2/record.json": "bd984c09c53234361d96d45941167bbbeec83037171eb25e9bc427eb8a23429f", + "docs/validation/touch-search/cohorts/final-old-phone100-2/tests.log": "ade5560a09c0ba12b1f9f5a02f597f8030528b79cc3dea20238503e0fd971889", + "docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "29a9c3b167996d906581fc9a8988159f0a5a548ec9f53b046655bf3e472a7233", + "docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "3af0693f24d6cd6663b53771f2ceafaafa267eaff0273b0de4e0ebd1b733638c", + "docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "6df80d65aa291b824d06d07360175390c5d3473378e66842657ca94d92c016a7", + "docs/validation/touch-search/cohorts/final-old-tablet100-1/outer.log": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "docs/validation/touch-search/cohorts/final-old-tablet100-1/record.json": "2565e77dfdf41b47a7050279cabdf8b1c51fd4853db20d02292740c163e5edd8", + "docs/validation/touch-search/cohorts/final-old-tablet100-1/tests.log": "538247ef6d51316b95974672d1aea74a27d8eee5a0c0c0fa4abbdf8fcefdf517", + "docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "b4014b6e7ccbf5de1d3308bea9072c54c7ded00202fa5677b83b11adfc6de727", + "docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "ef48f0bc2b3731ef50b0244388a84e5c826166280578e7dde02d95cdbd698ac4", + "docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "9cbb01aa230e5200992f8dc29f10012057f712cae60c551a9b4f5370fe2a3084", + "docs/validation/touch-search/cohorts/final-old-tablet100-2/outer.log": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "docs/validation/touch-search/cohorts/final-old-tablet100-2/record.json": "433e92144cdf822e3a4054c193068df8dd08254d84814f4d98d408819bce7264", + "docs/validation/touch-search/cohorts/final-old-tablet100-2/tests.log": "f87b444e578d882ff28e97364a72930ee899ff630175d5e4a56fe78345c3df0d", + "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "2f908a1a1e184eec306ff124dc4597b07cf3c680710d491373fafbe8d100b2b7", + "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "1150019e60cef61241bc56e7e59b66f23955161e4bb57932f76cacdba8b91d2d", + "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "2a516ebe4b4325f048200016ca6bf22e651f5b3c4f8efabb0b5ae02812c73d07", + "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "af93c54e66c94ec30aaa05b574e3dc67018f595bd4a31a7beb1f36e3e28db3f6", + "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "ddc047ccaee17e6b0fd8ee19a256cc6f40347c8de26b8be53067a9bfb855f9f7", + "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "5089865def933a36d306ef298d51be6eef73b19a99e00ea6d32a83e8e914a10c", + "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "44d0c6311c5444e1984a06baf3ff7e87f9c3f97d999576934f281f848c5f5b12", + "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "c75370405db044d1dad25d7839e29a42587a66205c8b434e45999c6fc3d8d621", + "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "6533017a7901ac0f9ab274c9172e1dff5a5f575fe073b1a8c93c9fe4b729acf6", + "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/outer.log": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/record.json": "6495d0d89080c226c382a18dd303a14fb10e19c06c3891a24f0f660854d34b43", + "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/tests.log": "c45a1cf53735123a0ffc42e65a801f8205dcc1cbcd0fcb483b6e0a6b5a222634", + "docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7", + "docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "df5eb8a7fc9cc57476e84c80546d3dd34139165c3b73430b5593e60023645cec", + "docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "6d826aec86c45bfd4366684fe815a344ad7042511954389b4ab7f28a67b68495", + "docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json": "eb85683597f55701a85e1bcd7a1111522ced2d4bfa2139385f3cd68e5c301d20", + "docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9", + "docs/validation/touch-search/cohorts/legacy-independent-phone100/outer.log": "5c4878ca79338a0d12b83afe3d21980ca9173042e8f0091c97f7dc5676423610", + "docs/validation/touch-search/cohorts/legacy-independent-phone100/record.json": "4932cf303bc1703c75e0e7780a654b660aba90a77e556ff26a496656be595201", + "docs/validation/touch-search/cohorts/legacy-independent-phone100/tests.log": "991f70d0b9e3f2eb56bcd0d04763668ca0b051d4ad79183d7a53de3492103fc6", + "docs/validation/touch-search/cohorts/old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "25ce543135f0711ab00d9e0d8a3f105c3c3803a941b4fe03612aa444d7aa18b4", + "docs/validation/touch-search/cohorts/old-phone100-1/outer.log": "607217dc11ce2826b94e609d02f551cd523072e79f952b28a344e8b33289f038", + "docs/validation/touch-search/cohorts/old-phone100-1/record.json": "43b0cc7b239eba55d74d9dbd5786d608b2f6b4b8f8ebb6bf1dce58d14e26b71b", + "docs/validation/touch-search/cohorts/old-phone100-1/tests.log": "edeb27f024f4ba606e74dcbbbbe6a0673cff85f5a896d072dad7a316997534bc", + "docs/validation/touch-search/cohorts/old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "9ae6a82f564b24bc304dd74e0dca1ce5233c3daf8d3fd5a57ae9b0fa3466e44e", + "docs/validation/touch-search/cohorts/old-phone100-2/outer.log": "607217dc11ce2826b94e609d02f551cd523072e79f952b28a344e8b33289f038", + "docs/validation/touch-search/cohorts/old-phone100-2/record.json": "e0aa727f6cf538d398f715bd9518afdec69aba784c055c55e228966b95e60f83", + "docs/validation/touch-search/cohorts/old-phone100-2/tests.log": "934715d5bb65d6bf692a369c8a72e319c1a42c1f5c4f6cafdd12cf9572168daa", + "docs/validation/touch-search/cohorts/old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "25ce543135f0711ab00d9e0d8a3f105c3c3803a941b4fe03612aa444d7aa18b4", + "docs/validation/touch-search/cohorts/old-tablet100-1/outer.log": "607217dc11ce2826b94e609d02f551cd523072e79f952b28a344e8b33289f038", + "docs/validation/touch-search/cohorts/old-tablet100-1/record.json": "8ed29d54cf26ff6b30b9783d1de59984acbea767652e2b2fa9d71ef06a8836cd", + "docs/validation/touch-search/cohorts/old-tablet100-1/tests.log": "eefae928b4c1c0dd3be792b57017479363ed15ccee3fd6e18dd71fbef03ad4f4", + "docs/validation/touch-search/cohorts/old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "9ae6a82f564b24bc304dd74e0dca1ce5233c3daf8d3fd5a57ae9b0fa3466e44e", + "docs/validation/touch-search/cohorts/old-tablet100-2/outer.log": "607217dc11ce2826b94e609d02f551cd523072e79f952b28a344e8b33289f038", + "docs/validation/touch-search/cohorts/old-tablet100-2/record.json": "3269c83b726bd493510f6650aeabdabaeee8e51e54cd7afe8a2b8e3679970d23", + "docs/validation/touch-search/cohorts/old-tablet100-2/tests.log": "ad145673c8c289e7b62d482f359f25b4b432a1b9b605562deb71f76745c74d98", + "docs/validation/touch-search/cohorts/ready-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "10cd5e47591af2b7375e3d599f070be2c479011ec803390acc15d5c5767473ae", + "docs/validation/touch-search/cohorts/ready-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "f8b8651c9c3bc3f07ba642a466aa6d3bcaea8cd285c8d0fb45ff13e77f2d7ebe", + "docs/validation/touch-search/cohorts/ready-landscape100/outer.log": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "docs/validation/touch-search/cohorts/ready-landscape100/record.json": "7db1ebc178ac4ee29382e8532a5327f1191fbdbcbb4d57fd53e98c87b5908928", + "docs/validation/touch-search/cohorts/ready-landscape100/tests.log": "5c1d6cce988bc11fc004183743fa55f39930dff919ab28c5900c5147e8beed28", + "docs/validation/touch-search/cohorts/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "37f5ed2fcbd5d168694d717d96661cdf5f9832bd037dd4947e2ea7072e2583ae", + "docs/validation/touch-search/cohorts/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "7b7151bbf57d2c16760baa375561d6f77a245ff690ea8cca076dcca1557a34e7", + "docs/validation/touch-search/cohorts/ready-phone100/outer.log": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "docs/validation/touch-search/cohorts/ready-phone100/record.json": "991b160349377f4907436ff2330785a6d27d957606b2ad1953b1bb749148d636", + "docs/validation/touch-search/cohorts/ready-phone100/tests.log": "0f1944c9be003b9ab52b7389db29f5fef5a2ad2801d3b83ff1a62fdefd812164", + "docs/validation/touch-search/cohorts/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "97faf6c010b6c3d441aa6cfccced3e40ce12bd3807170ee6d8998a22b56bf3e6", + "docs/validation/touch-search/cohorts/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "18e54f6092002b87268bc135ae636d19257cedbc9fb9e942b3e337413d5eaafe", + "docs/validation/touch-search/cohorts/ready-phone200/outer.log": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "docs/validation/touch-search/cohorts/ready-phone200/record.json": "50a470e2a1d018a524730b5abfe94ae830929b2f35e538b6e762ff2a3b7bbfc7", + "docs/validation/touch-search/cohorts/ready-phone200/tests.log": "375e1f7fb41a7a42e24862f9df214cfba9c4fdb91c4c2281b19bfe42ee7a293b", + "docs/validation/touch-search/cohorts/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "3390d8b768c87306117b69fbc0bede1771de792fe9abf8a650c5a189a63d0ff1", + "docs/validation/touch-search/cohorts/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "b522c56c3a9207fe82a25c2c4a1ea6e0a86e1e22f802516bc16b2056e0f01fb9", + "docs/validation/touch-search/cohorts/ready-tablet100/outer.log": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "docs/validation/touch-search/cohorts/ready-tablet100/record.json": "f1f6e6a1d9116a442aee707e64d0d745a165f15e91dadb75abcd06fc3e67e8df", + "docs/validation/touch-search/cohorts/ready-tablet100/tests.log": "0c285c3f167a3bf0de322f8a3d3aa19d7aff57d6a71271a7bcbee4d128501f9b", + "docs/validation/touch-search/cohorts/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "3532dc428a2dd5e1849b558a693e0c85d51347e8febd457149cb6a3b6e531a02", + "docs/validation/touch-search/cohorts/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351", + "docs/validation/touch-search/cohorts/ready-tablet200/outer.log": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "docs/validation/touch-search/cohorts/ready-tablet200/record.json": "644f5824cd5524bc217be51d7333d8b005bf16a66f3ce2ceeef5ff70c8d3d2a7", + "docs/validation/touch-search/cohorts/ready-tablet200/tests.log": "6cc890f4123aae84ea4ad538ec0473c841293fd126ae8efc31c97c8b889f38c0", + "docs/validation/touch-search/cohorts/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "608522254d6159fe90250aa446dda86939777df515d7336fc0676d9719a6a9f1", + "docs/validation/touch-search/cohorts/spacing-control-tablet200/outer.log": "607217dc11ce2826b94e609d02f551cd523072e79f952b28a344e8b33289f038", + "docs/validation/touch-search/cohorts/spacing-control-tablet200/record.json": "60da2204f74c008f23de884b8a2157e49b3641e8347f2e2318a653a603fa8b4b", + "docs/validation/touch-search/cohorts/spacing-control-tablet200/tests.log": "2814a7014413d02b3daeb37e669ded869cb7a80b0eaae34b6821bbe137f1bac7", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "91791c46dd5cc282fb68a5e5c9ee1acc987b90e191e9d1a48035927168bd4332", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "fb25230c79f59c1964b6a6ca884cfdfec61b0b212858a7e3d6e505112ba9447c", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "19f1dbfd73174baeea4211d99460ec9de8d4b9e26d66c50a1de13f64f6721750", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "d6cadd16243a505faec61d5647c211d47e1ca4d575c001ef7c07fb526b1f78b2", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "8c653f3ca2d857851ea9ed6af59a7192007ff37c146ddef6bf694114d7e8ed6f", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "4edb089a0d0cc912e3a39a2ad453ca0e74a7e3b02936ebf754598daed0e3ddea", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "262fa1bfe3e381ce13020fb77d6d4c293ca98d802deac7b7ae24973d97f7cb7d", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "52b5280c366ccc83da37ceb5aa5cbfb3e8758a97b7da2008a900164144a30d09", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "7f6c9bc77b961b0e876032465cb322e0a6be199df5622ced9cb172eb98012170", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "63262b9aece34538793029df166aaf5c39db6df03bde66f02fb8fa9d8d56cfcd", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "f2c655335f71c275947bfb962ca3ffe2607477a6e728dbcfaa55815f3306b27f", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "f1ea376b12e0b149e66e489f9f8e3694a50fd172aef9d54620e57877b3084b0c", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "d28dccb4a1204bf927a946a539df0be3fc4352d94d753d6ba2c7fdc6cc12cac8", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "647f1d250d8879c8316791dff2ca452d3c9d8b4e8a9dd5975fb6b3bd96819e9b", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "57d9eb8a9348347861053e27fc27cfb1f89095e89eab088b7b4525a0bd353bf8", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "fd259abb059547a6320b19e2afec387fbe395fc842c0582c3828df3d47def6eb", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "1000d8060b7466d029a06bcc1c05903a87b2e793da19cf59e23ebdffffd42306", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "1a12bccc944c0d9f76063a40054d16aa2bb3a2f5851ef0cdd963668e9bdeb2e8", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "eedc3a4f0396709a57cae7dab482663b8cc0a887b71ca36eac43dc3424eb1a63", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "ddef5099c82c9cbfb4c836f656f3f822ba6262cd2460e1311600656a41001380", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json": "f1d308a5eb0f6b26ee0ae36bc295f36e65b61cdd9c287110f1bf5fb972747719", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml": "3708eb83ad537858822f0f6fe1758d751148792c74a8d6108ea13b0d2d737492", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json": "8852e5e7085304ab359cb508307fb5ff0be4bc9715224d3edd881d56a86c8cfc", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml": "fbf1be21dd4953761042a766146e339e5dc199d9b8ee814191df5016e6fc7657", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/outer.log": "0e782a0f82ddd7fa9a9394d6f8078e0123209a935e80fcf376f7ec0a17f53812", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/record.json": "9f3048248a606926e18e6d98e14c0e41ba96ca09132516fec522a4ef5f1154bc", + "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/tests.log": "7299d0eaaf2d66e4f196229dd1f79b7d1b8817c12505aa527adb7b46ba39337c", + "docs/validation/touch-search/cohorts/verified-api26-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7", + "docs/validation/touch-search/cohorts/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "19f1dbfd73174baeea4211d99460ec9de8d4b9e26d66c50a1de13f64f6721750", + "docs/validation/touch-search/cohorts/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "f1ea376b12e0b149e66e489f9f8e3694a50fd172aef9d54620e57877b3084b0c", + "docs/validation/touch-search/cohorts/verified-api26-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json": "e5b2ae15a6dd9d38f805c02228b2c89144ff50038f61d8bdb4a3a3d66330a50a", + "docs/validation/touch-search/cohorts/verified-api26-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9", + "docs/validation/touch-search/cohorts/verified-api26-phone100/outer.log": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "docs/validation/touch-search/cohorts/verified-api26-phone100/record.json": "af32a82df21659251c048873e88b6946bc2e621d5a7c2cea86a34ef1ad1901d5", + "docs/validation/touch-search/cohorts/verified-api26-phone100/tests.log": "2241cb96d110222f824f6a9604ecd7f61407aa413b669dc3ec17dbb7ad89979e", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json": "1117ca08c1e7c33028d9e680b86a3396458be049a15bb489571954e7b98dcab1", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json": "9ea55a2780a25f6593038d4c25539b377199d0ec5736dfa1599f474fd2515234", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared-frame.json": "86dbc28407cf78d55b5eb919da9e93125b4da909503fa866f730470797c2310a", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.xml": "8a480e1dea867fb28722b8316277e65e8f8aba59070e564ce80f3892a46223a2", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition-frame.json": "3c40f84c15e13d33285ecd1f3398f392ee3fc05c3c25397d62aa3f3ce3302f6f", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.xml": "c8dd1f5ff2de1f1fb5f77dee1b08a688139958ed4d415920edb971689051e88c", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared-frame.json": "06b599673f1ca5a9dfa5c5fc3629ea051f09873b4a24bcea0fd8e99fbbb47c41", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.xml": "b3d16bb9bf82b7260718a1c1bfc0fd0e2f96378512f8959fd45870d83dc30d60", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition-frame.json": "808e5c4701e5e9ccc34d462e7d6b61395bd94eeabfd442d679624e59b6f8a8e5", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.xml": "dcf410527f61d53d781fae31890a3f446ffd7ca0492b0e76baaebde13fa633bc", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json": "7ed88a37502269347c7d2f198849d4d0f65f61461ae277e0f1f406b8cb3e3c8d", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json": "2048c3531f99b1b6bf46acd04e58c4e66db38f0c621c6262a0606eeb0f818e35", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml": "faab4626fc5dea78c0ce4fb2f3172caff03305a0f6a20afdb999a88387c7f4b4", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json": "2a660eb8464caf6d138b70234b18280ddf4c139c7b027660d11b78777eb718ce", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml": "3708e054123b17e74b41546006f32716654eefa4546842213448f8a64b902f9c", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/outer.log": "b9580caf6b0f1bb8efa2b7587433c9c887ada106ea761c9ee7231c66ba26905c", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/record.json": "ff364405374ac985ac393a6dc73a74982a019a90b76ce8b0d5bb41725d52e7d7", + "docs/validation/touch-search/cohorts/verified-guards-tablet100/tests.log": "b7c26d6ec364444e642c87f314e13e8f83d31157d88a877343660218e2a8c7d1", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "3ff851df62248dc57fab3884f38b7a1cc0a8f02d32abbb47a20e16ddff95ace1", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "18ae1d7bf14bc50d2342be50534dc026a4daef8ece5748c017b1ce57cd6e237e", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "138fc0f1ddd3d9c15554bb1f45580fae32a12a8c723d3db4cfd295f577047ce6", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "4789fd81b7957830b05bd5fc3fef0221d65b1e7dac14635d49441d84eb801025", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "c42c1075d0268e145884a97cf6f5f76c26645a4238f5b0dbf761f637917716c5", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "183f4026e843e400b488a47e798d6d2ed894d2ea5087b1952e19fe6ff0d5a429", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "27656887b0a51071a383037bf19f5e3a5e78aa7fa5881b13f74e0dd2b84572a3", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "d1fbfd83e2bfd1449a250961e8026ceaeccf9102dcd8c45cf37702411986848e", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "533e9ce939d1468ced4f196ea75d4f97c65c476a3700e00d0c3dbdf2f0ea3e03", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "1d0ec6ac273400ec46e25face0f0d0a788c7e72d25a037bfa935e82db72c4f81", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "e8ab6095d39760c1d9b879f20efe1ea70f5bdcb430b6f953c37b734462fc830a", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "d1f2e5232145604211979aad9c2e07a6b873ea83266697a23f6218fc62541c54", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "bca4f2e586419cfcb3ca60a80645af1728c6925505c9eba0b4e18e7ad235ebf4", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "a48283f72bd7a9d60e6f0b831270b457bb6e5832a14d16f3ab0bb4838d3e587f", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "993b08b0346bef7b473d1fa87de892601b0b69c1f63a584c700875c29d47bd23", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "6cdd392450e7b2da8dc46ccdf0cc2aa294d3e8aaadb489f04e06ee2b3e85826f", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "df32fe63b73a462d1be4223137d8b03660818509b982052393bac91de1851c62", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "0524cb80f0355ad045f2631b10c8072ceaf81228b82d030e035b19e9dd8fa4f3", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "8b2066848e42b833d0d775c5c76f26e89cd9d4c2a33da17fe19b0ec08a6329b5", + "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "67a2654ccc5145946b30355ce72605850ff742ca9aaefb0244066f40cc0ebb5a", + "docs/validation/touch-search/cohorts/verified-landscape100/outer.log": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "docs/validation/touch-search/cohorts/verified-landscape100/record.json": "2b7c3afb55d5d325aaa96fca251759b0131435c598a4c938cf479dbc8edf635c", + "docs/validation/touch-search/cohorts/verified-landscape100/tests.log": "8dc833a3e6ce8c4ff661578a43f127270090f1174fdb2d0fa9f2ae160b1581c5", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "acd5f9dbb3d563d18d4e0492d57a051035bd48fa3ede0d51cc95b85abceca028", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "5ed47e902e7f11fe92797c14259343421e6bec5ffaa9d612294f622b329fda1a", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "5849308603380cc40880915d6f701018855ebbab6510b020cc6f83aa704f21bb", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "1c5a48ee9b18034366a645f597f45e07702626d853cfbd02827ffe7653cfe638", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "b784e8c88509466d7f69da24ba694aa116c1d839506b4a1efc3eebbae1ab6fd9", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "91e30fe2306f182681c1e14bdc10ec5dd20b0f3e60207053426888fee924d666", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "da5c62b1ff0d2f6a260e659e6c8093488553bfb77ff9e41ebfebee361c2d4d96", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "c3345660a8d7c7b6ab3e8fb10ec43fa9228fb44588e693bffa12f64b8bcf89db", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "b82e6927b357e0d7ad18f5ff4f5fea3af1b9bf57de0a4a9aed0a07ebd5d19f52", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "b2038cf48af24f2f33505f62bab7ddf9e099a86252d889ee9ce71d7c6508e491", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "2fc83c861eac6e550de7bda3ede1bb3de653ec5d80f050e29bf5bd27fefb19f0", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "d9705e1d9ebfe2c2518ae1463d5b713511dd795c07ef13991d7ee943e482b407", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "28a258d4408946ccbfa7c64abe8698d5eb89caa95a5014876543fad6cbff0b1d", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "96b9e85183477e99e2b37e5cf79900b1942208fe422c80c026d02228d532f0b4", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "d721f6406080a349884acb9da25a1a2124f1911778c152df267408877af5f885", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "9793cda6af3c02f6d9f72fe88579696806ee41efa955b5d93dc321c9c69289e3", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "49ff1f5b37ee6c39f181485e13a7c0e0dfb9aac1013526cf359e2d0e01e0c42e", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "e839d40e565d38ac3c4d0c2f3bbb26ce947af753965c59f2bdf40d0532607181", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "952cff225f388e1596e4c8cf386667b0543690d958481fedbfde94b62387f60c", + "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "54b8558ef6d9108dd1f1298d63943786d68e83f94e5f8e385a68c1cb3e122ce9", + "docs/validation/touch-search/cohorts/verified-landscape200/outer.log": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "docs/validation/touch-search/cohorts/verified-landscape200/record.json": "7235c4b9c4267d5c6e834d646eae5462652114db90e776ecf77754f34902b793", + "docs/validation/touch-search/cohorts/verified-landscape200/tests.log": "f6047edd9daa31dc4c1f69955a10f00121e128f0d652ad04865c3c39938f6326", + "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "f605da15421043e3f7b10d158f8254172b79551acaaffc2475fc5dcd4b05988b", + "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "3bb69e31d33b5c4572d28cbde4461bfab33147ce6b4a0505599448b4199e5c6e", + "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "4b061c583a99cd703f61ab2a92846d44ddb993a419378864fee782924a7a2575", + "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "7f514ddd80e67f155791ac86266aca6236e48cb68e04c2462ded9a1c0e3d3f39", + "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "61f240ac2f78abaf45bf71a0b383ad615716488a10b33bb0f7ca3886f2c32221", + "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "fe1e0162c95b6ab67165deddb69218c6200386fc7d91a1371c2d3edfad5c3e5a", + "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "82a2a976ea25495919c713c1f4f1d5adb9628cc30b5cbba6b70c30c2858cd9db", + "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "f284ab9aec54fe48812e19f8bfe5eac8bc81c4ba37b7fbdf0fd683f14d2de987", + "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "03e72977c01264eecdc7ace87e77cfdd20b791c4322451571f23ee43d933af95", + "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "3d3f02432a6c1c3941e976fde6dafcafefe31b947208809a5eb4e6dbec241761", + "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "82a2a976ea25495919c713c1f4f1d5adb9628cc30b5cbba6b70c30c2858cd9db", + "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "5ce8dd1f4c98533131dc6b360c333325b70bd9a3606a871e724bdbaac3b2d3a9", + "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "efa6a9949c78f198e22bb0885a9f639beb4083149fbc74f9655af5f789d6ade7", + "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "c99b391d43fdb12da0446a801f900a3d91611dc37e0e389fc2bcd02596e34b10", + "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "4c81703ab407588cd7283145e81aa3f83bea028fe4ec05d492ca9a238afd1c2d", + "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "4489f96d437ed98c4c253c4e1ae47a64bae1cd0da2084fa091c28c229a5b36d5", + "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "b130cc50d72acb82b7da1d4b5d9a824e2fbedd76b3902a392e016d0aedef9949", + "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "0b23a4010e5f3484525ab35c9004986e3688adf08764e65c62811ceb0a313c67", + "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "6c6835f04798d4c1adc99f9b059f9fd973308f18426f917db64107d75a9b6d28", + "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "4489f96d437ed98c4c253c4e1ae47a64bae1cd0da2084fa091c28c229a5b36d5", + "docs/validation/touch-search/cohorts/verified-phone100/outer.log": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "docs/validation/touch-search/cohorts/verified-phone100/record.json": "5fbc53e56c5d670ce7b0fe4179e0f39b5d0dcdd4b21af4e951b62c112e356493", + "docs/validation/touch-search/cohorts/verified-phone100/tests.log": "50b2840bbf964052d5d508ac0e92f643a5381b613e78450be0ef6302ef022fa0", + "docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "538125c2863a22f6253ad870da184bc6e622449ad88b871d1d07063ab75ccdde", + "docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "984b23189d77d75476b0a54ae9d007910572fd9a0a0b4d25e8d875786a33386a", + "docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "80f1816719b88d6cadd32dccf28748cedab08ba2da5b8e2c12be9aa75fcf032e", + "docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "81ca0cca0e31b02adfd3d723f1409225ae2c605fb6d5316dcf9268617fcd1a69", + "docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "4e13035806d38c08ea352fd13befb5f4c45c323d5527900406301bafcfbaffa0", + "docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "d4275a550577c1b28bbe9394ef4f2d3f4d7431bc29b6d5a4ddf7261c19caac53", + "docs/validation/touch-search/cohorts/verified-phone200/outer.log": "a8c2321dcad3da174e1e5c4b3ad918996f4a609c9d1cbe8272589d49fa968541", + "docs/validation/touch-search/cohorts/verified-phone200/record.json": "bb235528bea1b64df6241cb3ee68129ef25af092f71915298df4e5fd70b2ceb9", + "docs/validation/touch-search/cohorts/verified-phone200/tests.log": "5f9563909317c576ae20237a1589200a49850c2b40ec1bf5f57c99d639407b15", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "9c815d4f11b17fa32624d6cfd9f275d89ef84bb64e6806c3562787c8e65e737f", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "4de7146111a0d929db1408b68d3ab6e560d20cf45e4c47c74e85d512f854de86", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "269e213f01488e27c909db97bc3e37c996158aed07ca9474e87eac461cfe0f6c", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "c69e902101db4262f6351048e718cb3f61ade3b85a7014e55fc99a526e4d7dae", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "187b7b05423d8eb01c6802f501f1010e05bf94012fe9aec44fcd61a92c9e978b", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "984b23189d77d75476b0a54ae9d007910572fd9a0a0b4d25e8d875786a33386a", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "cf70cae286418bfa453d41e3307a4be16d633b1cf22eb791a7069d316e2a85a1", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "01b2db217cd988810a1b2a46a1b6a979aadecaba4c574201a0170a3046e4d427", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "9a96fae541d03aa7cb3c6ba4ff204bb0d1f19807fcd2da42dac935f63f982b8a", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "0f3293bc144373e5be063b22ae87394b759214afbbe8085dc4cb560f9321c3b4", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "7f81693672a94362c966c9bf42df8701ed78c49dd075218d5cbcd571d38529c7", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "24b9ae25fd92407a030020da1dbf619093ca88662363f58df55dd696d2a9c9c3", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "312926bbd33e6988a634e3b50306cd23ab892dd5df4bbc06a6a5d5ad0e23f3be", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "05e9fe2f2f2073ebeab27d3b7bec5bd0be8a282dc06bc7c1b621e75a878f83b9", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "4e13035806d38c08ea352fd13befb5f4c45c323d5527900406301bafcfbaffa0", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "9632aab8ce42675feb2ad05040f0561f07b84f7f722aae6cc524a5d44ef3199b", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "a52d30001f8e99d5aff4a508561d72540a028c9e5504b9d1ec04a60c803204c2", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "47c1b2d7e676b27b354667ca9e7ebfd2f91884e0513a7129ba4925a6d08ee50d", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "5995d6ab8d94ab7c87eb3694173de90cfa07b96b06fd69eb39810767cba71d1a", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "b6534940a8b571177cae57771afbc42c9e9d8c9462a6a2bc5961a392e3dafc2d", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/outer.log": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/record.json": "ac69555597a77611db925c02284181ba7cf35ea1a1cef52623d60c79cdbd010e", + "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/tests.log": "ed5c29686c2cacb3d84b2103e4b5c5fd75041e616c14cce8a40b43ccbeb4b9fa", + "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3", + "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml": "0ab84983d97b0be271697471728f561102c485eaac3ac88f260fa9c1cf528248", + "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/case-activemultilingualcompositionkeepsresultselection.json": "4592fbad4d58da0a8dae402e467e916cb4461bd994812a737bed8350ece672aa", + "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/case-committedemojinavigationandcaretareexact.json": "dac1ab016d13c4e716c6c438dd984bd65fb8a12f4787de33709d91260a62c8fc", + "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a", + "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml": "f84573215d81e18793c26328e13a9fab93329b043455e8720cae12e363e62c22", + "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade", + "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml": "f84573215d81e18793c26328e13a9fab93329b043455e8720cae12e363e62c22", + "docs/validation/touch-search/cohorts/verified-regression-api26100/outer.log": "b240cb5e56b3832849d0d550db1f90cc6c958bda805275b62cf82f84015a60c9", + "docs/validation/touch-search/cohorts/verified-regression-api26100/record.json": "8f1e519eac5621db0b23c8cced55ca7550e3e7c144f3c9b1ea2f223da9faf2af", + "docs/validation/touch-search/cohorts/verified-regression-api26100/tests.log": "c65f0af9dca03c68fceb4b3fa9f57f07d505888f9c8b13aebc0a846b40ac9e7b", + "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3", + "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml": "9ca0c76ad2ebb8920dbaab13bad6b6111d62d0663befb844628a60e0476da0d9", + "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/case-activemultilingualcompositionkeepsresultselection.json": "ccb7edd290d46d39a7ad2fa26cbbe6dd46047b1d51d1c447433ec26b227360f1", + "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/case-committedemojinavigationandcaretareexact.json": "056b53331d1d2bc2233ea3400d99f5d60e81ab058e2324ec5dbbb479a6eec558", + "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a", + "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml": "c06994c2b78323cd187772e388934349866fcbb597c900a35ccbebfd48d80042", + "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade", + "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml": "8305766a25a2a5db6d1378885f4c7a79bc55121843bc5ca468e768c5d4f58a82", + "docs/validation/touch-search/cohorts/verified-regression-phone100/outer.log": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "docs/validation/touch-search/cohorts/verified-regression-phone100/record.json": "8bfe74bfb572d8a0544f04eed6a0ff57b96e18d55b562e69ed0d967983020260", + "docs/validation/touch-search/cohorts/verified-regression-phone100/tests.log": "bad23e43f186ecc950ce1b845087d0a7182b87618123199fe1de447b893d97de", + "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3", + "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml": "aa7939048d19a65ee5452359834b8463f4885daa4d9eff2a56781806d40fbc4c", + "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/case-activemultilingualcompositionkeepsresultselection.json": "fe254b336e1a00e494b67afa177600c4283a72abbe00fa7c8155ecaaf532a34a", + "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/case-committedemojinavigationandcaretareexact.json": "f553228a67b8ba8ba41cf75695bcab1333e67ac416d12adc9c726c16b8a8fd35", + "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a", + "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml": "dda9c6b5a2916c0e3c1282f1fbfecd7a60ca90210727794d012d44e06b99a1b0", + "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade", + "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml": "d69782b962a9dc14f2234f0e032fa7f26e0d0e2c283e6302e733dc24ded1d209", + "docs/validation/touch-search/cohorts/verified-regression-tablet100/outer.log": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "docs/validation/touch-search/cohorts/verified-regression-tablet100/record.json": "2c71530a48039e320ad83436717dda65f60b87f81a3fe7094617ab377f173d1c", + "docs/validation/touch-search/cohorts/verified-regression-tablet100/tests.log": "2ec43c49f7cbea35ff94d71264b596c2572ee6eeed2b32ea99ecde7edd123487", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "35511b6fb5c4b7a16356e7f7d0e754117be1dba14303578f4ca0641ad9a0f219", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "a7cb2e2f09efb6a58e6d60d20cd1437542b03c23de816c3e68d74210c74436c3", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "55ad7d24dec12cf62ca2018266b024af610c9881d1835447bb927324e3ec58cc", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "844559e987e11c2eed1109abf350462cb44c5c0a154b4c44442d8c23c84b2b66", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "abbcebdb44b5f2ed607df1d2e53510047bdf7ea5e6c3fd0bc13cac5268b4100d", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "8a8b31c0d22a855a570ba6c639237bab5fc49cd27895df16985d603a572b1bea", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "693425e89a8210b370754e6c7a054a3cb8dd8d280ec7c947083c5a6d9666cc12", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "e40dd5dfc9a198ecdd6d37556a157653d5e73a54b33e682475c2bbd5392083a1", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "2fa5c80001d7dfdce1a5d1ef650276528f9cbadb50ef38ef98303ee0c9d598df", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "d05792bb5f6b9173879bdefa49259ada70d5d17d5d3f3be82d57444916e8d74e", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "17852d036e1019c78c762726c26e8474d3f4c91317a7023553824f2b65027cb0", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "17184bd0a80faef9692ab96fa009ed1e2e262da745536920dbaab7d64a7c149a", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "d5ec32a2a67ac640c4cabdf85bda96c9b1b53413d7eb7557d0b076d5446804a2", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "0596d5477e98549f618ee7eab8b53539716f86b652f4ccaa6db85195c27f0246", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "88877dea617fc2af0e7a819b91a632a39f0ff447ffddb4abfc8f6867257e18f5", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "5b2005eaf6d74f495dcbb11cb4c1f839264ddc3faa357ee911cfa5bfe694f8e2", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "6d9e8b4bcac5699874bbec015627b480e85feb0582c312ae3c969c3eaf3ca17f", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "65e4fbdd143162cee4567d9d726be29dd802e4fae6d64cc9662b1fb58b582d42", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "24f14fbb85af3c234aa1331a17c44cc066fb61f585c34ac2cc65de7aa6af5096", + "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "558da77fd169384f96531d69709b1e86f6ff68ac5b5b9386fbec9b908a6d603b", + "docs/validation/touch-search/cohorts/verified-tablet100/outer.log": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "docs/validation/touch-search/cohorts/verified-tablet100/record.json": "9e140b3924e2c766177d1a994033378d6cff8f3253f3981d3e346335fda6f493", + "docs/validation/touch-search/cohorts/verified-tablet100/tests.log": "c369ef6a3e98db74317fec71d532131f889be0aa9af7d17bf1d78f034c32fb03", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "545ffdf4e0c3135fd723e9a321aa56553cd96b3d18bdb72a2fb5862a57b8ee87", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "8cb66ff8335be0f68a21adfe866f80ea29318b20cae8549a617521e0262642c6", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json": "cff914f8f0da9521ddfc6fe5fa61210c1213d7c85a968ec72af80a8b8837ca28", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "cb72b49a2840c16060634ef0e9880c647b6dfadaf48a874c1786af2019a3615d", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "855874c2b68d62fecc7c1ee9b4e91ce3fb8fcb86a8278c5c5e6369451e1c71e7", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "539f2bda830bf4cfdcbe6ddf5292cb32ce354a96b7e4e08ee26c15e322ac1e03", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "b7151f4aee01715ee719fdf43a7ec8ceb2a71f9b3838479cb69dbbbf1b40c085", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "124d29121650f25b3038b4863938c3ead302126fd5ba58550f8482dc717a4a0b", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "c60647360811ab89b5cdb4d97ce34a4567ab66201f6d092f6b0cff901004d5da", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "12702a0724b7eff7dc55aee6be56016d04974e255948d12858a9f864552e6a3c", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "7aaa8a603c88317ee2955d5a8b0eb692f69c4546b1728b82dd300683af36bd36", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "44bb5825485ff6fa16a2cc4c05463bc607d06d10b3b6092af075e0eddea01580", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "b520db8f0022d0c0fcd76aa49c2d537f9f57433a32bec2c0fc4d64ad2505d801", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "b41ec191e068f5756461718ce5065994a921c5857af764aaf78320b93cf6f2ee", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "5ebb0a0773340985fc4b867f81028ce0227b9e6b92b11043689192fdf7ec542b", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "8d57cc14e2a2048fdd21f27176c89fc898f0c8bf9a760e3b3785d0b5b1ca06db", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "7f8965715aa49d7a4295e8ed5ff74931aeef492d0bd64f68ef3201d7b8c8049e", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "4a5c8185165358c7606056013619018ca8a34cd99f6d31a28a90cc03bf08405b", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "93f43193e27a09f4dc41451fe0626528dd2a5636f660df82c3111a96bd6942fd", + "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "89d55f47f41a63caf86edd74548522070cdc14954f045e63f592068a4d06148d", + "docs/validation/touch-search/cohorts/verified-tablet200/outer.log": "eba4ab2675572b86139733750a7bc373a8dd5267256ec77b993d6822df8e25c2", + "docs/validation/touch-search/cohorts/verified-tablet200/record.json": "6d18e0a674a807d082cae40f4a721e65896fa47df645ff5d7b4efd97519c8862", + "docs/validation/touch-search/cohorts/verified-tablet200/tests.log": "ccbcde8ac0f472b25412dea8a33b1549b5dad686287cc059fb3091fb6b0bc9bb", + "docs/validation/touch-search/collection-source/calibrate-final-v7.py": "16bc3deeab5eab7be7d79dfef68b250102fa5cce093d21e13401a48a38ae87e9", + "docs/validation/touch-search/collection-source/finish-post-test-recovery.py": "4d7ab3b8bd5e01dcae7d258615f928db865019ae6eaf3302022d9dad949391d9", + "docs/validation/touch-search/collection-source/global-preservation.py": "19a6e9834a6f83a6f7239cc9a5e18de6d7e93f6b052f5fabd0cc35cfc1a19043", + "docs/validation/touch-search/collection-source/publish-final-v7.py": "5175bb22599e3cad63f3084f64ef761c6455867fb38c58c3e58ee3739d707aa0", + "docs/validation/touch-search/collection-source/recover-post-test.py": "bad9b1630481a1f19b1ce55e82d9272d545b24debd6fd39fe84ba87a6e1f8cc9", + "docs/validation/touch-search/collection-source/recover-preflight.py": "13f33f68ea284c84eb79dc52701a71e712b7c627f0d1caf21304b1e93abe1de2", + "docs/validation/touch-search/collection-source/run-final-v7.py": "2ae3daf4c136ceaceae7eb9c3946d302897d737522f15ec9095406a6c8f62dce", + "docs/validation/touch-search/collection-source/run-final-v8.py": "8fc57b6bf2625a68cd78ee2ee492138737b9e8d4333a7e24ad40e3fcfe5d4b0c", + "docs/validation/touch-search/collection-source/run-final-v9.py": "3698d4f0438d8b335db1fe9011c132943eddbc7f4890e392cb0ba5281f22d0d1", + "docs/validation/touch-search/controller-final-identity.json": "f880e07bcdfae2167eabffe11e0dd90e392f6981f575d587ac255c4ed1fa53a7", + "docs/validation/touch-search/failures/post-test/outer.log": "a8fa73f7a6c18c9951115538959adc10d0d45af7f4045208eb669b568a9ef306", + "docs/validation/touch-search/failures/post-test/record.json": "ea95690e330b007a9aa54d793afb674da531192d612d0ea8d7d28a1c1633c39c", + "docs/validation/touch-search/failures/post-test/recovered-captures.json": "8602eb78adf63fb50edd749cb2cf671e80000ef3edb259df18639cd1d31308cc", + "docs/validation/touch-search/failures/post-test/tests.log": "de890ccf44f98d1495c9c3ddf0ceeac24ef7e3202fa5b2cbf5bccf94ea9e1e16", + "docs/validation/touch-search/failures/zero-test-preflight/outer.log": "e78b7c5581ebcec3f86d8bacba7c15828a8dbfaf11ca4aa7ad56bad43811558c", + "docs/validation/touch-search/failures/zero-test-preflight/record.json": "3a8f3d5c7cbad3652e51a267784e1ffefb0b2c3d09f413a38dd09c2786cb31ba", + "docs/validation/touch-search/final-controls-calibration.json": "3cc448de9a8e3883d1593621044142b0ef95a6021aa37de7c43097c5377fe4a3", + "docs/validation/touch-search/final-preservation-receipt.json": "4e599f38fde1c8c1521a8ded0557c710cc333b84d6b8e77019152d3dd9785c7e", + "docs/validation/touch-search/historical-runner-source-bindings.json": "6784721f482455c471f7a172297ae39a49a132c41388124194b447bd31e1e88f", + "docs/validation/touch-search/identities/candidate-v2/app-manifest.xml": "5a27d20f7a9e91b2cf999456e77094886618f50ea68c27c4fcdadcdf28e7b316", + "docs/validation/touch-search/identities/candidate-v2/identity.json": "586cf4c478a7d19ad7e50456af44b0ec52f3d78fddd90f23a16d25f60bad2161", + "docs/validation/touch-search/identities/candidate-v2/python-source-identity.json": "7bca329a485560d947bfceccd2484f438b04470f5e840b4aed65768dde2596aa", + "docs/validation/touch-search/identities/candidate-v2/test-manifest.xml": "b467cd75f67ae0336c000708f82d24b5be57bd28f9add3fe3dfedad05d51da7a", + "docs/validation/touch-search/identities/candidate-v3/current-compiled-harness.json": "dc1428df90e22f87174800b9554bafcd8074c21b01cf56b5b57cc707dbd0a70c", + "docs/validation/touch-search/identities/candidate-v3/identity.json": "c64a529d4db8de25d6f0e82e3ae1657d50c1586a10e0d37af9b89eb7d7ea6a8b", + "docs/validation/touch-search/identities/diagnostic-harness-v6/identity.json": "9e145cb7f4355c162a1abb8932ce377fa9b077355a357a4f2c1ca647292a695a", + "docs/validation/touch-search/identities/final-harness-v7/app-manifest.xml": "8482dc9a7ad5929e72c1e4e4a420d7af11f8bb343332b799dd3e463890538137", + "docs/validation/touch-search/identities/final-harness-v7/host-checks-summary.json": "29c9ad9494f840129718afb24eb32691f849b78c5cc221cd94f21e5b3af0f93f", + "docs/validation/touch-search/identities/final-harness-v7/identity.json": "763ba10511b6e323b1fb503df39b25734e72929b67ff694b1ba4df39733868c6", + "docs/validation/touch-search/identities/final-harness-v7/source-and-asset-verification.json": "c6d9d796ca5bca0f99e4e3ad0dd8e64099c9da56247b555ff6535049a5f525a6", + "docs/validation/touch-search/identities/final-harness-v7/test-apk-payload-differences.json": "1a1d107275e29f8b6c05faede9f5f9a82249791e11dc7d4b405195fa4e51e542", + "docs/validation/touch-search/identities/final-harness-v7/test-manifest.xml": "b467cd75f67ae0336c000708f82d24b5be57bd28f9add3fe3dfedad05d51da7a", + "docs/validation/touch-search/initial-settings-receipt.json": "574d01cb7e1b9ea16d51bc122aaca14dff790d6acd2e1826a318542832545873", + "docs/validation/touch-search/launcher-anr-observation.json": "85a49df228054c5413aa745874e7fcd99d123d4b0cd966e35ae3568056967379", + "docs/validation/touch-search/launcher-anr-recovery.json": "60f1334e561905790d719f99d8793b6025fcda371a9dfe7a5b703fe4b00afa86", + "docs/validation/touch-search/old-controls-calibration.json": "2b59f0bf3ef0bd590b5f4dd3fb1cfa0a274d6facbc814f3c62b9e18655805a35", + "docs/validation/touch-search/pipelines/native-final-v3.json": "906ff7216d921e471781fea2be6adb6b6ca77a2a9b37fd2ce306c23c430ab182", + "docs/validation/touch-search/pipelines/native-final-v4.json": "5b28a74e9445e6779ca5f0910150154ce7c969b912857bd58a476e9fba991f45", + "docs/validation/touch-search/pipelines/native-final-v5.json": "67587de9adf8fffdb5e408fe9018dfccef6dfbd81c095ef24fea3f1cda9e5424", + "docs/validation/touch-search/pipelines/native-final-v7.json": "6371ed7c97d96c427eb9ffc931f74cf61ba0bd31359673d9b6105c9343f2b04e", + "docs/validation/touch-search/pipelines/native-final-v8.json": "5e5f85fab1d6f439b8185929703842cd47a14f87c54edd3aa122f0bbcaf5d0f7", + "docs/validation/touch-search/pipelines/native-final-v9.json": "7ee854276d7a4bbb77fb7104bd867ea07f929c409be8c03fc03df85bd64ec594", + "docs/validation/touch-search/pipelines/native-pipeline-v1.json": "4f5fdbacc3c4c299b791a64c1ed2c5bdb18e521a2ff13d1ee7004b13cef7ad95", + "docs/validation/touch-search/post-test-recovery-interrupted.json": "5ee77d14eec4183fa89e0adec501d0235674927e512808e28f2dcb4e77bfd12c", + "docs/validation/touch-search/post-test-recovery.json": "3717fc6752f816b3435a5ec9d89c571ba4790133d3a24c1088f3690505b33a1a", + "docs/validation/touch-search/preflight-recovery.json": "8ea26cceaafed88eca3c119ec104154bbafe21624202690d7f3e08e0379a33f6", + "docs/validation/touch-search/retained-captures.json": "f91894f7df8f0925b73dcd412d9e6056eb335c51901aeef2ab034d18766944c7", + "docs/validation/touch-search/selected-captures.json": "55c7640f4c062f822befbd44bdf12cec0499facc8ac69905ecc84d3925ddbc0a", + "docs/validation/touch-search/spacing-control-calibration.json": "c0cb40092103238cb68983fd1f5ad649aaf56e7a45856339cec82b8faa7407a5", + "docs/validation/touch-search/summary.json": "7ecad79b7ea49ef1be821d86d01e452cd4f5a4c3deebdaffddca1557d03a9451" + } +} diff --git a/docs/validation/touch-search/checks/candidate-v1/build-retry-v2.log b/docs/validation/touch-search/checks/candidate-v1/build-retry-v2.log new file mode 100644 index 00000000..ba29801e --- /dev/null +++ b/docs/validation/touch-search/checks/candidate-v1/build-retry-v2.log @@ -0,0 +1,139 @@ +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.4.1/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation. +Daemon will be stopped at the end of the build +> Task :app:preBuild UP-TO-DATE +> Task :app:preDebugBuild UP-TO-DATE +> Task :app:mergeDebugNativeDebugMetadata NO-SOURCE +> Task :app:generateDebugBuildConfig UP-TO-DATE +> Task :app:generateDebugResources UP-TO-DATE +> Task :app:packageDebugResources UP-TO-DATE +> Task :app:processDebugNavigationResources UP-TO-DATE +> Task :app:parseDebugLocalResources UP-TO-DATE +> Task :app:generateDebugRFile UP-TO-DATE +> Task :app:compileDebugKotlin +w: file:///app/src/main/java/dev/tinycast/android/CalculatorActions.kt:13:46 Non-public primary constructor is exposed via the generated 'copy()' method of the 'data' class. + +The generated 'copy()' will change its visibility in future releases. + +To suppress the warning do one of the following: +- Annotate the data class with the '@ConsistentCopyVisibility' annotation. +- Use the '-Xconsistent-data-class-copy-visibility' compiler flag. +- Annotate the data class with the '@ExposedCopyVisibility' annotation + (Discouraged, but can be used to keep binary compatibility). + +To learn more, see the documentation of the '@ConsistentCopyVisibility' and '@ExposedCopyVisibility' annotations. + +This will become an error in language version 2.3. +w: file:///app/src/main/java/dev/tinycast/android/EmojiUi.kt:99:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteMenus.kt:325:43 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteMenus.kt:389:63 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteUi.kt:185:51 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteUi.kt:262:51 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/SettingsActivity.kt:50:205 'static field SOFT_INPUT_ADJUST_RESIZE: Int' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionFormPickerBackdrop.kt:25:128 'static field SOFT_INPUT_ADJUST_RESIZE: Int' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionGridImages.kt:30:118 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'Any?'. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionUi.kt:215:43 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionUi.kt:229:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. + +> Task :app:javaPreCompileDebug +> Task :app:compileDebugJavaWithJavac +> Task :app:generateDebugAssets UP-TO-DATE +> Task :app:mergeDebugAssets +> Task :app:compressDebugAssets +> Task :app:generateDebugGlobalSynthetics +> Task :app:processDebugJavaRes +> Task :app:mergeDebugJavaResource +> Task :app:checkDebugDuplicateClasses +> Task :app:desugarDebugFileDependencies +> Task :app:mergeExtDexDebug +> Task :app:mergeLibDexDebug +> Task :app:checkDebugAarMetadata +> Task :app:mapDebugSourceSetPaths +> Task :app:compileDebugNavigationResources +> Task :app:mergeDebugResources +> Task :app:createDebugCompatibleScreenManifests +> Task :app:extractDeepLinksDebug +> Task :app:processDebugMainManifest +> Task :app:processDebugManifest +> Task :app:processDebugManifestForPackage +> Task :app:processDebugResources +> Task :app:dexBuilderDebug +> Task :app:mergeProjectDexDebug +> Task :app:mergeDebugJniLibFolders +> Task :app:mergeDebugNativeLibs + +> Task :app:stripDebugDebugSymbols +Unable to strip the following libraries, packaging them as they are: libandroidx.graphics.path.so. Run with --info option to learn more. + +> Task :app:validateSigningDebug +> Task :app:writeDebugAppMetadata +> Task :app:writeDebugSigningConfigVersions +> Task :app:packageDebug +> Task :app:createDebugApkListingFileRedirect +> Task :app:assembleDebug +> Task :app:bundleDebugClassesToCompileJar +> Task :app:preDebugAndroidTestBuild SKIPPED +> Task :app:processDebugAndroidTestManifest +> Task :app:generateDebugAndroidTestBuildConfig +> Task :app:generateDebugAndroidTestResources +> Task :app:packageDebugAndroidTestResources +> Task :app:processDebugAndroidTestNavigationResources +> Task :app:parseDebugAndroidTestLocalResources +> Task :app:generateDebugAndroidTestRFile +> Task :app:compileDebugAndroidTestKotlin +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:171:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:176:48 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ExtensionGridDeviceTest.kt:544:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/FrozenBundleWorkflowDeviceTest.kt:261:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ReviewedTextDeviceTest.kt:629:60 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt:81:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. + +> Task :app:javaPreCompileDebugAndroidTest +> Task :app:compileDebugAndroidTestJavaWithJavac +> Task :app:generateDebugAndroidTestAssets UP-TO-DATE +> Task :app:mergeDebugAndroidTestAssets +> Task :app:compressDebugAndroidTestAssets +> Task :app:generateDebugAndroidTestGlobalSynthetics +> Task :app:processDebugAndroidTestJavaRes +> Task :app:mergeDebugAndroidTestJavaResource +> Task :app:checkDebugAndroidTestDuplicateClasses +> Task :app:desugarDebugAndroidTestFileDependencies +> Task :app:mergeExtDexDebugAndroidTest +> Task :app:mergeLibDexDebugAndroidTest +> Task :app:checkDebugAndroidTestAarMetadata +> Task :app:mapDebugAndroidTestSourceSetPaths +> Task :app:compileDebugAndroidTestNavigationResources +> Task :app:mergeDebugAndroidTestResources +> Task :app:processDebugAndroidTestResources +> Task :app:dexBuilderDebugAndroidTest +> Task :app:mergeProjectDexDebugAndroidTest +> Task :app:mergeDebugAndroidTestJniLibFolders +> Task :app:mergeDebugAndroidTestNativeLibs NO-SOURCE +> Task :app:stripDebugAndroidTestDebugSymbols NO-SOURCE +> Task :app:validateSigningDebugAndroidTest +> Task :app:writeDebugAndroidTestSigningConfigVersions +> Task :app:packageDebugAndroidTest +> Task :app:createDebugAndroidTestApkListingFileRedirect +> Task :app:assembleDebugAndroidTest +> Task :app:bundleDebugClassesToRuntimeJar +> Task :app:preDebugUnitTestBuild UP-TO-DATE +> Task :app:compileDebugUnitTestKotlin +> Task :app:javaPreCompileDebugUnitTest +> Task :app:compileDebugUnitTestJavaWithJavac NO-SOURCE +> Task :app:processDebugUnitTestJavaRes +> Task :app:testDebugUnitTest +> Task :app:generateDebugAndroidTestLintModel +> Task :app:extractProguardFiles +> Task :app:generateDebugLintReportModel +> Task :app:generateDebugUnitTestLintModel +> Task :app:lintAnalyzeDebug +> Task :app:lintAnalyzeDebugAndroidTest +> Task :app:lintAnalyzeDebugUnitTest + +> Task :app:lintReportDebug +Wrote HTML report to file:///app/build/reports/lint-results-debug.html + +> Task :app:lintDebug + +BUILD SUCCESSFUL in 12m 36s +84 actionable tasks: 78 executed, 6 up-to-date +Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.4.1/userguide/configuration_cache_enabling.html diff --git a/docs/validation/touch-search/checks/candidate-v1/build.log b/docs/validation/touch-search/checks/candidate-v1/build.log new file mode 100644 index 00000000..b18ad4ca --- /dev/null +++ b/docs/validation/touch-search/checks/candidate-v1/build.log @@ -0,0 +1,45 @@ +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.4.1/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation. +Daemon will be stopped at the end of the build +> Task :app:preBuild UP-TO-DATE +> Task :app:preDebugBuild UP-TO-DATE +> Task :app:mergeDebugNativeDebugMetadata NO-SOURCE +> Task :app:generateDebugBuildConfig +> Task :app:generateDebugResources +> Task :app:packageDebugResources +> Task :app:processDebugNavigationResources +> Task :app:parseDebugLocalResources +> Task :app:generateDebugRFile +> Task :app:compileDebugKotlin +e: error while writing /app/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/dev/tinycast/android/BackupCodec$WhenMappings.class (Permission denied) + +> Task :app:compileDebugKotlin FAILED + +FAILURE: Build failed with an exception. + +* What went wrong: +Execution failed for task ':app:compileDebugKotlin'. +> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction + > Compilation error. See log for more details + +* 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. + +BUILD FAILED in 3m 34s +7 actionable tasks: 7 executed + +FAILURE: Build failed with an exception. + +* What went wrong: +Could not update /.gradle/9.4.1/fileChanges/last-build.bin +> No space left on device + +* 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. + +BUILD FAILED in 3m 34s diff --git a/docs/validation/touch-search/checks/candidate-v2/benchmark-build.log b/docs/validation/touch-search/checks/candidate-v2/benchmark-build.log new file mode 100644 index 00000000..2e38072c --- /dev/null +++ b/docs/validation/touch-search/checks/candidate-v2/benchmark-build.log @@ -0,0 +1,143 @@ +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.4.1/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation. +Daemon will be stopped at the end of the build +> Task :app:preBuild UP-TO-DATE +> Task :app:preBenchmarkBuild UP-TO-DATE +> Task :app:mergeBenchmarkJniLibFolders +> Task :app:mergeBenchmarkNativeLibs + +> Task :app:stripBenchmarkDebugSymbols +Unable to strip the following libraries, packaging them as they are: libandroidx.graphics.path.so. Run with --info option to learn more. + +> Task :app:extractBenchmarkNativeSymbolTables +> Task :app:mergeBenchmarkNativeDebugMetadata NO-SOURCE +> Task :app:mergeBenchmarkArtProfile +> Task :app:desugarBenchmarkFileDependencies +> Task :app:generateBenchmarkBuildConfig +> Task :app:generateBenchmarkResources +> Task :app:packageBenchmarkResources +> Task :app:processBenchmarkNavigationResources +> Task :app:parseBenchmarkLocalResources +> Task :app:generateBenchmarkRFile +> Task :app:compileBenchmarkKotlin +w: file:///app/src/main/java/dev/tinycast/android/CalculatorActions.kt:13:46 Non-public primary constructor is exposed via the generated 'copy()' method of the 'data' class. + +The generated 'copy()' will change its visibility in future releases. + +To suppress the warning do one of the following: +- Annotate the data class with the '@ConsistentCopyVisibility' annotation. +- Use the '-Xconsistent-data-class-copy-visibility' compiler flag. +- Annotate the data class with the '@ExposedCopyVisibility' annotation + (Discouraged, but can be used to keep binary compatibility). + +To learn more, see the documentation of the '@ConsistentCopyVisibility' and '@ExposedCopyVisibility' annotations. + +This will become an error in language version 2.3. +w: file:///app/src/main/java/dev/tinycast/android/EmojiUi.kt:99:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteMenus.kt:325:43 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteMenus.kt:389:63 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteUi.kt:185:51 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteUi.kt:262:51 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/SettingsActivity.kt:50:205 'static field SOFT_INPUT_ADJUST_RESIZE: Int' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionFormPickerBackdrop.kt:25:128 'static field SOFT_INPUT_ADJUST_RESIZE: Int' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionGridImages.kt:30:118 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'Any?'. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionUi.kt:215:43 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionUi.kt:229:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. + +> Task :app:javaPreCompileBenchmark +> Task :app:compileBenchmarkJavaWithJavac +> Task :app:checkBenchmarkAarMetadata +> Task :app:mapBenchmarkSourceSetPaths +> Task :app:compileBenchmarkNavigationResources +> Task :app:mergeBenchmarkResources +> Task :app:createBenchmarkCompatibleScreenManifests +> Task :app:extractDeepLinksBenchmark +> Task :app:processBenchmarkMainManifest +> Task :app:processBenchmarkManifest +> Task :app:processBenchmarkManifestForPackage +> Task :app:processBenchmarkResources +> Task :app:dexBuilderBenchmark +> Task :app:mergeBenchmarkGlobalSynthetics +> Task :app:checkBenchmarkDuplicateClasses +> Task :app:mergeBenchmarkStartupProfile +> Task :app:mergeExtDexBenchmark +> Task :app:mergeDexBenchmark +> Task :app:compileBenchmarkArtProfile +> Task :app:generateBenchmarkAssets UP-TO-DATE +> Task :app:mergeBenchmarkAssets +> Task :app:compressBenchmarkAssets +> Task :app:extractBenchmarkVersionControlInfo +> Task :app:extractProguardFiles UP-TO-DATE +> Task :app:generateBenchmarkLintVitalReportModel +> Task :app:lintVitalAnalyzeBenchmark +> Task :app:lintVitalReportBenchmark SKIPPED +> Task :app:lintVitalBenchmark SKIPPED +> Task :app:processBenchmarkJavaRes +> Task :app:mergeBenchmarkJavaResource +> Task :app:optimizeBenchmarkResources +> Task :app:collectBenchmarkDependencies +> Task :app:sdkBenchmarkDependencyData +> Task :app:validateSigningBenchmark +> Task :app:writeBenchmarkAppMetadata +> Task :app:writeBenchmarkSigningConfigVersions +> Task :app:packageBenchmark +> Task :app:createBenchmarkApkListingFileRedirect +> Task :app:assembleBenchmark +> Task :app:bundleBenchmarkClassesToCompileJar +> Task :app:preBenchmarkAndroidTestBuild SKIPPED +> Task :app:processBenchmarkAndroidTestManifest +> Task :app:generateBenchmarkAndroidTestBuildConfig +> Task :app:generateBenchmarkAndroidTestResources +> Task :app:packageBenchmarkAndroidTestResources +> Task :app:processBenchmarkAndroidTestNavigationResources +> Task :app:parseBenchmarkAndroidTestLocalResources +> Task :app:generateBenchmarkAndroidTestRFile +> Task :app:compileBenchmarkAndroidTestKotlin +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:171:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:176:48 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ExtensionGridDeviceTest.kt:544:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/FrozenBundleWorkflowDeviceTest.kt:261:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ReviewedTextDeviceTest.kt:629:60 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt:82:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. + +> Task :app:javaPreCompileBenchmarkAndroidTest +> Task :app:compileBenchmarkAndroidTestJavaWithJavac +> Task :app:generateBenchmarkAndroidTestAssets UP-TO-DATE +> Task :app:mergeBenchmarkAndroidTestAssets +> Task :app:compressBenchmarkAndroidTestAssets +> Task :app:desugarBenchmarkAndroidTestFileDependencies +> Task :app:checkBenchmarkAndroidTestAarMetadata +> Task :app:mapBenchmarkAndroidTestSourceSetPaths +> Task :app:compileBenchmarkAndroidTestNavigationResources +> Task :app:mergeBenchmarkAndroidTestResources +> Task :app:processBenchmarkAndroidTestResources +> Task :app:dexBuilderBenchmarkAndroidTest +> Task :app:mergeBenchmarkAndroidTestGlobalSynthetics +> Task :app:processBenchmarkAndroidTestJavaRes +> Task :app:mergeBenchmarkAndroidTestJavaResource +> Task :app:checkBenchmarkAndroidTestDuplicateClasses +> Task :app:mergeExtDexBenchmarkAndroidTest +> Task :app:mergeDexBenchmarkAndroidTest +> Task :app:mergeBenchmarkAndroidTestJniLibFolders +> Task :app:mergeBenchmarkAndroidTestNativeLibs NO-SOURCE +> Task :app:stripBenchmarkAndroidTestDebugSymbols NO-SOURCE +> Task :app:validateSigningBenchmarkAndroidTest +> Task :app:writeBenchmarkAndroidTestSigningConfigVersions +> Task :app:packageBenchmarkAndroidTest +> Task :app:createBenchmarkAndroidTestApkListingFileRedirect +> Task :app:assembleBenchmarkAndroidTest +> Task :app:generateBenchmarkAndroidTestLintModel +> Task :app:generateBenchmarkLintReportModel +> Task :app:preBenchmarkUnitTestBuild UP-TO-DATE +> Task :app:generateBenchmarkUnitTestLintModel +> Task :app:lintAnalyzeBenchmark +> Task :app:lintAnalyzeBenchmarkAndroidTest +> Task :app:lintAnalyzeBenchmarkUnitTest + +> Task :app:lintReportBenchmark +Wrote HTML report to file:///app/build/reports/lint-results-benchmark.html + +> Task :app:lintBenchmark + +BUILD SUCCESSFUL in 10m 58s +87 actionable tasks: 86 executed, 1 up-to-date +Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.4.1/userguide/configuration_cache_enabling.html diff --git a/docs/validation/touch-search/checks/candidate-v2/build.log b/docs/validation/touch-search/checks/candidate-v2/build.log new file mode 100644 index 00000000..f6a5617d --- /dev/null +++ b/docs/validation/touch-search/checks/candidate-v2/build.log @@ -0,0 +1,136 @@ +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.4.1/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation. +Daemon will be stopped at the end of the build +> Task :app:preBuild UP-TO-DATE +> Task :app:preDebugBuild UP-TO-DATE +> Task :app:mergeDebugNativeDebugMetadata NO-SOURCE +> Task :app:generateDebugBuildConfig +> Task :app:generateDebugResources UP-TO-DATE +> Task :app:packageDebugResources UP-TO-DATE +> Task :app:processDebugNavigationResources +> Task :app:parseDebugLocalResources UP-TO-DATE +> Task :app:generateDebugRFile UP-TO-DATE +> Task :app:compileDebugKotlin +w: file:///app/src/main/java/dev/tinycast/android/CalculatorActions.kt:13:46 Non-public primary constructor is exposed via the generated 'copy()' method of the 'data' class. + +The generated 'copy()' will change its visibility in future releases. + +To suppress the warning do one of the following: +- Annotate the data class with the '@ConsistentCopyVisibility' annotation. +- Use the '-Xconsistent-data-class-copy-visibility' compiler flag. +- Annotate the data class with the '@ExposedCopyVisibility' annotation + (Discouraged, but can be used to keep binary compatibility). + +To learn more, see the documentation of the '@ConsistentCopyVisibility' and '@ExposedCopyVisibility' annotations. + +This will become an error in language version 2.3. +w: file:///app/src/main/java/dev/tinycast/android/EmojiUi.kt:99:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteMenus.kt:325:43 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteMenus.kt:389:63 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteUi.kt:185:51 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteUi.kt:262:51 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/SettingsActivity.kt:50:205 'static field SOFT_INPUT_ADJUST_RESIZE: Int' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionFormPickerBackdrop.kt:25:128 'static field SOFT_INPUT_ADJUST_RESIZE: Int' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionGridImages.kt:30:118 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'Any?'. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionUi.kt:215:43 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionUi.kt:229:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. + +> Task :app:javaPreCompileDebug UP-TO-DATE +> Task :app:compileDebugJavaWithJavac +> Task :app:generateDebugAssets UP-TO-DATE +> Task :app:mergeDebugAssets UP-TO-DATE +> Task :app:compressDebugAssets UP-TO-DATE +> Task :app:generateDebugGlobalSynthetics UP-TO-DATE +> Task :app:processDebugJavaRes UP-TO-DATE +> Task :app:mergeDebugJavaResource UP-TO-DATE +> Task :app:checkDebugDuplicateClasses UP-TO-DATE +> Task :app:desugarDebugFileDependencies UP-TO-DATE +> Task :app:mergeExtDexDebug UP-TO-DATE +> Task :app:mergeLibDexDebug UP-TO-DATE +> Task :app:checkDebugAarMetadata UP-TO-DATE +> Task :app:mapDebugSourceSetPaths UP-TO-DATE +> Task :app:compileDebugNavigationResources UP-TO-DATE +> Task :app:mergeDebugResources UP-TO-DATE +> Task :app:createDebugCompatibleScreenManifests UP-TO-DATE +> Task :app:extractDeepLinksDebug +> Task :app:processDebugMainManifest +> Task :app:processDebugManifest +> Task :app:processDebugManifestForPackage +> Task :app:processDebugResources +> Task :app:dexBuilderDebug +> Task :app:mergeProjectDexDebug +> Task :app:mergeDebugJniLibFolders UP-TO-DATE +> Task :app:mergeDebugNativeLibs UP-TO-DATE +> Task :app:stripDebugDebugSymbols UP-TO-DATE +> Task :app:validateSigningDebug UP-TO-DATE +> Task :app:writeDebugAppMetadata UP-TO-DATE +> Task :app:writeDebugSigningConfigVersions UP-TO-DATE +> Task :app:packageDebug +> Task :app:createDebugApkListingFileRedirect UP-TO-DATE +> Task :app:assembleDebug +> Task :app:bundleDebugClassesToCompileJar +> Task :app:preDebugAndroidTestBuild SKIPPED +> Task :app:processDebugAndroidTestManifest +> Task :app:generateDebugAndroidTestBuildConfig +> Task :app:generateDebugAndroidTestResources UP-TO-DATE +> Task :app:packageDebugAndroidTestResources UP-TO-DATE +> Task :app:processDebugAndroidTestNavigationResources +> Task :app:parseDebugAndroidTestLocalResources UP-TO-DATE +> Task :app:generateDebugAndroidTestRFile UP-TO-DATE +> Task :app:compileDebugAndroidTestKotlin +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:171:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:176:48 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ExtensionGridDeviceTest.kt:544:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/FrozenBundleWorkflowDeviceTest.kt:261:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ReviewedTextDeviceTest.kt:629:60 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt:82:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. + +> Task :app:javaPreCompileDebugAndroidTest UP-TO-DATE +> Task :app:compileDebugAndroidTestJavaWithJavac +> Task :app:generateDebugAndroidTestAssets UP-TO-DATE +> Task :app:mergeDebugAndroidTestAssets UP-TO-DATE +> Task :app:compressDebugAndroidTestAssets UP-TO-DATE +> Task :app:generateDebugAndroidTestGlobalSynthetics UP-TO-DATE +> Task :app:processDebugAndroidTestJavaRes UP-TO-DATE +> Task :app:mergeDebugAndroidTestJavaResource UP-TO-DATE +> Task :app:checkDebugAndroidTestDuplicateClasses UP-TO-DATE +> Task :app:desugarDebugAndroidTestFileDependencies UP-TO-DATE +> Task :app:mergeExtDexDebugAndroidTest UP-TO-DATE +> Task :app:mergeLibDexDebugAndroidTest UP-TO-DATE +> Task :app:checkDebugAndroidTestAarMetadata UP-TO-DATE +> Task :app:mapDebugAndroidTestSourceSetPaths UP-TO-DATE +> Task :app:compileDebugAndroidTestNavigationResources UP-TO-DATE +> Task :app:mergeDebugAndroidTestResources UP-TO-DATE +> Task :app:processDebugAndroidTestResources UP-TO-DATE +> Task :app:dexBuilderDebugAndroidTest +> Task :app:mergeProjectDexDebugAndroidTest +> Task :app:mergeDebugAndroidTestJniLibFolders UP-TO-DATE +> Task :app:mergeDebugAndroidTestNativeLibs NO-SOURCE +> Task :app:stripDebugAndroidTestDebugSymbols NO-SOURCE +> Task :app:validateSigningDebugAndroidTest UP-TO-DATE +> Task :app:writeDebugAndroidTestSigningConfigVersions UP-TO-DATE +> Task :app:packageDebugAndroidTest +> Task :app:createDebugAndroidTestApkListingFileRedirect UP-TO-DATE +> Task :app:assembleDebugAndroidTest +> Task :app:bundleDebugClassesToRuntimeJar +> Task :app:preDebugUnitTestBuild UP-TO-DATE +> Task :app:compileDebugUnitTestKotlin +> Task :app:javaPreCompileDebugUnitTest UP-TO-DATE +> Task :app:compileDebugUnitTestJavaWithJavac NO-SOURCE +> Task :app:processDebugUnitTestJavaRes UP-TO-DATE +> Task :app:testDebugUnitTest +> Task :app:generateDebugAndroidTestLintModel +> Task :app:extractProguardFiles UP-TO-DATE +> Task :app:generateDebugLintReportModel +> Task :app:generateDebugUnitTestLintModel +> Task :app:lintAnalyzeDebug +> Task :app:lintAnalyzeDebugAndroidTest +> Task :app:lintAnalyzeDebugUnitTest + +> Task :app:lintReportDebug +Wrote HTML report to file:///app/build/reports/lint-results-debug.html + +> Task :app:lintDebug + +BUILD SUCCESSFUL in 8m 36s +84 actionable tasks: 32 executed, 52 up-to-date +Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.4.1/userguide/configuration_cache_enabling.html diff --git a/docs/validation/touch-search/checks/candidate-v3/build.log b/docs/validation/touch-search/checks/candidate-v3/build.log new file mode 100644 index 00000000..af2046b7 --- /dev/null +++ b/docs/validation/touch-search/checks/candidate-v3/build.log @@ -0,0 +1,95 @@ +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.4.1/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation. +Daemon will be stopped at the end of the build +> Task :app:preBuild UP-TO-DATE +> Task :app:preDebugBuild UP-TO-DATE +> Task :app:mergeDebugNativeDebugMetadata NO-SOURCE +> Task :app:generateDebugBuildConfig +> Task :app:generateDebugResources UP-TO-DATE +> Task :app:packageDebugResources UP-TO-DATE +> Task :app:processDebugNavigationResources +> Task :app:parseDebugLocalResources UP-TO-DATE +> Task :app:generateDebugRFile UP-TO-DATE +> Task :app:compileDebugKotlin +w: file:///app/src/main/java/dev/tinycast/android/CalculatorActions.kt:13:46 Non-public primary constructor is exposed via the generated 'copy()' method of the 'data' class. + +The generated 'copy()' will change its visibility in future releases. + +To suppress the warning do one of the following: +- Annotate the data class with the '@ConsistentCopyVisibility' annotation. +- Use the '-Xconsistent-data-class-copy-visibility' compiler flag. +- Annotate the data class with the '@ExposedCopyVisibility' annotation + (Discouraged, but can be used to keep binary compatibility). + +To learn more, see the documentation of the '@ConsistentCopyVisibility' and '@ExposedCopyVisibility' annotations. + +This will become an error in language version 2.3. +w: file:///app/src/main/java/dev/tinycast/android/EmojiUi.kt:99:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteMenus.kt:325:43 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteMenus.kt:389:63 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteUi.kt:185:51 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteUi.kt:262:51 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/SettingsActivity.kt:50:205 'static field SOFT_INPUT_ADJUST_RESIZE: Int' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionFormPickerBackdrop.kt:25:128 'static field SOFT_INPUT_ADJUST_RESIZE: Int' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionGridImages.kt:30:118 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'Any?'. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionUi.kt:215:43 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionUi.kt:229:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. + +> Task :app:javaPreCompileDebug UP-TO-DATE +> Task :app:compileDebugJavaWithJavac +> Task :app:generateDebugAssets UP-TO-DATE +> Task :app:mergeDebugAssets UP-TO-DATE +> Task :app:compressDebugAssets UP-TO-DATE +> Task :app:generateDebugGlobalSynthetics UP-TO-DATE +> Task :app:processDebugJavaRes UP-TO-DATE +> Task :app:mergeDebugJavaResource UP-TO-DATE +> Task :app:checkDebugDuplicateClasses UP-TO-DATE +> Task :app:desugarDebugFileDependencies UP-TO-DATE +> Task :app:mergeExtDexDebug UP-TO-DATE +> Task :app:mergeLibDexDebug UP-TO-DATE +> Task :app:checkDebugAarMetadata UP-TO-DATE +> Task :app:mapDebugSourceSetPaths UP-TO-DATE +> Task :app:compileDebugNavigationResources UP-TO-DATE +> Task :app:mergeDebugResources UP-TO-DATE +> Task :app:createDebugCompatibleScreenManifests UP-TO-DATE +> Task :app:extractDeepLinksDebug +> Task :app:processDebugMainManifest +> Task :app:processDebugManifest +> Task :app:processDebugManifestForPackage +> Task :app:processDebugResources +> Task :app:dexBuilderDebug +> Task :app:mergeProjectDexDebug +> Task :app:mergeDebugJniLibFolders UP-TO-DATE +> Task :app:mergeDebugNativeLibs UP-TO-DATE +> Task :app:stripDebugDebugSymbols UP-TO-DATE +> Task :app:validateSigningDebug UP-TO-DATE +> Task :app:writeDebugAppMetadata UP-TO-DATE +> Task :app:writeDebugSigningConfigVersions UP-TO-DATE +> Task :app:packageDebug +> Task :app:createDebugApkListingFileRedirect UP-TO-DATE +> Task :app:assembleDebug +> Task :app:bundleDebugClassesToRuntimeJar +> Task :app:bundleDebugClassesToCompileJar +> Task :app:preDebugUnitTestBuild UP-TO-DATE +> Task :app:compileDebugUnitTestKotlin +> Task :app:javaPreCompileDebugUnitTest UP-TO-DATE +> Task :app:compileDebugUnitTestJavaWithJavac NO-SOURCE +> Task :app:processDebugUnitTestJavaRes UP-TO-DATE +> Task :app:testDebugUnitTest +> Task :app:preDebugAndroidTestBuild SKIPPED +> Task :app:generateDebugAndroidTestLintModel +> Task :app:extractProguardFiles UP-TO-DATE +> Task :app:generateDebugLintReportModel +> Task :app:generateDebugUnitTestLintModel +> Task :app:lintAnalyzeDebug + +FAILURE: Build failed with an exception. + +* What went wrong: +Gradle build daemon has been stopped: stop command received + +* 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. +> Task :app:lintAnalyzeDebugAndroidTest diff --git a/docs/validation/touch-search/checks/candidate-v3/final-harness-and-benchmark.log b/docs/validation/touch-search/checks/candidate-v3/final-harness-and-benchmark.log new file mode 100644 index 00000000..ffc29389 --- /dev/null +++ b/docs/validation/touch-search/checks/candidate-v3/final-harness-and-benchmark.log @@ -0,0 +1,253 @@ +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.4.1/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation. +Daemon will be stopped at the end of the build +> Task :app:preBuild UP-TO-DATE +> Task :app:preDebugBuild UP-TO-DATE +> Task :app:mergeDebugNativeDebugMetadata NO-SOURCE +> Task :app:generateDebugBuildConfig UP-TO-DATE +> Task :app:generateDebugResources UP-TO-DATE +> Task :app:packageDebugResources UP-TO-DATE +> Task :app:processDebugNavigationResources UP-TO-DATE +> Task :app:parseDebugLocalResources UP-TO-DATE +> Task :app:generateDebugRFile UP-TO-DATE +> Task :app:compileDebugKotlin UP-TO-DATE +> Task :app:javaPreCompileDebug UP-TO-DATE +> Task :app:compileDebugJavaWithJavac UP-TO-DATE +> Task :app:generateDebugAssets UP-TO-DATE +> Task :app:mergeDebugAssets UP-TO-DATE +> Task :app:compressDebugAssets UP-TO-DATE +> Task :app:generateDebugGlobalSynthetics UP-TO-DATE +> Task :app:processDebugJavaRes UP-TO-DATE +> Task :app:mergeDebugJavaResource UP-TO-DATE +> Task :app:checkDebugDuplicateClasses UP-TO-DATE +> Task :app:desugarDebugFileDependencies UP-TO-DATE +> Task :app:mergeExtDexDebug UP-TO-DATE +> Task :app:mergeLibDexDebug UP-TO-DATE +> Task :app:checkDebugAarMetadata UP-TO-DATE +> Task :app:mapDebugSourceSetPaths UP-TO-DATE +> Task :app:compileDebugNavigationResources UP-TO-DATE +> Task :app:mergeDebugResources UP-TO-DATE +> Task :app:createDebugCompatibleScreenManifests UP-TO-DATE +> Task :app:extractDeepLinksDebug UP-TO-DATE +> Task :app:processDebugMainManifest UP-TO-DATE +> Task :app:processDebugManifest UP-TO-DATE +> Task :app:processDebugManifestForPackage UP-TO-DATE +> Task :app:processDebugResources UP-TO-DATE +> Task :app:dexBuilderDebug UP-TO-DATE +> Task :app:mergeProjectDexDebug UP-TO-DATE +> Task :app:mergeDebugJniLibFolders UP-TO-DATE +> Task :app:mergeDebugNativeLibs UP-TO-DATE +> Task :app:stripDebugDebugSymbols UP-TO-DATE +> Task :app:validateSigningDebug UP-TO-DATE +> Task :app:writeDebugAppMetadata UP-TO-DATE +> Task :app:writeDebugSigningConfigVersions UP-TO-DATE +> Task :app:packageDebug UP-TO-DATE +> Task :app:createDebugApkListingFileRedirect UP-TO-DATE +> Task :app:assembleDebug UP-TO-DATE +> Task :app:bundleDebugClassesToCompileJar UP-TO-DATE +> Task :app:preDebugAndroidTestBuild SKIPPED +> Task :app:processDebugAndroidTestManifest +> Task :app:generateDebugAndroidTestBuildConfig +> Task :app:generateDebugAndroidTestResources UP-TO-DATE +> Task :app:packageDebugAndroidTestResources UP-TO-DATE +> Task :app:processDebugAndroidTestNavigationResources +> Task :app:parseDebugAndroidTestLocalResources UP-TO-DATE +> Task :app:generateDebugAndroidTestRFile UP-TO-DATE +> Task :app:compileDebugAndroidTestKotlin +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:171:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:176:48 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ExtensionGridDeviceTest.kt:544:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/FrozenBundleWorkflowDeviceTest.kt:261:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ReviewedTextDeviceTest.kt:629:60 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt:82:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. + +> Task :app:javaPreCompileDebugAndroidTest UP-TO-DATE +> Task :app:compileDebugAndroidTestJavaWithJavac +> Task :app:generateDebugAndroidTestAssets UP-TO-DATE +> Task :app:mergeDebugAndroidTestAssets UP-TO-DATE +> Task :app:compressDebugAndroidTestAssets UP-TO-DATE +> Task :app:generateDebugAndroidTestGlobalSynthetics UP-TO-DATE +> Task :app:processDebugAndroidTestJavaRes UP-TO-DATE +> Task :app:mergeDebugAndroidTestJavaResource UP-TO-DATE +> Task :app:checkDebugAndroidTestDuplicateClasses UP-TO-DATE +> Task :app:desugarDebugAndroidTestFileDependencies UP-TO-DATE +> Task :app:mergeExtDexDebugAndroidTest UP-TO-DATE +> Task :app:mergeLibDexDebugAndroidTest UP-TO-DATE +> Task :app:checkDebugAndroidTestAarMetadata UP-TO-DATE +> Task :app:mapDebugAndroidTestSourceSetPaths UP-TO-DATE +> Task :app:compileDebugAndroidTestNavigationResources UP-TO-DATE +> Task :app:mergeDebugAndroidTestResources UP-TO-DATE +> Task :app:processDebugAndroidTestResources UP-TO-DATE +> Task :app:dexBuilderDebugAndroidTest +> Task :app:mergeProjectDexDebugAndroidTest +> Task :app:mergeDebugAndroidTestJniLibFolders UP-TO-DATE +> Task :app:mergeDebugAndroidTestNativeLibs NO-SOURCE +> Task :app:stripDebugAndroidTestDebugSymbols NO-SOURCE +> Task :app:validateSigningDebugAndroidTest UP-TO-DATE +> Task :app:writeDebugAndroidTestSigningConfigVersions UP-TO-DATE +> Task :app:packageDebugAndroidTest +> Task :app:createDebugAndroidTestApkListingFileRedirect UP-TO-DATE +> Task :app:assembleDebugAndroidTest +> Task :app:bundleDebugClassesToRuntimeJar UP-TO-DATE +> Task :app:preDebugUnitTestBuild UP-TO-DATE +> Task :app:compileDebugUnitTestKotlin UP-TO-DATE +> Task :app:javaPreCompileDebugUnitTest UP-TO-DATE +> Task :app:compileDebugUnitTestJavaWithJavac NO-SOURCE +> Task :app:processDebugUnitTestJavaRes UP-TO-DATE +> Task :app:testDebugUnitTest UP-TO-DATE +> Task :app:generateDebugAndroidTestLintModel UP-TO-DATE +> Task :app:extractProguardFiles UP-TO-DATE +> Task :app:generateDebugLintReportModel UP-TO-DATE +> Task :app:generateDebugUnitTestLintModel UP-TO-DATE +> Task :app:lintAnalyzeDebug UP-TO-DATE +> Task :app:lintAnalyzeDebugAndroidTest +> Task :app:lintAnalyzeDebugUnitTest + +> Task :app:lintReportDebug +Wrote HTML report to file:///app/build/reports/lint-results-debug.html + +> Task :app:lintDebug + +BUILD SUCCESSFUL in 5m 46s +84 actionable tasks: 12 executed, 72 up-to-date +Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.4.1/userguide/configuration_cache_enabling.html +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.4.1/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation. +Daemon will be stopped at the end of the build +> Task :app:preBuild UP-TO-DATE +> Task :app:preBenchmarkBuild UP-TO-DATE +> Task :app:mergeBenchmarkJniLibFolders UP-TO-DATE +> Task :app:mergeBenchmarkNativeLibs UP-TO-DATE +> Task :app:stripBenchmarkDebugSymbols UP-TO-DATE +> Task :app:extractBenchmarkNativeSymbolTables UP-TO-DATE +> Task :app:mergeBenchmarkNativeDebugMetadata NO-SOURCE +> Task :app:mergeBenchmarkArtProfile UP-TO-DATE +> Task :app:desugarBenchmarkFileDependencies UP-TO-DATE +> Task :app:generateBenchmarkBuildConfig +> Task :app:generateBenchmarkResources UP-TO-DATE +> Task :app:packageBenchmarkResources UP-TO-DATE +> Task :app:processBenchmarkNavigationResources +> Task :app:parseBenchmarkLocalResources UP-TO-DATE +> Task :app:generateBenchmarkRFile UP-TO-DATE +> Task :app:compileBenchmarkKotlin +w: file:///app/src/main/java/dev/tinycast/android/CalculatorActions.kt:13:46 Non-public primary constructor is exposed via the generated 'copy()' method of the 'data' class. + +The generated 'copy()' will change its visibility in future releases. + +To suppress the warning do one of the following: +- Annotate the data class with the '@ConsistentCopyVisibility' annotation. +- Use the '-Xconsistent-data-class-copy-visibility' compiler flag. +- Annotate the data class with the '@ExposedCopyVisibility' annotation + (Discouraged, but can be used to keep binary compatibility). + +To learn more, see the documentation of the '@ConsistentCopyVisibility' and '@ExposedCopyVisibility' annotations. + +This will become an error in language version 2.3. +w: file:///app/src/main/java/dev/tinycast/android/EmojiUi.kt:99:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteMenus.kt:325:43 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteMenus.kt:389:63 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteUi.kt:185:51 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/PaletteUi.kt:262:51 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/SettingsActivity.kt:50:205 'static field SOFT_INPUT_ADJUST_RESIZE: Int' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionFormPickerBackdrop.kt:25:128 'static field SOFT_INPUT_ADJUST_RESIZE: Int' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionGridImages.kt:30:118 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type 'Any?'. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionUi.kt:215:43 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/main/java/dev/tinycast/android/extensions/ExtensionUi.kt:229:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. + +> Task :app:javaPreCompileBenchmark UP-TO-DATE +> Task :app:compileBenchmarkJavaWithJavac +> Task :app:checkBenchmarkAarMetadata UP-TO-DATE +> Task :app:mapBenchmarkSourceSetPaths UP-TO-DATE +> Task :app:compileBenchmarkNavigationResources UP-TO-DATE +> Task :app:mergeBenchmarkResources UP-TO-DATE +> Task :app:createBenchmarkCompatibleScreenManifests UP-TO-DATE +> Task :app:extractDeepLinksBenchmark +> Task :app:processBenchmarkMainManifest +> Task :app:processBenchmarkManifest +> Task :app:processBenchmarkManifestForPackage +> Task :app:processBenchmarkResources +> Task :app:dexBuilderBenchmark +> Task :app:mergeBenchmarkGlobalSynthetics UP-TO-DATE +> Task :app:checkBenchmarkDuplicateClasses UP-TO-DATE +> Task :app:mergeBenchmarkStartupProfile UP-TO-DATE +> Task :app:mergeExtDexBenchmark UP-TO-DATE +> Task :app:mergeDexBenchmark +> Task :app:compileBenchmarkArtProfile +> Task :app:generateBenchmarkAssets UP-TO-DATE +> Task :app:mergeBenchmarkAssets UP-TO-DATE +> Task :app:compressBenchmarkAssets UP-TO-DATE +> Task :app:extractBenchmarkVersionControlInfo UP-TO-DATE +> Task :app:extractProguardFiles UP-TO-DATE +> Task :app:generateBenchmarkLintVitalReportModel +> Task :app:lintVitalAnalyzeBenchmark +> Task :app:lintVitalReportBenchmark SKIPPED +> Task :app:lintVitalBenchmark SKIPPED +> Task :app:processBenchmarkJavaRes UP-TO-DATE +> Task :app:mergeBenchmarkJavaResource UP-TO-DATE +> Task :app:optimizeBenchmarkResources +> Task :app:collectBenchmarkDependencies UP-TO-DATE +> Task :app:sdkBenchmarkDependencyData UP-TO-DATE +> Task :app:validateSigningBenchmark UP-TO-DATE +> Task :app:writeBenchmarkAppMetadata UP-TO-DATE +> Task :app:writeBenchmarkSigningConfigVersions UP-TO-DATE +> Task :app:packageBenchmark +> Task :app:createBenchmarkApkListingFileRedirect UP-TO-DATE +> Task :app:assembleBenchmark +> Task :app:bundleBenchmarkClassesToCompileJar +> Task :app:preBenchmarkAndroidTestBuild SKIPPED +> Task :app:processBenchmarkAndroidTestManifest +> Task :app:generateBenchmarkAndroidTestBuildConfig +> Task :app:generateBenchmarkAndroidTestResources UP-TO-DATE +> Task :app:packageBenchmarkAndroidTestResources UP-TO-DATE +> Task :app:processBenchmarkAndroidTestNavigationResources +> Task :app:parseBenchmarkAndroidTestLocalResources UP-TO-DATE +> Task :app:generateBenchmarkAndroidTestRFile UP-TO-DATE + +> Task :app:compileBenchmarkAndroidTestKotlin +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:171:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:176:48 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ExtensionGridDeviceTest.kt:544:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/FrozenBundleWorkflowDeviceTest.kt:261:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ReviewedTextDeviceTest.kt:629:60 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt:82:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. + +> Task :app:javaPreCompileBenchmarkAndroidTest UP-TO-DATE +> Task :app:compileBenchmarkAndroidTestJavaWithJavac +> Task :app:generateBenchmarkAndroidTestAssets UP-TO-DATE +> Task :app:mergeBenchmarkAndroidTestAssets UP-TO-DATE +> Task :app:compressBenchmarkAndroidTestAssets UP-TO-DATE +> Task :app:desugarBenchmarkAndroidTestFileDependencies UP-TO-DATE +> Task :app:checkBenchmarkAndroidTestAarMetadata UP-TO-DATE +> Task :app:mapBenchmarkAndroidTestSourceSetPaths UP-TO-DATE +> Task :app:compileBenchmarkAndroidTestNavigationResources UP-TO-DATE +> Task :app:mergeBenchmarkAndroidTestResources UP-TO-DATE +> Task :app:processBenchmarkAndroidTestResources UP-TO-DATE +> Task :app:dexBuilderBenchmarkAndroidTest +> Task :app:mergeBenchmarkAndroidTestGlobalSynthetics UP-TO-DATE +> Task :app:processBenchmarkAndroidTestJavaRes UP-TO-DATE +> Task :app:mergeBenchmarkAndroidTestJavaResource UP-TO-DATE +> Task :app:checkBenchmarkAndroidTestDuplicateClasses UP-TO-DATE +> Task :app:mergeExtDexBenchmarkAndroidTest UP-TO-DATE +> Task :app:mergeDexBenchmarkAndroidTest +> Task :app:mergeBenchmarkAndroidTestJniLibFolders UP-TO-DATE +> Task :app:mergeBenchmarkAndroidTestNativeLibs NO-SOURCE +> Task :app:stripBenchmarkAndroidTestDebugSymbols NO-SOURCE +> Task :app:validateSigningBenchmarkAndroidTest UP-TO-DATE +> Task :app:writeBenchmarkAndroidTestSigningConfigVersions UP-TO-DATE +> Task :app:packageBenchmarkAndroidTest +> Task :app:createBenchmarkAndroidTestApkListingFileRedirect UP-TO-DATE +> Task :app:assembleBenchmarkAndroidTest +> Task :app:generateBenchmarkAndroidTestLintModel +> Task :app:generateBenchmarkLintReportModel +> Task :app:preBenchmarkUnitTestBuild UP-TO-DATE +> Task :app:generateBenchmarkUnitTestLintModel +> Task :app:lintAnalyzeBenchmark +> Task :app:lintAnalyzeBenchmarkAndroidTest +> Task :app:lintAnalyzeBenchmarkUnitTest + +> Task :app:lintReportBenchmark +Wrote HTML report to file:///app/build/reports/lint-results-benchmark.html + +> Task :app:lintBenchmark + +BUILD SUCCESSFUL in 5m 24s +87 actionable tasks: 33 executed, 54 up-to-date +Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.4.1/userguide/configuration_cache_enabling.html diff --git a/docs/validation/touch-search/checks/diagnostic-harness-v6/build.log b/docs/validation/touch-search/checks/diagnostic-harness-v6/build.log new file mode 100644 index 00000000..e5242132 --- /dev/null +++ b/docs/validation/touch-search/checks/diagnostic-harness-v6/build.log @@ -0,0 +1,73 @@ +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.4.1/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation. +Daemon will be stopped at the end of the build +> Task :app:preBuild UP-TO-DATE +> Task :app:preDebugBuild UP-TO-DATE +> Task :app:generateDebugBuildConfig UP-TO-DATE +> Task :app:generateDebugResources UP-TO-DATE +> Task :app:packageDebugResources UP-TO-DATE +> Task :app:processDebugNavigationResources UP-TO-DATE +> Task :app:parseDebugLocalResources UP-TO-DATE +> Task :app:generateDebugRFile UP-TO-DATE +> Task :app:compileDebugKotlin UP-TO-DATE +> Task :app:javaPreCompileDebug UP-TO-DATE +> Task :app:compileDebugJavaWithJavac UP-TO-DATE +> Task :app:checkDebugAarMetadata UP-TO-DATE +> Task :app:mapDebugSourceSetPaths UP-TO-DATE +> Task :app:compileDebugNavigationResources UP-TO-DATE +> Task :app:mergeDebugResources UP-TO-DATE +> Task :app:createDebugCompatibleScreenManifests UP-TO-DATE +> Task :app:extractDeepLinksDebug UP-TO-DATE +> Task :app:processDebugMainManifest UP-TO-DATE +> Task :app:processDebugManifest UP-TO-DATE +> Task :app:processDebugManifestForPackage UP-TO-DATE +> Task :app:processDebugResources UP-TO-DATE +> Task :app:bundleDebugClassesToCompileJar UP-TO-DATE +> Task :app:preDebugAndroidTestBuild SKIPPED +> Task :app:processDebugAndroidTestManifest UP-TO-DATE +> Task :app:generateDebugAndroidTestBuildConfig UP-TO-DATE +> Task :app:generateDebugAndroidTestResources UP-TO-DATE +> Task :app:packageDebugAndroidTestResources UP-TO-DATE +> Task :app:processDebugAndroidTestNavigationResources UP-TO-DATE +> Task :app:parseDebugAndroidTestLocalResources UP-TO-DATE +> Task :app:generateDebugAndroidTestRFile UP-TO-DATE +> Task :app:compileDebugAndroidTestKotlin +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:171:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:176:48 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ExtensionGridDeviceTest.kt:544:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/FrozenBundleWorkflowDeviceTest.kt:261:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ReviewedTextDeviceTest.kt:629:60 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt:82:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. + +> Task :app:javaPreCompileDebugAndroidTest UP-TO-DATE +> Task :app:compileDebugAndroidTestJavaWithJavac UP-TO-DATE +> Task :app:generateDebugAndroidTestAssets UP-TO-DATE +> Task :app:mergeDebugAndroidTestAssets UP-TO-DATE +> Task :app:compressDebugAndroidTestAssets UP-TO-DATE +> Task :app:generateDebugAndroidTestGlobalSynthetics UP-TO-DATE +> Task :app:processDebugAndroidTestJavaRes UP-TO-DATE +> Task :app:mergeDebugAndroidTestJavaResource UP-TO-DATE +> Task :app:checkDebugAndroidTestDuplicateClasses UP-TO-DATE +> Task :app:desugarDebugAndroidTestFileDependencies UP-TO-DATE +> Task :app:mergeExtDexDebugAndroidTest UP-TO-DATE +> Task :app:mergeLibDexDebugAndroidTest UP-TO-DATE +> Task :app:checkDebugAndroidTestAarMetadata UP-TO-DATE +> Task :app:mapDebugAndroidTestSourceSetPaths UP-TO-DATE +> Task :app:compileDebugAndroidTestNavigationResources UP-TO-DATE +> Task :app:mergeDebugAndroidTestResources UP-TO-DATE +> Task :app:processDebugAndroidTestResources UP-TO-DATE +> Task :app:dexBuilderDebugAndroidTest +> Task :app:mergeProjectDexDebugAndroidTest +> Task :app:mergeDebugAndroidTestJniLibFolders UP-TO-DATE +> Task :app:mergeDebugJniLibFolders UP-TO-DATE +> Task :app:mergeDebugNativeLibs UP-TO-DATE +> Task :app:mergeDebugAndroidTestNativeLibs NO-SOURCE +> Task :app:stripDebugAndroidTestDebugSymbols NO-SOURCE +> Task :app:validateSigningDebugAndroidTest UP-TO-DATE +> Task :app:writeDebugAndroidTestSigningConfigVersions UP-TO-DATE +> Task :app:packageDebugAndroidTest +> Task :app:createDebugAndroidTestApkListingFileRedirect UP-TO-DATE +> Task :app:assembleDebugAndroidTest + +BUILD SUCCESSFUL in 1m 40s +53 actionable tasks: 4 executed, 49 up-to-date +Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.4.1/userguide/configuration_cache_enabling.html diff --git a/docs/validation/touch-search/checks/final-harness-v7/build.log b/docs/validation/touch-search/checks/final-harness-v7/build.log new file mode 100644 index 00000000..250fa259 --- /dev/null +++ b/docs/validation/touch-search/checks/final-harness-v7/build.log @@ -0,0 +1,73 @@ +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.4.1/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation. +Daemon will be stopped at the end of the build +> Task :app:preBuild UP-TO-DATE +> Task :app:preDebugBuild UP-TO-DATE +> Task :app:generateDebugBuildConfig UP-TO-DATE +> Task :app:generateDebugResources UP-TO-DATE +> Task :app:packageDebugResources UP-TO-DATE +> Task :app:processDebugNavigationResources UP-TO-DATE +> Task :app:parseDebugLocalResources UP-TO-DATE +> Task :app:generateDebugRFile UP-TO-DATE +> Task :app:compileDebugKotlin UP-TO-DATE +> Task :app:javaPreCompileDebug UP-TO-DATE +> Task :app:compileDebugJavaWithJavac UP-TO-DATE +> Task :app:checkDebugAarMetadata UP-TO-DATE +> Task :app:mapDebugSourceSetPaths UP-TO-DATE +> Task :app:compileDebugNavigationResources UP-TO-DATE +> Task :app:mergeDebugResources UP-TO-DATE +> Task :app:createDebugCompatibleScreenManifests UP-TO-DATE +> Task :app:extractDeepLinksDebug UP-TO-DATE +> Task :app:processDebugMainManifest UP-TO-DATE +> Task :app:processDebugManifest UP-TO-DATE +> Task :app:processDebugManifestForPackage UP-TO-DATE +> Task :app:processDebugResources UP-TO-DATE +> Task :app:bundleDebugClassesToCompileJar UP-TO-DATE +> Task :app:preDebugAndroidTestBuild SKIPPED +> Task :app:processDebugAndroidTestManifest UP-TO-DATE +> Task :app:generateDebugAndroidTestBuildConfig UP-TO-DATE +> Task :app:generateDebugAndroidTestResources UP-TO-DATE +> Task :app:packageDebugAndroidTestResources UP-TO-DATE +> Task :app:processDebugAndroidTestNavigationResources UP-TO-DATE +> Task :app:parseDebugAndroidTestLocalResources UP-TO-DATE +> Task :app:generateDebugAndroidTestRFile UP-TO-DATE +> Task :app:compileDebugAndroidTestKotlin +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:171:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:176:48 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ExtensionGridDeviceTest.kt:544:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/FrozenBundleWorkflowDeviceTest.kt:261:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ReviewedTextDeviceTest.kt:629:60 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt:82:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. + +> Task :app:javaPreCompileDebugAndroidTest UP-TO-DATE +> Task :app:compileDebugAndroidTestJavaWithJavac UP-TO-DATE +> Task :app:generateDebugAndroidTestAssets UP-TO-DATE +> Task :app:mergeDebugAndroidTestAssets UP-TO-DATE +> Task :app:compressDebugAndroidTestAssets UP-TO-DATE +> Task :app:generateDebugAndroidTestGlobalSynthetics UP-TO-DATE +> Task :app:processDebugAndroidTestJavaRes UP-TO-DATE +> Task :app:mergeDebugAndroidTestJavaResource UP-TO-DATE +> Task :app:checkDebugAndroidTestDuplicateClasses UP-TO-DATE +> Task :app:desugarDebugAndroidTestFileDependencies UP-TO-DATE +> Task :app:mergeExtDexDebugAndroidTest UP-TO-DATE +> Task :app:mergeLibDexDebugAndroidTest UP-TO-DATE +> Task :app:checkDebugAndroidTestAarMetadata UP-TO-DATE +> Task :app:mapDebugAndroidTestSourceSetPaths UP-TO-DATE +> Task :app:compileDebugAndroidTestNavigationResources UP-TO-DATE +> Task :app:mergeDebugAndroidTestResources UP-TO-DATE +> Task :app:processDebugAndroidTestResources UP-TO-DATE +> Task :app:dexBuilderDebugAndroidTest +> Task :app:mergeProjectDexDebugAndroidTest +> Task :app:mergeDebugAndroidTestJniLibFolders UP-TO-DATE +> Task :app:mergeDebugJniLibFolders UP-TO-DATE +> Task :app:mergeDebugNativeLibs UP-TO-DATE +> Task :app:mergeDebugAndroidTestNativeLibs NO-SOURCE +> Task :app:stripDebugAndroidTestDebugSymbols NO-SOURCE +> Task :app:validateSigningDebugAndroidTest UP-TO-DATE +> Task :app:writeDebugAndroidTestSigningConfigVersions UP-TO-DATE +> Task :app:packageDebugAndroidTest +> Task :app:createDebugAndroidTestApkListingFileRedirect UP-TO-DATE +> Task :app:assembleDebugAndroidTest + +BUILD SUCCESSFUL in 1m 6s +53 actionable tasks: 4 executed, 49 up-to-date +Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.4.1/userguide/configuration_cache_enabling.html diff --git a/docs/validation/touch-search/checks/final-harness-v7/host-checks.log b/docs/validation/touch-search/checks/final-harness-v7/host-checks.log new file mode 100644 index 00000000..4d08b2f3 --- /dev/null +++ b/docs/validation/touch-search/checks/final-harness-v7/host-checks.log @@ -0,0 +1,215 @@ +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.4.1/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation. +Daemon will be stopped at the end of the build +> Task :app:preBuild UP-TO-DATE +> Task :app:preDebugBuild UP-TO-DATE +> Task :app:mergeDebugNativeDebugMetadata NO-SOURCE +> Task :app:generateDebugBuildConfig UP-TO-DATE +> Task :app:generateDebugResources UP-TO-DATE +> Task :app:packageDebugResources UP-TO-DATE +> Task :app:processDebugNavigationResources UP-TO-DATE +> Task :app:parseDebugLocalResources UP-TO-DATE +> Task :app:generateDebugRFile UP-TO-DATE +> Task :app:compileDebugKotlin UP-TO-DATE +> Task :app:javaPreCompileDebug UP-TO-DATE +> Task :app:compileDebugJavaWithJavac UP-TO-DATE +> Task :app:generateDebugAssets UP-TO-DATE +> Task :app:mergeDebugAssets UP-TO-DATE +> Task :app:compressDebugAssets UP-TO-DATE +> Task :app:generateDebugGlobalSynthetics UP-TO-DATE +> Task :app:processDebugJavaRes UP-TO-DATE +> Task :app:mergeDebugJavaResource UP-TO-DATE +> Task :app:checkDebugDuplicateClasses UP-TO-DATE +> Task :app:desugarDebugFileDependencies UP-TO-DATE +> Task :app:mergeExtDexDebug UP-TO-DATE +> Task :app:mergeLibDexDebug UP-TO-DATE +> Task :app:checkDebugAarMetadata UP-TO-DATE +> Task :app:mapDebugSourceSetPaths UP-TO-DATE +> Task :app:compileDebugNavigationResources UP-TO-DATE +> Task :app:mergeDebugResources UP-TO-DATE +> Task :app:createDebugCompatibleScreenManifests UP-TO-DATE +> Task :app:extractDeepLinksDebug UP-TO-DATE +> Task :app:processDebugMainManifest UP-TO-DATE +> Task :app:processDebugManifest UP-TO-DATE +> Task :app:processDebugManifestForPackage UP-TO-DATE +> Task :app:processDebugResources UP-TO-DATE +> Task :app:dexBuilderDebug UP-TO-DATE +> Task :app:mergeProjectDexDebug UP-TO-DATE +> Task :app:mergeDebugJniLibFolders UP-TO-DATE +> Task :app:mergeDebugNativeLibs UP-TO-DATE +> Task :app:stripDebugDebugSymbols UP-TO-DATE +> Task :app:validateSigningDebug UP-TO-DATE +> Task :app:writeDebugAppMetadata UP-TO-DATE +> Task :app:writeDebugSigningConfigVersions UP-TO-DATE +> Task :app:packageDebug UP-TO-DATE +> Task :app:createDebugApkListingFileRedirect UP-TO-DATE +> Task :app:assembleDebug UP-TO-DATE +> Task :app:bundleDebugClassesToCompileJar UP-TO-DATE +> Task :app:preDebugAndroidTestBuild SKIPPED +> Task :app:processDebugAndroidTestManifest UP-TO-DATE +> Task :app:generateDebugAndroidTestBuildConfig UP-TO-DATE +> Task :app:generateDebugAndroidTestResources UP-TO-DATE +> Task :app:packageDebugAndroidTestResources UP-TO-DATE +> Task :app:processDebugAndroidTestNavigationResources UP-TO-DATE +> Task :app:parseDebugAndroidTestLocalResources UP-TO-DATE +> Task :app:generateDebugAndroidTestRFile UP-TO-DATE +> Task :app:compileDebugAndroidTestKotlin UP-TO-DATE +> Task :app:javaPreCompileDebugAndroidTest UP-TO-DATE +> Task :app:compileDebugAndroidTestJavaWithJavac UP-TO-DATE +> Task :app:generateDebugAndroidTestAssets UP-TO-DATE +> Task :app:mergeDebugAndroidTestAssets UP-TO-DATE +> Task :app:compressDebugAndroidTestAssets UP-TO-DATE +> Task :app:generateDebugAndroidTestGlobalSynthetics UP-TO-DATE +> Task :app:processDebugAndroidTestJavaRes UP-TO-DATE +> Task :app:mergeDebugAndroidTestJavaResource UP-TO-DATE +> Task :app:checkDebugAndroidTestDuplicateClasses UP-TO-DATE +> Task :app:desugarDebugAndroidTestFileDependencies UP-TO-DATE +> Task :app:mergeExtDexDebugAndroidTest UP-TO-DATE +> Task :app:mergeLibDexDebugAndroidTest UP-TO-DATE +> Task :app:checkDebugAndroidTestAarMetadata UP-TO-DATE +> Task :app:mapDebugAndroidTestSourceSetPaths UP-TO-DATE +> Task :app:compileDebugAndroidTestNavigationResources UP-TO-DATE +> Task :app:mergeDebugAndroidTestResources UP-TO-DATE +> Task :app:processDebugAndroidTestResources UP-TO-DATE +> Task :app:dexBuilderDebugAndroidTest UP-TO-DATE +> Task :app:mergeProjectDexDebugAndroidTest UP-TO-DATE +> Task :app:mergeDebugAndroidTestJniLibFolders UP-TO-DATE +> Task :app:mergeDebugAndroidTestNativeLibs NO-SOURCE +> Task :app:stripDebugAndroidTestDebugSymbols NO-SOURCE +> Task :app:validateSigningDebugAndroidTest UP-TO-DATE +> Task :app:writeDebugAndroidTestSigningConfigVersions UP-TO-DATE +> Task :app:packageDebugAndroidTest UP-TO-DATE +> Task :app:createDebugAndroidTestApkListingFileRedirect UP-TO-DATE +> Task :app:assembleDebugAndroidTest UP-TO-DATE +> Task :app:bundleDebugClassesToRuntimeJar UP-TO-DATE +> Task :app:preDebugUnitTestBuild UP-TO-DATE +> Task :app:compileDebugUnitTestKotlin UP-TO-DATE +> Task :app:javaPreCompileDebugUnitTest UP-TO-DATE +> Task :app:compileDebugUnitTestJavaWithJavac NO-SOURCE +> Task :app:processDebugUnitTestJavaRes UP-TO-DATE +> Task :app:testDebugUnitTest UP-TO-DATE +> Task :app:generateDebugAndroidTestLintModel +> Task :app:extractProguardFiles UP-TO-DATE +> Task :app:generateDebugLintReportModel UP-TO-DATE +> Task :app:generateDebugUnitTestLintModel UP-TO-DATE +> Task :app:lintAnalyzeDebug UP-TO-DATE +> Task :app:lintAnalyzeDebugAndroidTest +> Task :app:lintAnalyzeDebugUnitTest UP-TO-DATE +> Task :app:lintReportDebug UP-TO-DATE +> Task :app:lintDebug + +BUILD SUCCESSFUL in 2m 3s +84 actionable tasks: 3 executed, 81 up-to-date +Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.4.1/userguide/configuration_cache_enabling.html +To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.4.1/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation. +Daemon will be stopped at the end of the build +> Task :app:preBuild UP-TO-DATE +> Task :app:preBenchmarkBuild UP-TO-DATE +> Task :app:mergeBenchmarkJniLibFolders UP-TO-DATE +> Task :app:mergeBenchmarkNativeLibs UP-TO-DATE +> Task :app:stripBenchmarkDebugSymbols UP-TO-DATE +> Task :app:extractBenchmarkNativeSymbolTables UP-TO-DATE +> Task :app:mergeBenchmarkNativeDebugMetadata NO-SOURCE +> Task :app:mergeBenchmarkArtProfile UP-TO-DATE +> Task :app:desugarBenchmarkFileDependencies UP-TO-DATE +> Task :app:generateBenchmarkBuildConfig UP-TO-DATE +> Task :app:generateBenchmarkResources UP-TO-DATE +> Task :app:packageBenchmarkResources UP-TO-DATE +> Task :app:processBenchmarkNavigationResources UP-TO-DATE +> Task :app:parseBenchmarkLocalResources UP-TO-DATE +> Task :app:generateBenchmarkRFile UP-TO-DATE +> Task :app:compileBenchmarkKotlin UP-TO-DATE +> Task :app:javaPreCompileBenchmark UP-TO-DATE +> Task :app:compileBenchmarkJavaWithJavac UP-TO-DATE +> Task :app:checkBenchmarkAarMetadata UP-TO-DATE +> Task :app:mapBenchmarkSourceSetPaths UP-TO-DATE +> Task :app:compileBenchmarkNavigationResources UP-TO-DATE +> Task :app:mergeBenchmarkResources UP-TO-DATE +> Task :app:createBenchmarkCompatibleScreenManifests UP-TO-DATE +> Task :app:extractDeepLinksBenchmark UP-TO-DATE +> Task :app:processBenchmarkMainManifest UP-TO-DATE +> Task :app:processBenchmarkManifest UP-TO-DATE +> Task :app:processBenchmarkManifestForPackage UP-TO-DATE +> Task :app:processBenchmarkResources UP-TO-DATE +> Task :app:dexBuilderBenchmark UP-TO-DATE +> Task :app:mergeBenchmarkGlobalSynthetics UP-TO-DATE +> Task :app:checkBenchmarkDuplicateClasses UP-TO-DATE +> Task :app:mergeBenchmarkStartupProfile UP-TO-DATE +> Task :app:mergeExtDexBenchmark UP-TO-DATE +> Task :app:mergeDexBenchmark UP-TO-DATE +> Task :app:compileBenchmarkArtProfile UP-TO-DATE +> Task :app:generateBenchmarkAssets UP-TO-DATE +> Task :app:mergeBenchmarkAssets UP-TO-DATE +> Task :app:compressBenchmarkAssets UP-TO-DATE +> Task :app:extractBenchmarkVersionControlInfo UP-TO-DATE +> Task :app:extractProguardFiles UP-TO-DATE +> Task :app:generateBenchmarkLintVitalReportModel UP-TO-DATE +> Task :app:lintVitalAnalyzeBenchmark UP-TO-DATE +> Task :app:lintVitalReportBenchmark SKIPPED +> Task :app:lintVitalBenchmark SKIPPED +> Task :app:processBenchmarkJavaRes UP-TO-DATE +> Task :app:mergeBenchmarkJavaResource UP-TO-DATE +> Task :app:optimizeBenchmarkResources UP-TO-DATE +> Task :app:collectBenchmarkDependencies UP-TO-DATE +> Task :app:sdkBenchmarkDependencyData UP-TO-DATE +> Task :app:validateSigningBenchmark UP-TO-DATE +> Task :app:writeBenchmarkAppMetadata UP-TO-DATE +> Task :app:writeBenchmarkSigningConfigVersions UP-TO-DATE +> Task :app:packageBenchmark UP-TO-DATE +> Task :app:createBenchmarkApkListingFileRedirect UP-TO-DATE +> Task :app:assembleBenchmark UP-TO-DATE +> Task :app:bundleBenchmarkClassesToCompileJar UP-TO-DATE +> Task :app:preBenchmarkAndroidTestBuild SKIPPED +> Task :app:processBenchmarkAndroidTestManifest UP-TO-DATE +> Task :app:generateBenchmarkAndroidTestBuildConfig UP-TO-DATE +> Task :app:generateBenchmarkAndroidTestResources UP-TO-DATE +> Task :app:packageBenchmarkAndroidTestResources UP-TO-DATE +> Task :app:processBenchmarkAndroidTestNavigationResources UP-TO-DATE +> Task :app:parseBenchmarkAndroidTestLocalResources UP-TO-DATE +> Task :app:generateBenchmarkAndroidTestRFile UP-TO-DATE +> Task :app:compileBenchmarkAndroidTestKotlin +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:171:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt:176:48 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ExtensionGridDeviceTest.kt:544:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/FrozenBundleWorkflowDeviceTest.kt:261:47 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/ReviewedTextDeviceTest.kt:629:60 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. +w: file:///app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt:82:41 'static fun getWindowInsetsController(p0: View): WindowInsetsControllerCompat?' is deprecated. Deprecated in Java. + +> Task :app:javaPreCompileBenchmarkAndroidTest UP-TO-DATE +> Task :app:compileBenchmarkAndroidTestJavaWithJavac UP-TO-DATE +> Task :app:generateBenchmarkAndroidTestAssets UP-TO-DATE +> Task :app:mergeBenchmarkAndroidTestAssets UP-TO-DATE +> Task :app:compressBenchmarkAndroidTestAssets UP-TO-DATE +> Task :app:desugarBenchmarkAndroidTestFileDependencies UP-TO-DATE +> Task :app:checkBenchmarkAndroidTestAarMetadata UP-TO-DATE +> Task :app:mapBenchmarkAndroidTestSourceSetPaths UP-TO-DATE +> Task :app:compileBenchmarkAndroidTestNavigationResources UP-TO-DATE +> Task :app:mergeBenchmarkAndroidTestResources UP-TO-DATE +> Task :app:processBenchmarkAndroidTestResources UP-TO-DATE +> Task :app:dexBuilderBenchmarkAndroidTest +> Task :app:mergeBenchmarkAndroidTestGlobalSynthetics UP-TO-DATE +> Task :app:processBenchmarkAndroidTestJavaRes UP-TO-DATE +> Task :app:mergeBenchmarkAndroidTestJavaResource UP-TO-DATE +> Task :app:checkBenchmarkAndroidTestDuplicateClasses UP-TO-DATE +> Task :app:mergeExtDexBenchmarkAndroidTest UP-TO-DATE +> Task :app:mergeDexBenchmarkAndroidTest +> Task :app:mergeBenchmarkAndroidTestJniLibFolders UP-TO-DATE +> Task :app:mergeBenchmarkAndroidTestNativeLibs NO-SOURCE +> Task :app:stripBenchmarkAndroidTestDebugSymbols NO-SOURCE +> Task :app:validateSigningBenchmarkAndroidTest UP-TO-DATE +> Task :app:writeBenchmarkAndroidTestSigningConfigVersions UP-TO-DATE +> Task :app:packageBenchmarkAndroidTest +> Task :app:createBenchmarkAndroidTestApkListingFileRedirect UP-TO-DATE +> Task :app:assembleBenchmarkAndroidTest +> Task :app:generateBenchmarkAndroidTestLintModel +> Task :app:generateBenchmarkLintReportModel UP-TO-DATE +> Task :app:preBenchmarkUnitTestBuild UP-TO-DATE +> Task :app:generateBenchmarkUnitTestLintModel UP-TO-DATE +> Task :app:lintAnalyzeBenchmark UP-TO-DATE +> Task :app:lintAnalyzeBenchmarkAndroidTest +> Task :app:lintAnalyzeBenchmarkUnitTest UP-TO-DATE +> Task :app:lintReportBenchmark UP-TO-DATE +> Task :app:lintBenchmark + +BUILD SUCCESSFUL in 3m +87 actionable tasks: 7 executed, 80 up-to-date +Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.4.1/userguide/configuration_cache_enabling.html diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.BackupPlannerTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.BackupPlannerTest.xml new file mode 100644 index 00000000..49703050 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.BackupPlannerTest.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.CalculatorActionsTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.CalculatorActionsTest.xml new file mode 100644 index 00000000..24404b5d --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.CalculatorActionsTest.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.CommandEngineTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.CommandEngineTest.xml new file mode 100644 index 00000000..03a53e3b --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.CommandEngineTest.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.EmojiCatalogTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.EmojiCatalogTest.xml new file mode 100644 index 00000000..7df3c7e1 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.EmojiCatalogTest.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionCommandLaunchTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionCommandLaunchTest.xml new file mode 100644 index 00000000..0151858d --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionCommandLaunchTest.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionDetailImageTimeoutTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionDetailImageTimeoutTest.xml new file mode 100644 index 00000000..9c2c72d2 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionDetailImageTimeoutTest.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionEngineCompatibilityTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionEngineCompatibilityTest.xml new file mode 100644 index 00000000..4d97b67f --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionEngineCompatibilityTest.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormContractTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormContractTest.xml new file mode 100644 index 00000000..49f2b686 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormContractTest.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormFileImportTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormFileImportTest.xml new file mode 100644 index 00000000..b2c050a7 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormFileImportTest.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormSubmissionTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormSubmissionTest.xml new file mode 100644 index 00000000..90a3fa12 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormSubmissionTest.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormTypedValuesTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormTypedValuesTest.xml new file mode 100644 index 00000000..72a14669 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormTypedValuesTest.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormValuesTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormValuesTest.xml new file mode 100644 index 00000000..7dd0fd8e --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionFormValuesTest.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionGridContractTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionGridContractTest.xml new file mode 100644 index 00000000..861e9d9a --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionGridContractTest.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionGridNavigationTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionGridNavigationTest.xml new file mode 100644 index 00000000..d0b65031 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionGridNavigationTest.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionHttpTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionHttpTest.xml new file mode 100644 index 00000000..02642ccd --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionHttpTest.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionMarkdownModelTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionMarkdownModelTest.xml new file mode 100644 index 00000000..a70303e9 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionMarkdownModelTest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionMetadataVisualsTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionMetadataVisualsTest.xml new file mode 100644 index 00000000..b26bb1d9 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionMetadataVisualsTest.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionPasteCopyTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionPasteCopyTest.xml new file mode 100644 index 00000000..d6da6148 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionPasteCopyTest.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionPayloadIdentityTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionPayloadIdentityTest.xml new file mode 100644 index 00000000..20aa1cc0 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionPayloadIdentityTest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionSelectionDeliveryTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionSelectionDeliveryTest.xml new file mode 100644 index 00000000..72f95b32 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionSelectionDeliveryTest.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionWorkflowEvidenceTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionWorkflowEvidenceTest.xml new file mode 100644 index 00000000..092d1f65 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionWorkflowEvidenceTest.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionWorkflowInspectionTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionWorkflowInspectionTest.xml new file mode 100644 index 00000000..95a0e7f5 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ExtensionWorkflowInspectionTest.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.FolderGrantTransactionTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.FolderGrantTransactionTest.xml new file mode 100644 index 00000000..086993ae --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.FolderGrantTransactionTest.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.FolderIndexTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.FolderIndexTest.xml new file mode 100644 index 00000000..c8886e4d --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.FolderIndexTest.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ModifierTapTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ModifierTapTest.xml new file mode 100644 index 00000000..fbe7ce65 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ModifierTapTest.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.PaletteMenuOwnershipTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.PaletteMenuOwnershipTest.xml new file mode 100644 index 00000000..7c06f257 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.PaletteMenuOwnershipTest.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.PaletteScrollHistoryTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.PaletteScrollHistoryTest.xml new file mode 100644 index 00000000..f5e34283 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.PaletteScrollHistoryTest.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ReviewedTextInputTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ReviewedTextInputTest.xml new file mode 100644 index 00000000..b107ca4a --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ReviewedTextInputTest.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ShortcutReadinessTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ShortcutReadinessTest.xml new file mode 100644 index 00000000..3fb2521d --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ShortcutReadinessTest.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ShortcutTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ShortcutTest.xml new file mode 100644 index 00000000..ecbc2192 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.ShortcutTest.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.SystemSettingsTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.SystemSettingsTest.xml new file mode 100644 index 00000000..937eb3b7 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.SystemSettingsTest.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.TinycastGridParityTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.TinycastGridParityTest.xml new file mode 100644 index 00000000..1ab76f0f --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.TinycastGridParityTest.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.UpdatePolicyTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.UpdatePolicyTest.xml new file mode 100644 index 00000000..6b0f2aea --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.UpdatePolicyTest.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.WeakValueTokensTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.WeakValueTokensTest.xml new file mode 100644 index 00000000..7a792976 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.WeakValueTokensTest.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.CommonMarkPrimaryConformanceTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.CommonMarkPrimaryConformanceTest.xml new file mode 100644 index 00000000..6686388d --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.CommonMarkPrimaryConformanceTest.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.ExtensionDetailImagePolicyTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.ExtensionDetailImagePolicyTest.xml new file mode 100644 index 00000000..bb8b5b08 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.ExtensionDetailImagePolicyTest.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.NodeCpuInfoTest.xml b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.NodeCpuInfoTest.xml new file mode 100644 index 00000000..140beaf9 --- /dev/null +++ b/docs/validation/touch-search/checks/jvm/TEST-dev.tinycast.android.extensions.NodeCpuInfoTest.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/lint-results-benchmark.xml b/docs/validation/touch-search/checks/lint-results-benchmark.xml new file mode 100644 index 00000000..5e114363 --- /dev/null +++ b/docs/validation/touch-search/checks/lint-results-benchmark.xml @@ -0,0 +1,902 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/lint-results-debug.xml b/docs/validation/touch-search/checks/lint-results-debug.xml new file mode 100644 index 00000000..5e114363 --- /dev/null +++ b/docs/validation/touch-search/checks/lint-results-debug.xml @@ -0,0 +1,902 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/checks/python-final-opt.log b/docs/validation/touch-search/checks/python-final-opt.log new file mode 100644 index 00000000..3355a55d --- /dev/null +++ b/docs/validation/touch-search/checks/python-final-opt.log @@ -0,0 +1,6 @@ +....................................................................................................................................... +---------------------------------------------------------------------- +Ran 135 tests in 52.764s + +OK +{"all_directories_attempted": false, "declared_commands": 0, "directory_count": 2, "independently_anchored_manifests": 0, "manifest_discovery_complete": false, "manifests_read": 0, "not_yet_inspected": 2, "retrieval_or_manifest_errors": 0, "runtime_tested_commands": 0, "runtime_untested_commands": 0} diff --git a/docs/validation/touch-search/checks/python-final.log b/docs/validation/touch-search/checks/python-final.log new file mode 100644 index 00000000..5c93c896 --- /dev/null +++ b/docs/validation/touch-search/checks/python-final.log @@ -0,0 +1,6 @@ +....................................................................................................................................... +---------------------------------------------------------------------- +Ran 135 tests in 33.175s + +OK +{"all_directories_attempted": false, "declared_commands": 0, "directory_count": 2, "independently_anchored_manifests": 0, "manifest_discovery_complete": false, "manifests_read": 0, "not_yet_inspected": 2, "retrieval_or_manifest_errors": 0, "runtime_tested_commands": 0, "runtime_untested_commands": 0} diff --git a/docs/validation/touch-search/cohorts/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..a7bc1019 --- /dev/null +++ b/docs/validation/touch-search/cohorts/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,78 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1161, + 243, + 1233, + 315 + ], + "search": [ + 473, + 243, + 1161, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 950 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1161, + 243, + 1233, + 315 + ], + "search": [ + 473, + 243, + 1161, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 473, + 243, + 1280, + 315 + ], + "launcher": [ + 473, + 243, + 1355, + 315 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..9d2e26be --- /dev/null +++ b/docs/validation/touch-search/cohorts/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,63 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 950 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/current-tablet100/outer.log b/docs/validation/touch-search/cohorts/current-tablet100/outer.log new file mode 100644 index 00000000..bcb1de14 --- /dev/null +++ b/docs/validation/touch-search/cohorts/current-tablet100/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/current-tablet100/record.json b/docs/validation/touch-search/cohorts/current-tablet100/record.json new file mode 100644 index 00000000..dd2fa504 --- /dev/null +++ b/docs/validation/touch-search/cohorts/current-tablet100/record.json @@ -0,0 +1,108 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4", + "apk_sha256": "e143a921f4adb69551ad327ee252ffb7008b207ae1b814542f980dd8c17a7a34", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "ecf876dbe8d5063db936ed35738104dc734c4d8b123ad8d034db17b5086af07c", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "6830eb17320aacccb26ddb736d421dc82a0c5ee97489060bce910d06f4dd51ec", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "8a8b31c0d22a855a570ba6c639237bab5fc49cd27895df16985d603a572b1bea", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "5adb4b93d72b5f1522af71c5cc057e34fc8abe3e8e2dc67666f3005cbdc44694", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "f0183aff69b5b05dc9a0e27909fcb7b04a93292daca85481cd7973e5c92d5c2c", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "844559e987e11c2eed1109abf350462cb44c5c0a154b4c44442d8c23c84b2b66", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "f7825275bd400a2c7d0b802fae97698ae29dc025626950d2bf6de3ce292d11ca", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "87d50da74ada9ce5b64af8e465ee28387b8327bdfb1f9c789681da5eb8800acd", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "d05792bb5f6b9173879bdefa49259ada70d5d17d5d3f3be82d57444916e8d74e", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "dee3a8107d025983cfe4d674daf48149d028389390f8df1b3a0fe423f5709e78", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "7e1c81e474607ec053944a66ed3d215c09d15484d921e8c1311175fb21d1b5ed", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "e40dd5dfc9a198ecdd6d37556a157653d5e73a54b33e682475c2bbd5392083a1", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "a7608993abce1a41764ca22a2666ab73a60f047e5335c6ad2c09c6751f2aaf30", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "dcecf23ead4fd3ece292d719e00e781da15ce8010ad007bc417d4c2c97cdbf1a", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "35511b6fb5c4b7a16356e7f7d0e754117be1dba14303578f4ca0641ad9a0f219", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "3390d8b768c87306117b69fbc0bede1771de792fe9abf8a650c5a189a63d0ff1", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "7715ab2eb79d3b969e079865245118acf1413b729260b6b7952d64eab3440a9f", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "5e36592d5b5549456f3953f5044854ba0cf692560179a935f19a18994386bdb8", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "88877dea617fc2af0e7a819b91a632a39f0ff447ffddb4abfc8f6867257e18f5", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "0d0700186c0d55466c12fcef7e9fb6973c467ceb060746a0ea33a5e20dbb884e", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "c9bb029866e8a9adaea9d60ef8304706e5b0889f17ebac5ee6ce208aefd15237", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "d5ec32a2a67ac640c4cabdf85bda96c9b1b53413d7eb7557d0b076d5446804a2", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "e1d3162b6cbccc7b2e7a76f9d7f6312de5ed6398da15c53070505f2a432eadbb", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "7378dc378fc8a5fbfdb761c1f8cbaa5b8b5fef100af5f62068162f05b79169d2", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "24f14fbb85af3c234aa1331a17c44cc066fb61f585c34ac2cc65de7aa6af5096", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "19eff74bebd7b1d2d70c1546911fa97b0e1e13dcca0aec7855cd8778a16321b0", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "e48508d0657e92db09b81b585a73c4d8f770d83b480d62758089a14f3920fcd9", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "6d9e8b4bcac5699874bbec015627b480e85feb0582c312ae3c969c3eaf3ca17f", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "b522c56c3a9207fe82a25c2c4a1ea6e0a86e1e22f802516bc16b2056e0f01fb9" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/current-tablet100/tests.log b/docs/validation/touch-search/cohorts/current-tablet100/tests.log new file mode 100644 index 00000000..ecabf9d4 --- /dev/null +++ b/docs/validation/touch-search/cohorts/current-tablet100/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 79.229 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..ca17011e --- /dev/null +++ b/docs/validation/touch-search/cohorts/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,62 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 2, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1065, + 249, + 1137, + 321 + ], + "search": [ + 473, + 249, + 1065, + 321 + ], + "palette": [ + 398, + 237, + 1523, + 1134 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1065, + 249, + 1137, + 321 + ], + "search": [ + 473, + 249, + 1065, + 321 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..c04a58f4 --- /dev/null +++ b/docs/validation/touch-search/cohorts/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,63 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 2, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 1134 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/current-tablet200/outer.log b/docs/validation/touch-search/cohorts/current-tablet200/outer.log new file mode 100644 index 00000000..0d75cbd9 --- /dev/null +++ b/docs/validation/touch-search/cohorts/current-tablet200/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 402, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 397, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/current-tablet200/record.json b/docs/validation/touch-search/cohorts/current-tablet200/record.json new file mode 100644 index 00000000..26367903 --- /dev/null +++ b/docs/validation/touch-search/cohorts/current-tablet200/record.json @@ -0,0 +1,105 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4", + "apk_sha256": "e143a921f4adb69551ad327ee252ffb7008b207ae1b814542f980dd8c17a7a34", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 2.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 1, + "failures": 1, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "2312606e259ff3a5d65004a9d319968528e57e152e95aa2c35b78ebe27255d9a", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "b3d44d6f3a86d359631bb8038452c0cc24fe8995e336a84fc11dd9a9969ac7b5", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "af93c54e66c94ec30aaa05b574e3dc67018f595bd4a31a7beb1f36e3e28db3f6", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "e0e64648b88ce895af8dd5fa4f8fc92e25e6f2cc094ff526a9fd2c65511ebd5c", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "fe8a5814fb369bbcec239543784469a3c59e27c55c72abd374fe3a519c369201", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "1150019e60cef61241bc56e7e59b66f23955161e4bb57932f76cacdba8b91d2d", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "045c03558c48af756daf6f0078655ea5d77b00d4a18c8163439206a79b666261", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "5bbd9bb6e944905ac715657c60697389ebdff39d9464236fe93407054283c302", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "c75370405db044d1dad25d7839e29a42587a66205c8b434e45999c6fc3d8d621", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "5335a27bd7bb26680cdce7fe12ccc1f513902a16658ed5c0601c8cbaf014f064", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "fc7ac0d7aa179ec6630cfb7d3dc41e90030e4d2da787daf8484fd1853d548d1f", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "5089865def933a36d306ef298d51be6eef73b19a99e00ea6d32a83e8e914a10c", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "608522254d6159fe90250aa446dda86939777df515d7336fc0676d9719a6a9f1", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "2f9946f802cb75cf8bfcb658d1743e3be751fe5aba2a8bc25e1ed6f0a7a4a242", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "23219669ca43fbd1d90b4b3a50ad9f2573940f51b3c3900c71ebe54716629290", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "5ebb0a0773340985fc4b867f81028ce0227b9e6b92b11043689192fdf7ec542b", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "d5b2028411d20a3a9bcc05feedc928557a9be974eee11c2a9b9d6f8146c65ed9", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "6780d21355a6a2e9b1c8b9b87579c9930ca478513a9a95397ad41123bf6fb444", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "b520db8f0022d0c0fcd76aa49c2d537f9f57433a32bec2c0fc4d64ad2505d801", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "5f547c3caa0704375788ea0a1b738272dcf86842428419cd026d4b4673919770", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "328f1c62f7b5c6c54968bfdac72a2bd1dcc5b3aedf19c9127dc3b3e010f42b34", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "93f43193e27a09f4dc41451fe0626528dd2a5636f660df82c3111a96bd6942fd", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "48ea5a27f223d59ae28c4692d66acb112328fa285eaf3b1d5670f31f200ea8b6", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "0a0eab361683f080e6d671009897bffce61bcd6546d2bceb5e427c1090609eb6", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "7f8965715aa49d7a4295e8ed5ff74931aeef492d0bd64f68ef3201d7b8c8049e", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/current-tablet200/tests.log b/docs/validation/touch-search/cohorts/current-tablet200/tests.log new file mode 100644 index 00000000..13a44b91 --- /dev/null +++ b/docs/validation/touch-search/cohorts/current-tablet200/tests.log @@ -0,0 +1,58 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Returning retains the search baseline expected:<249.0> but was:<243.0> + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.failNotEquals(Assert.java:835) + at org.junit.Assert.assertEquals(Assert.java:577) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:184) + +INSTRUMENTATION_STATUS: stream= +Error in emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Returning retains the search baseline expected:<249.0> but was:<243.0> + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.failNotEquals(Assert.java:835) + at org.junit.Assert.assertEquals(Assert.java:577) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:184) + +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 55.834 +There was 1 failure: +1) emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Returning retains the search baseline expected:<249.0> but was:<243.0> + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.failNotEquals(Assert.java:835) + at org.junit.Assert.assertEquals(Assert.java:577) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:184) + +FAILURES!!! +Tests run: 2, Failures: 1 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..96c1ff0c --- /dev/null +++ b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,53 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 1, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1527, + 106, + 1653, + 232 + ], + "search": [ + 317, + 106, + 1527, + 232 + ], + "palette": [ + 186, + 95, + 2155, + 986 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..cb516ccd --- /dev/null +++ b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 317, + 106, + 1527, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml new file mode 100644 index 00000000..452f3e01 --- /dev/null +++ b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..4a1cf3d1 --- /dev/null +++ b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,53 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 1, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1861, + 106, + 1987, + 232 + ], + "search": [ + 318, + 106, + 1861, + 232 + ], + "palette": [ + 186, + 95, + 2155, + 986 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..0072eb25 --- /dev/null +++ b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 318, + 106, + 1861, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml new file mode 100644 index 00000000..98e1fcde --- /dev/null +++ b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/outer.log b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/outer.log new file mode 100644 index 00000000..29ad96ec --- /dev/null +++ b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 424, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 419, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/record.json b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/record.json new file mode 100644 index 00000000..b982b91f --- /dev/null +++ b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/record.json @@ -0,0 +1,105 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "700348aa86aae44801d679f0496dfd745bfb23855b15b9730bb0e19f6acbc8bc", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "landscape", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 0, + "failures": 2, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "305c46328413248c99e48c587677175cd83cc9d25ddb30c0b421a17c4665bf27", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "dd38a2d8e985f724c83bfd68e79cde2efca1aace4718c8867aa8de5068222d78", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "183f4026e843e400b488a47e798d6d2ed894d2ea5087b1952e19fe6ff0d5a429", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "dd85ae7167d90eeee3bcaba18863fd9b372cf9f71c2958e05aab788a7342ec74", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "e77307deb46552c5ec0abc06a32079e85e3284f0f8d530dd03861d5d020459ce", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "4789fd81b7957830b05bd5fc3fef0221d65b1e7dac14635d49441d84eb801025", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "c115694d093b9d2cad85019b9af543454818197ae93701f8920aba7df6299d4c", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "00a39b69367d53df223dff9016267ea080ef45109afbe1e72230cb2dbbf6179a", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "1d0ec6ac273400ec46e25face0f0d0a788c7e72d25a037bfa935e82db72c4f81", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "a1eddfd1cb632f66e5a070134adf89c63e3efd2c16feb2d2b4f0737ab52ea752", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "f3a4efb97e792488ef68e851aec0c0a750dd9fe4f7e56afc08aa6e038e35394c", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "a8bd6c61f59ee8753afc59cf78ea4d70f5994e5d9d00ad4b246e8d4d9fa0c626", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "993b08b0346bef7b473d1fa87de892601b0b69c1f63a584c700875c29d47bd23", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "e6ef48030b4b792c29cfdea2d421d4d1f98f95815341f9637c0ad88074e5f050", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "53b35cf0bf06b1083936fdbcdcccfd969754231032b4cf8af064176b18c0d660", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "bca4f2e586419cfcb3ca60a80645af1728c6925505c9eba0b4e18e7ad235ebf4", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "4ddf1149668bd7a13712c6128359f70364055a1a1a6190c01fc5944554c9135b", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "2e19f15500f889a26d5ed255e9ef344b76c47d2aaae0fcc47172dce0484f6a92", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "8b2066848e42b833d0d775c5c76f26e89cd9d4c2a33da17fe19b0ec08a6329b5", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "48d2b47afdf624db881252e8912845aaf1f218427f17d0446439c0eced5aff86" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/tests.log b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/tests.log new file mode 100644 index 00000000..d9a07e67 --- /dev/null +++ b/docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/tests.log @@ -0,0 +1,65 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:177) + +INSTRUMENTATION_STATUS: stream= +Error in emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:177) + +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:152) + +INSTRUMENTATION_STATUS: stream= +Error in launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:152) + +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_RESULT: stream= + +Time: 38.452 +There were 2 failures: +1) emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:177) +2) launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:152) + +FAILURES!!! +Tests run: 2, Failures: 2 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/failed-post-test/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/failed-post-test/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..feabfa72 --- /dev/null +++ b/docs/validation/touch-search/cohorts/failed-post-test/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,78 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 2, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1065, + 243, + 1137, + 315 + ], + "search": [ + 473, + 243, + 1065, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 1134 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1065, + 243, + 1137, + 315 + ], + "search": [ + 473, + 243, + 1065, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 473, + 243, + 1261, + 315 + ], + "launcher": [ + 473, + 243, + 1355, + 315 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/failed-post-test/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/failed-post-test/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..c04a58f4 --- /dev/null +++ b/docs/validation/touch-search/cohorts/failed-post-test/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,63 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 2, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 1134 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..315f9a59 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,26 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 1, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1247, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..e0c62b1d --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 164, + 106, + 1006, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..ab64a613 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-old-phone100-1/outer.log b/docs/validation/touch-search/cohorts/final-old-phone100-1/outer.log new file mode 100644 index 00000000..29ad96ec --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-phone100-1/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 424, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 419, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/final-old-phone100-1/record.json b/docs/validation/touch-search/cohorts/final-old-phone100-1/record.json new file mode 100644 index 00000000..0975a8cc --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-phone100-1/record.json @@ -0,0 +1,88 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 0, + "failures": 1, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "e41f519dafc79aadf3603acde7c1fd18287c618441f8ba587b4880c5e7a67f0b", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "e9479f4683dad306750a86232bbfe680ab5ac1079e4a493d6aff437b20b54014", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "88f6e5d198c1e277439c168e79d72e65130bc6cb31fc4aec252ca1b8b4ee111a", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "f0eab9bbfd85541f38ae33cc03e04c0b682e3444a151d2c3b198e6b8a9cc732b" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/final-old-phone100-1/tests.log b/docs/validation/touch-search/cohorts/final-old-phone100-1/tests.log new file mode 100644 index 00000000..188e208a --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-phone100-1/tests.log @@ -0,0 +1,41 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:168) + +INSTRUMENTATION_STATUS: stream= +Error in launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:168) + +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_RESULT: stream= + +Time: 8.147 +There was 1 failure: +1) launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:168) + +FAILURES!!! +Tests run: 1, Failures: 1 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..d827615e --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,26 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 1, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1247, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..a06428fb --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 163, + 106, + 703, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..cc385d92 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-old-phone100-2/outer.log b/docs/validation/touch-search/cohorts/final-old-phone100-2/outer.log new file mode 100644 index 00000000..29ad96ec --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-phone100-2/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 424, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 419, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/final-old-phone100-2/record.json b/docs/validation/touch-search/cohorts/final-old-phone100-2/record.json new file mode 100644 index 00000000..e9b91e86 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-phone100-2/record.json @@ -0,0 +1,88 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 0, + "failures": 1, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "5add20f5612284b66bfcb3ed1f24cb31d36c60c522cc8840a73816d980957f50", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "834ef3ef0e7fa2e77a5f3463a1cbcb3728638cf7923a5cdef085417a4f886824", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "1839ec1a49448aa27bfa57af19924c36ff1d5c5d562aea7b240f6eb51fe0481d", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "4c2ff152712a59273d8fc531de3c9ec01534c76f662ad7edbc32e05c527daed5" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/final-old-phone100-2/tests.log b/docs/validation/touch-search/cohorts/final-old-phone100-2/tests.log new file mode 100644 index 00000000..bc72c73f --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-phone100-2/tests.log @@ -0,0 +1,41 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:195) + +INSTRUMENTATION_STATUS: stream= +Error in emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:195) + +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_RESULT: stream= + +Time: 8.074 +There was 1 failure: +1) emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:195) + +FAILURES!!! +Tests run: 1, Failures: 1 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..e1ac2c7f --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,26 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 1, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 713, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..fe280aff --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 473, + 243, + 1427, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..7f656adb --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-old-tablet100-1/outer.log b/docs/validation/touch-search/cohorts/final-old-tablet100-1/outer.log new file mode 100644 index 00000000..29ad96ec --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-tablet100-1/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 424, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 419, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/final-old-tablet100-1/record.json b/docs/validation/touch-search/cohorts/final-old-tablet100-1/record.json new file mode 100644 index 00000000..dd6d3d8d --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-tablet100-1/record.json @@ -0,0 +1,82 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 0, + "failures": 1, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "6df80d65aa291b824d06d07360175390c5d3473378e66842657ca94d92c016a7", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "588912ae1e727e9e5495f1afd96f1ed66320ad6946fcb8a74db084ad08cc898e", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "3af0693f24d6cd6663b53771f2ceafaafa267eaff0273b0de4e0ebd1b733638c", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "29a9c3b167996d906581fc9a8988159f0a5a548ec9f53b046655bf3e472a7233" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/final-old-tablet100-1/tests.log b/docs/validation/touch-search/cohorts/final-old-tablet100-1/tests.log new file mode 100644 index 00000000..dd504b17 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-tablet100-1/tests.log @@ -0,0 +1,41 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:168) + +INSTRUMENTATION_STATUS: stream= +Error in launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:168) + +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_RESULT: stream= + +Time: 14.57 +There was 1 failure: +1) launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:168) + +FAILURES!!! +Tests run: 1, Failures: 1 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..a0611d04 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,26 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 1, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 713, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..d22c7cf8 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 473, + 243, + 1233, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..a11fb0fa --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-old-tablet100-2/outer.log b/docs/validation/touch-search/cohorts/final-old-tablet100-2/outer.log new file mode 100644 index 00000000..29ad96ec --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-tablet100-2/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 424, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 419, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/final-old-tablet100-2/record.json b/docs/validation/touch-search/cohorts/final-old-tablet100-2/record.json new file mode 100644 index 00000000..3e5f17da --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-tablet100-2/record.json @@ -0,0 +1,82 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 0, + "failures": 1, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "9cbb01aa230e5200992f8dc29f10012057f712cae60c551a9b4f5370fe2a3084", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "299054f3fbe646ac6a06a8afab8323f12353e2764dc657b483f21f684322874f", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "ef48f0bc2b3731ef50b0244388a84e5c826166280578e7dde02d95cdbd698ac4", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "b4014b6e7ccbf5de1d3308bea9072c54c7ded00202fa5677b83b11adfc6de727" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/final-old-tablet100-2/tests.log b/docs/validation/touch-search/cohorts/final-old-tablet100-2/tests.log new file mode 100644 index 00000000..9dbdf134 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-old-tablet100-2/tests.log @@ -0,0 +1,41 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:195) + +INSTRUMENTATION_STATUS: stream= +Error in emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:195) + +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_RESULT: stream= + +Time: 7.097 +There was 1 failure: +1) emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:195) + +FAILURES!!! +Tests run: 1, Failures: 1 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..027c00e4 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,90 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 2, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 897, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1065, + 249, + 1137, + 321 + ], + "search": [ + 473, + 249, + 1065, + 321 + ], + "palette": [ + 398, + 237, + 1523, + 1134 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 393, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1065, + 249, + 1137, + 321 + ], + "search": [ + 473, + 249, + 1065, + 321 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..e54e254d --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 473, + 249, + 1065, + 321 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..b824f598 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml @@ -0,0 +1,337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..c5bbb610 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 473, + 249, + 1065, + 321 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..f27827ea --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..7b39066e --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 473, + 249, + 1065, + 321 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml new file mode 100644 index 00000000..331f49d0 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml @@ -0,0 +1,479 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..46bcd7e6 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 473, + 249, + 1065, + 321 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml new file mode 100644 index 00000000..2d109c5a --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml @@ -0,0 +1,351 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/outer.log b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/outer.log new file mode 100644 index 00000000..29ad96ec --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 424, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 419, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/record.json b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/record.json new file mode 100644 index 00000000..b96d537f --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/record.json @@ -0,0 +1,91 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "e143a921f4adb69551ad327ee252ffb7008b207ae1b814542f980dd8c17a7a34", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 2.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 0, + "failures": 1, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "ddc047ccaee17e6b0fd8ee19a256cc6f40347c8de26b8be53067a9bfb855f9f7", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "13a52ac8f8f58c19c58e548c22671df5ac02b634326a0aecf9bdb3b4c578a10e", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "af93c54e66c94ec30aaa05b574e3dc67018f595bd4a31a7beb1f36e3e28db3f6", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "2a516ebe4b4325f048200016ca6bf22e651f5b3c4f8efabb0b5ae02812c73d07", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "07de42820ef5343a4de54c7cd7a9a621b3726ac4f6b09f06e24f32eef946b896", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "1150019e60cef61241bc56e7e59b66f23955161e4bb57932f76cacdba8b91d2d", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "6533017a7901ac0f9ab274c9172e1dff5a5f575fe073b1a8c93c9fe4b729acf6", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "954afad984638adeb27fd857125c2e0f58d1e556d96420f37bd88eb1c1496576", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "c75370405db044d1dad25d7839e29a42587a66205c8b434e45999c6fc3d8d621", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "44d0c6311c5444e1984a06baf3ff7e87f9c3f97d999576934f281f848c5f5b12", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "fddef49868a1dcc3792e8407a219dd37b07b9b63ec6d3167f6eef079ebef935d", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "5089865def933a36d306ef298d51be6eef73b19a99e00ea6d32a83e8e914a10c", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "2f908a1a1e184eec306ff124dc4597b07cf3c680710d491373fafbe8d100b2b7" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/tests.log b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/tests.log new file mode 100644 index 00000000..c9733573 --- /dev/null +++ b/docs/validation/touch-search/cohorts/final-spacing-control-tablet200/tests.log @@ -0,0 +1,44 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Returning retains the search baseline expected:<249.0> but was:<243.0> + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.failNotEquals(Assert.java:835) + at org.junit.Assert.assertEquals(Assert.java:577) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:207) + +INSTRUMENTATION_STATUS: stream= +Error in emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Returning retains the search baseline expected:<249.0> but was:<243.0> + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.failNotEquals(Assert.java:835) + at org.junit.Assert.assertEquals(Assert.java:577) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:207) + +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_RESULT: stream= + +Time: 14.92 +There was 1 failure: +1) emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Returning retains the search baseline expected:<249.0> but was:<243.0> + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.failNotEquals(Assert.java:835) + at org.junit.Assert.assertEquals(Assert.java:577) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:207) + +FAILURES!!! +Tests run: 1, Failures: 1 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json b/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json new file mode 100644 index 00000000..056fed38 --- /dev/null +++ b/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json @@ -0,0 +1,10 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "currentClearUsesLiveQueryAndRecreationRejectsOldCallback", + "api": 26, + "font_scale": 1, + "live_query_clears": 2, + "rejected_callbacks": 2, + "completed": true, + "events": [] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..5fb98b24 --- /dev/null +++ b/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,78 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 26, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 578, + 106, + 704, + 232 + ], + "search": [ + 163, + 106, + 578, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 578, + 106, + 704, + 232 + ], + "search": [ + 163, + 106, + 578, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1022 + ], + "density": 2.625 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 163, + 106, + 749, + 232 + ], + "launcher": [ + 164, + 106, + 880, + 232 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..99fdfc2c --- /dev/null +++ b/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,63 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 26, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1022 + ], + "density": 2.625 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json b/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json new file mode 100644 index 00000000..9ae669f9 --- /dev/null +++ b/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json @@ -0,0 +1,25 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "pointerClearRemovesControlledCompositionAndWhitespace", + "api": 26, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "controlled-composition-and-whitespace-cleared", + "search": "search" + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "controlled-composition-and-whitespace-cleared", + "search": "emoji-search" + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json b/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json new file mode 100644 index 00000000..621724f3 --- /dev/null +++ b/docs/validation/touch-search/cohorts/legacy-independent-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json @@ -0,0 +1,9 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "api": 26, + "font_scale": 1, + "rejected_callbacks": 5, + "completed": true, + "events": [] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/legacy-independent-phone100/outer.log b/docs/validation/touch-search/cohorts/legacy-independent-phone100/outer.log new file mode 100644 index 00000000..717f8b35 --- /dev/null +++ b/docs/validation/touch-search/cohorts/legacy-independent-phone100/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 5, "failures": 0, "expected_negative": false, "preserved_file_count": null} diff --git a/docs/validation/touch-search/cohorts/legacy-independent-phone100/record.json b/docs/validation/touch-search/cohorts/legacy-independent-phone100/record.json new file mode 100644 index 00000000..61751e7b --- /dev/null +++ b/docs/validation/touch-search/cohorts/legacy-independent-phone100/record.json @@ -0,0 +1,116 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "pointerClearRemovesControlledCompositionAndWhitespace", + "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "currentClearUsesLiveQueryAndRecreationRejectsOldCallback" + ], + "api": 26, + "font_scale": 1.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-absence-dev.tinycast.android.test": { + "passed": true + }, + "restore-absence-dev.tinycast.android": { + "passed": true + }, + "verify-initial-package-absence": { + "passed": true + } + }, + "passes": 5, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 58.0.3029.125)" + ], + "original_geometry": { + "size": "Physical size: 1080x1920", + "density": "Physical density: 420" + }, + "original_font_scale": "null", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "a6c9e1a013cd1269fafe02b325010f8e0344fa887a41f3d817bf07117f126a89", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "babe0003e2dd6aa87c05e13aba71557e8ae013dbdb6bd751ca94653592fee5b7", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "4edb089a0d0cc912e3a39a2ad453ca0e74a7e3b02936ebf754598daed0e3ddea", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "62b07bcd7a2442bc2373a85225e780b1ea894292edc2b329d9b6827086170990", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "3842ee4a7554f3b08a2b7c4e9755ba29bc4c281bdafad9e7f786b68af302bfde", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "d6cadd16243a505faec61d5647c211d47e1ca4d575c001ef7c07fb526b1f78b2", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "985d18cbf43359efb19fdc79d72ce12cfa6a72d9dffd1395240ce56bfa439a95", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "9c853ac6009d396d86233e87c7785d3cca76d7176b8f7d0d103335c9137b820c", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "63262b9aece34538793029df166aaf5c39db6df03bde66f02fb8fa9d8d56cfcd", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "13c5a61490fd72e011c265132cacb690997cdcfebe6921b716ad8093543ac42e", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "72abe3f2a526e4648a6516484dc11cfbd35d1cd596f89ac109fc99b4df19b9d7", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "52b5280c366ccc83da37ceb5aa5cbfb3e8758a97b7da2008a900164144a30d09", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "e92077590774295abe30d9dd99ad01dd2b2d0821255f7935176bd061bb4e0ff7", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "81489ca308a7f61b7aed2bc71a58ad97916187e04ee4648689c08e7bcec4d843", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "91791c46dd5cc282fb68a5e5c9ee1acc987b90e191e9d1a48035927168bd4332", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "df5eb8a7fc9cc57476e84c80546d3dd34139165c3b73430b5593e60023645cec", + "pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.xml": "80b04d554eb8d4387abc29d3c39d6b7eebcd71ac9c8a0298c2ef83577f85e0ca", + "pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.png": "d7676bcd0de52817505d4f33af439070ffbb7328e2000b134bf287da2748b777", + "pointerclearremovescontrolledcompositionandwhitespace-launcher-composition-frame.json": "6fafe3721f6cda01bc19b990144cdf2536dd72e30de7702f4e4b40ec617ed48e", + "pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.xml": "c22745ad41e693dfacbe34a6f65f8a40418ab5b83d087bb4a700b416f8351331", + "pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.png": "e227bc1a9900312dfad70f59032a71d31b4215476a0f4b2d562ff844131a5c8b", + "pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared-frame.json": "75d71af45ca7a54c873876baf77e0a3641852f993e5330355703d241d9a41edd", + "pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.xml": "589cddec680bd67fde10e6d1b6caab58622c642602086ddf333915fde1022c1c", + "pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.png": "c41b84a7fcdf09e75c8e16a147090414455a3db6b3fddf342b2f5d1d9496e54e", + "pointerclearremovescontrolledcompositionandwhitespace-emoji-composition-frame.json": "dcf0c92e5e5dbece0b45e6f8b3232e415bb979a2124d423b3f950162075dab91", + "pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.xml": "0eed49b88e289bb1a09074ab7c72a954cebc60ff40fec5bc80284d4cbac00905", + "pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.png": "675739652dd59103356642bdc52df2180c14621bc8557f433f967ccba87dc1d1", + "pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared-frame.json": "5b6c13ede34541988b4673e73d91396114fc1104a2a45ce911172f590773fee0", + "pointerclearremovescontrolledcompositionandwhitespace-case.json": "eb85683597f55701a85e1bcd7a1111522ced2d4bfa2139385f3cd68e5c301d20", + "currentclearuseslivequeryandrecreationrejectsoldcallback-case.json": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "43c9d74e01877b1915e41e7acc3b31a0eeed6b45efc852bf52ed66c7a5487bd9", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "3d8f1b5660ad88f9af14ca3f30bc8f8ed570a12f9830008ada5d60f10de230fc", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "57d9eb8a9348347861053e27fc27cfb1f89095e89eab088b7b4525a0bd353bf8", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "946970eb38260a384ef1d83291f028dc546b01c0cb5e88a0b4b91f6b4ec4f02a", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "6d3fdb4c371a0181bf8050631c075aeae4b079df5777bb34504368a6a6e48254", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "d28dccb4a1204bf927a946a539df0be3fc4352d94d753d6ba2c7fdc6cc12cac8", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "e0c702bafaff6a26f88abede8fefaebf47895d38afcce91738fac28a92ff7da9", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "bca970ca9d8c829900a1f15a8dff4e4f0257deb5ed29a71a34729ce12bd98440", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "eedc3a4f0396709a57cae7dab482663b8cc0a887b71ca36eac43dc3424eb1a63", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "a7985bbe04b020a892a54f7caa89d4f65c6b2b5ead3e93a2d6f3a121a33047d6", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "a47a29adf62a5382a7d7bb25423d38a4bc0bab5e7e9a87477c7de76d63cb9997", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "1000d8060b7466d029a06bcc1c05903a87b2e793da19cf59e23ebdffffd42306", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "6d826aec86c45bfd4366684fe815a344ad7042511954389b4ab7f28a67b68495", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml": "8136a0aade29789358049ccdc3fecf2b10fe622fee1c044de66bd5221a952960", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png": "1df746210eeab557923f2cff484b493ad772429edc1fbcd394e20474852a8a69", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json": "f1d308a5eb0f6b26ee0ae36bc295f36e65b61cdd9c287110f1bf5fb972747719", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml": "d9cab982c7b7f4769bced478cf8d3aabc93e4d0e64c00f0aa52559c95cf10693", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png": "180560d5e7a4c26c37efa6c29554d17c80166789b1997015a4b07e95f5a65c0e", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json": "8852e5e7085304ab359cb508307fb5ff0be4bc9715224d3edd881d56a86c8cfc", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9" + } +} diff --git a/docs/validation/touch-search/cohorts/legacy-independent-phone100/tests.log b/docs/validation/touch-search/cohorts/legacy-independent-phone100/tests.log new file mode 100644 index 00000000..0784b4fb --- /dev/null +++ b/docs/validation/touch-search/cohorts/legacy-independent-phone100/tests.log @@ -0,0 +1,79 @@ +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=pointerClearRemovesControlledCompositionAndWhitespace +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=pointerClearRemovesControlledCompositionAndWhitespace +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=currentClearUsesLiveQueryAndRecreationRejectsOldCallback +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=3 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=currentClearUsesLiveQueryAndRecreationRejectsOldCallback +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=3 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=4 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=4 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=retainedClearCallbacksRejectReplacedSurfacesAndMenus +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=5 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=retainedClearCallbacksRejectReplacedSurfacesAndMenus +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=5 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 214.096 + +OK (5 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..771e9211 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,12 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 1, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/old-phone100-1/outer.log b/docs/validation/touch-search/cohorts/old-phone100-1/outer.log new file mode 100644 index 00000000..0d75cbd9 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-phone100-1/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 402, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 397, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/old-phone100-1/record.json b/docs/validation/touch-search/cohorts/old-phone100-1/record.json new file mode 100644 index 00000000..cb6e37a7 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-phone100-1/record.json @@ -0,0 +1,88 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4", + "apk_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 0, + "failures": 1, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "3318780c53c82b689eb6916f434c5ac004ea2640d0c63592196e62f9fba06573", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "39a38627eb7c22f76b745450ce000d424d89cc841bb44cbb63fa4420c0d6cbf2", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "88f6e5d198c1e277439c168e79d72e65130bc6cb31fc4aec252ca1b8b4ee111a", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "25ce543135f0711ab00d9e0d8a3f105c3c3803a941b4fe03612aa444d7aa18b4" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/old-phone100-1/tests.log b/docs/validation/touch-search/cohorts/old-phone100-1/tests.log new file mode 100644 index 00000000..91363a80 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-phone100-1/tests.log @@ -0,0 +1,41 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:150) + +INSTRUMENTATION_STATUS: stream= +Error in launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:150) + +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_RESULT: stream= + +Time: 17.781 +There was 1 failure: +1) launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:150) + +FAILURES!!! +Tests run: 1, Failures: 1 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..0888a879 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,12 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 1, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/old-phone100-2/outer.log b/docs/validation/touch-search/cohorts/old-phone100-2/outer.log new file mode 100644 index 00000000..0d75cbd9 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-phone100-2/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 402, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 397, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/old-phone100-2/record.json b/docs/validation/touch-search/cohorts/old-phone100-2/record.json new file mode 100644 index 00000000..492f9224 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-phone100-2/record.json @@ -0,0 +1,88 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4", + "apk_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 0, + "failures": 1, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "055c2e6c710582f378e9b70d9bb119c99514e1c4def25b50437559b3eec4361c", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "29798adc550d63900e55bba8044b8ee1e14847cffd28a817cf261dfbbd12fce1", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "1839ec1a49448aa27bfa57af19924c36ff1d5c5d562aea7b240f6eb51fe0481d", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "9ae6a82f564b24bc304dd74e0dca1ce5233c3daf8d3fd5a57ae9b0fa3466e44e" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/old-phone100-2/tests.log b/docs/validation/touch-search/cohorts/old-phone100-2/tests.log new file mode 100644 index 00000000..bfe55c32 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-phone100-2/tests.log @@ -0,0 +1,41 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:172) + +INSTRUMENTATION_STATUS: stream= +Error in emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:172) + +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_RESULT: stream= + +Time: 47.832 +There was 1 failure: +1) emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:172) + +FAILURES!!! +Tests run: 1, Failures: 1 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..771e9211 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,12 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 1, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/old-tablet100-1/outer.log b/docs/validation/touch-search/cohorts/old-tablet100-1/outer.log new file mode 100644 index 00000000..0d75cbd9 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-tablet100-1/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 402, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 397, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/old-tablet100-1/record.json b/docs/validation/touch-search/cohorts/old-tablet100-1/record.json new file mode 100644 index 00000000..4be19f30 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-tablet100-1/record.json @@ -0,0 +1,82 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4", + "apk_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 0, + "failures": 1, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "bab6aca72b2cd8e508de9e784c9b70ee09aeaa1bc7a5ddde2157ad343002f18e", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "018fe473e7ff303afe4cc2ca7466ce8353a3bb4339358f592434773d7ab06b41", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "3af0693f24d6cd6663b53771f2ceafaafa267eaff0273b0de4e0ebd1b733638c", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "25ce543135f0711ab00d9e0d8a3f105c3c3803a941b4fe03612aa444d7aa18b4" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/old-tablet100-1/tests.log b/docs/validation/touch-search/cohorts/old-tablet100-1/tests.log new file mode 100644 index 00000000..6a5469ea --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-tablet100-1/tests.log @@ -0,0 +1,41 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:150) + +INSTRUMENTATION_STATUS: stream= +Error in launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:150) + +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_RESULT: stream= + +Time: 16.966 +There was 1 failure: +1) launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:150) + +FAILURES!!! +Tests run: 1, Failures: 1 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..0888a879 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,12 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 1, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/old-tablet100-2/outer.log b/docs/validation/touch-search/cohorts/old-tablet100-2/outer.log new file mode 100644 index 00000000..0d75cbd9 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-tablet100-2/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 402, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 397, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/old-tablet100-2/record.json b/docs/validation/touch-search/cohorts/old-tablet100-2/record.json new file mode 100644 index 00000000..5a8583d7 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-tablet100-2/record.json @@ -0,0 +1,82 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4", + "apk_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 0, + "failures": 1, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "800490c8afbc0ceed7d08c68767a5f96995f494c1318545d93d42a2909b6c8d2", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "0f01973c79cbab7dd04deb1d692e1c34fe7dc442205587c0cd6362bc2b1e13bb", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "ef48f0bc2b3731ef50b0244388a84e5c826166280578e7dde02d95cdbd698ac4", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "9ae6a82f564b24bc304dd74e0dca1ce5233c3daf8d3fd5a57ae9b0fa3466e44e" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/old-tablet100-2/tests.log b/docs/validation/touch-search/cohorts/old-tablet100-2/tests.log new file mode 100644 index 00000000..2bda5223 --- /dev/null +++ b/docs/validation/touch-search/cohorts/old-tablet100-2/tests.log @@ -0,0 +1,41 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:172) + +INSTRUMENTATION_STATUS: stream= +Error in emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:172) + +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_RESULT: stream= + +Time: 9.2 +There was 1 failure: +1) emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.geometry(TouchSearchDeviceTest.kt:107) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:172) + +FAILURES!!! +Tests run: 1, Failures: 1 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/ready-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/ready-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..3b05d9c4 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,39 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 1, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1527, + 106, + 1653, + 232 + ], + "search": [ + 317, + 106, + 1527, + 232 + ], + "palette": [ + 186, + 95, + 2155, + 986 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/ready-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/ready-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..4622bbfb --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,39 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 1, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1861, + 106, + 1987, + 232 + ], + "search": [ + 318, + 106, + 1861, + 232 + ], + "palette": [ + 186, + 95, + 2155, + 986 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/ready-landscape100/outer.log b/docs/validation/touch-search/cohorts/ready-landscape100/outer.log new file mode 100644 index 00000000..29ad96ec --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-landscape100/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 424, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 419, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/ready-landscape100/record.json b/docs/validation/touch-search/cohorts/ready-landscape100/record.json new file mode 100644 index 00000000..74daada5 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-landscape100/record.json @@ -0,0 +1,99 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "landscape", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 0, + "failures": 2, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "df2924c6bfd1043a9e1b6e817b6653732e2e210f422322230ec0e598f326bbf5", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "4279e60d22515516ee068719dfcbaa4b694ba9ec764c0783ebd3cf4386bba12c", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "183f4026e843e400b488a47e798d6d2ed894d2ea5087b1952e19fe6ff0d5a429", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "a20f7b24c568143f433a14653cc44e50a17a16854b8981ffb388cef3f17d83b0", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "a566941571e01fdb08838bb63d2057b8b8bf1d59677f2f20469c1841ca8e4d0f", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "4789fd81b7957830b05bd5fc3fef0221d65b1e7dac14635d49441d84eb801025", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "10cd5e47591af2b7375e3d599f070be2c479011ec803390acc15d5c5767473ae", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "4594b772a811db09a3d5fa9e10264abf8be5cee7e3c67ddd63f69fea13d4a2c4", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "48c22ccc190565d038f6c324a82bbff1cd875cdffcd5c3651f59c53b084fac52", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "993b08b0346bef7b473d1fa87de892601b0b69c1f63a584c700875c29d47bd23", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "d9b5cfb8b8763d5d68452dd5a7b3fd09cc9ba91aee98c12bd124547edc22a247", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "f5ea21f30fe4f8e8e554c5139cdb4d455cd2e6baebe4c5efec9239a1859b807a", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "bca4f2e586419cfcb3ca60a80645af1728c6925505c9eba0b4e18e7ad235ebf4", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "f8b8651c9c3bc3f07ba642a466aa6d3bcaea8cd285c8d0fb45ff13e77f2d7ebe" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/ready-landscape100/tests.log b/docs/validation/touch-search/cohorts/ready-landscape100/tests.log new file mode 100644 index 00000000..3ae56b0a --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-landscape100/tests.log @@ -0,0 +1,65 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:170) + +INSTRUMENTATION_STATUS: stream= +Error in emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:170) + +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:148) + +INSTRUMENTATION_STATUS: stream= +Error in launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:148) + +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_RESULT: stream= + +Time: 29.137 +There were 2 failures: +1) emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:170) +2) launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Assert failed: The component is not displayed! + at androidx.compose.ui.test.AssertionsKt.assertIsDisplayed(Assertions.kt:34) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:148) + +FAILURES!!! +Tests run: 2, Failures: 2 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..055fc869 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,78 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 577, + 106, + 703, + 232 + ], + "search": [ + 163, + 106, + 577, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 577, + 106, + 703, + 232 + ], + "search": [ + 163, + 106, + 577, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 163, + 106, + 749, + 232 + ], + "launcher": [ + 164, + 106, + 880, + 232 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..586cb3d1 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,63 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/ready-phone100/outer.log b/docs/validation/touch-search/cohorts/ready-phone100/outer.log new file mode 100644 index 00000000..bcb1de14 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-phone100/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/ready-phone100/record.json b/docs/validation/touch-search/cohorts/ready-phone100/record.json new file mode 100644 index 00000000..3e0e69ca --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-phone100/record.json @@ -0,0 +1,114 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "5ba416140b648112d6cd7cbaf47ad20e47e20763bc93489e77da73b57e671ff3", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "f518915922391a16031559b182bd51b1d3f1b11a6d80fcf466fc6f43fbb8e708", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "fe1e0162c95b6ab67165deddb69218c6200386fc7d91a1371c2d3edfad5c3e5a", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "93d3f0b7f401f583b970a4d5995737d65be2f782d0c98f67f5f82295a5bf4dfc", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "fc51f5c9bf122a9d4a78810098c75ee4464137a258d5225a70bb90e350f637f3", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "7f514ddd80e67f155791ac86266aca6236e48cb68e04c2462ded9a1c0e3d3f39", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "b1884985f51c4090a2e9c3bef317386cb85f1f534e25e6ff56b597e7fe06d900", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "bcc6d9b568ecae771777e2dd8c517ba6d231c5949b980fa1eabe2e0cb3536a19", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "3d3f02432a6c1c3941e976fde6dafcafefe31b947208809a5eb4e6dbec241761", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "92f26dde65273f0c8bbfd62f635f9b8817e6a5db1b81a2bc7a6f87e96a2847e4", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "f2f7f08621c427bc19b2b30ec1a661142a990650968e5a09f74351532f0cef96", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "f284ab9aec54fe48812e19f8bfe5eac8bc81c4ba37b7fbdf0fd683f14d2de987", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "0d47cc8894c0f79e34ab0349643e7f3ab119865a2bf569e52ba3f7c3e3bc1474", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "9980bac6f709233f28a5d9aa4c44649edb58a5f8075849961a9dc2a1b2e5b757", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "f605da15421043e3f7b10d158f8254172b79551acaaffc2475fc5dcd4b05988b", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "37f5ed2fcbd5d168694d717d96661cdf5f9832bd037dd4947e2ea7072e2583ae", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "b6efd70b606fb40d38a50aefc57e842ee949a319a571b4337572c2e2988898ac", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "d3ba0b0ca9187f8bce3a85279c579973492b4254653dba5ce6f9f856d2398b91", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "4c81703ab407588cd7283145e81aa3f83bea028fe4ec05d492ca9a238afd1c2d", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "243868f93ad52115ba5fed6d185ac4125196c3fda9d35282b6425ce74644e49e", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "cdb1e323a5d7088cf0322876e4e614ab21dca45f5202eaf7684ecf7af8ac26a3", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "efa6a9949c78f198e22bb0885a9f639beb4083149fbc74f9655af5f789d6ade7", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "b6efd70b606fb40d38a50aefc57e842ee949a319a571b4337572c2e2988898ac", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "1b498e10d791454fd90d3a0d139066dd35ad6f72c6f527b1286e467ae50ff8ac", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "6c6835f04798d4c1adc99f9b059f9fd973308f18426f917db64107d75a9b6d28", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "a6e44aabe78f73c59272a409c355aaf1c41351973416b0109b317b2529e7e84f", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "245a93f0d1acddf4210145d15dffa7d85b6cec2b13023970ed8adff99ea8cdc2", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "b130cc50d72acb82b7da1d4b5d9a824e2fbedd76b3902a392e016d0aedef9949", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "7b7151bbf57d2c16760baa375561d6f77a245ff690ea8cca076dcca1557a34e7" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/ready-phone100/tests.log b/docs/validation/touch-search/cohorts/ready-phone100/tests.log new file mode 100644 index 00000000..e4c6e983 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-phone100/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 42.841 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..9afcf9f0 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,78 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 2, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 558, + 107, + 684, + 233 + ], + "search": [ + 163, + 107, + 558, + 233 + ], + "palette": [ + 32, + 95, + 1048, + 1965 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 558, + 107, + 684, + 233 + ], + "search": [ + 163, + 107, + 558, + 233 + ], + "palette": [ + 32, + 95, + 1048, + 1343 + ], + "density": 2.625 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 163, + 107, + 717, + 233 + ], + "launcher": [ + 164, + 106, + 880, + 232 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..6fdd1c11 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,63 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 2, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1965 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1343 + ], + "density": 2.625 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/ready-phone200/outer.log b/docs/validation/touch-search/cohorts/ready-phone200/outer.log new file mode 100644 index 00000000..bcb1de14 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-phone200/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/ready-phone200/record.json b/docs/validation/touch-search/cohorts/ready-phone200/record.json new file mode 100644 index 00000000..df405d9c --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-phone200/record.json @@ -0,0 +1,114 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 2.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "c21dfe4c08e6a1a42bbce85897d8b8449fc2ef7f2f954245a3506467d358aa90", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "16089d40d979610a54b14a9a0011f8c7937422faa8bc336b5f77f4d974d2f65d", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "984b23189d77d75476b0a54ae9d007910572fd9a0a0b4d25e8d875786a33386a", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "f35b5594ae6addde9caf247e46f410f77ff0099f1b090df0aa1f2f497e61f357", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "35931c2ba03a6d05b8bfc79e6c8e7acb7062072e0b46ccaf0eba5457aabc3122", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "c69e902101db4262f6351048e718cb3f61ade3b85a7014e55fc99a526e4d7dae", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "e1735696244b29fe50c3069ea8fda632b2cad73cc5c319a2a03de386fdf88439", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "6729be124ade471cb9b8db7591780281a097c463e615ed585d41ef2b4ed612b5", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "0f3293bc144373e5be063b22ae87394b759214afbbe8085dc4cb560f9321c3b4", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "9c6b4c56736c265d19e5e7d65c4782aa6afbbd4e62450985f6bdbdcc5f210176", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "d53751dd50e69aded246bc4e03347c0a0d5d3e586b61039bd15c5cbb67feeea9", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "01b2db217cd988810a1b2a46a1b6a979aadecaba4c574201a0170a3046e4d427", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "2c2a1cc417f696219afb1798cc2d295caad0e325bb2599d4ad040c96b8c7dd34", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "721c289eedee1486fccdaed4a8e37d66ca90d4592fd0ca58ce386e46b58db6cb", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "9c815d4f11b17fa32624d6cfd9f275d89ef84bb64e6806c3562787c8e65e737f", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "97faf6c010b6c3d441aa6cfccced3e40ce12bd3807170ee6d8998a22b56bf3e6", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "8043b18d7f66a74c0309439d2fb6036d8ca00293a64a0f76f7261477d92e18c6", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "206787b1b2fae22e65f68d642edf6ecca3f4777de5f324c027c8176aa84b327f", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "4e13035806d38c08ea352fd13befb5f4c45c323d5527900406301bafcfbaffa0", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "d173fcb6aef808ac677f8ed39326ad47eac636c351064e8e1bb95848cddb1321", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "d01264aadf5bf0449ecc2397da24939d5f08f6d245c01bc0b1f1faaa5e83c419", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "312926bbd33e6988a634e3b50306cd23ab892dd5df4bbc06a6a5d5ad0e23f3be", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "10a8b8d25cde59abe2b8ff0d44f541ff85e874c3624c3309914eb08124aebc5f", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "9f8ca7dfdd38c5a1d95225ad02260576193d3d093980697bfde8471fcc47a319", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "5995d6ab8d94ab7c87eb3694173de90cfa07b96b06fd69eb39810767cba71d1a", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "34d2e4caea2cb2d86a6e0eab0fa9f5dc5d6a6b4c745aeece68bcaa8d3b0d1639", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "362fd2160159b231cb256cb94eff7769e7eabf2fc42db3a118c7fb1294749a47", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "a52d30001f8e99d5aff4a508561d72540a028c9e5504b9d1ec04a60c803204c2", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "18e54f6092002b87268bc135ae636d19257cedbc9fb9e942b3e337413d5eaafe" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/ready-phone200/tests.log b/docs/validation/touch-search/cohorts/ready-phone200/tests.log new file mode 100644 index 00000000..34b0b876 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-phone200/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 25.13 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..a7bc1019 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,78 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1161, + 243, + 1233, + 315 + ], + "search": [ + 473, + 243, + 1161, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 950 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1161, + 243, + 1233, + 315 + ], + "search": [ + 473, + 243, + 1161, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 473, + 243, + 1280, + 315 + ], + "launcher": [ + 473, + 243, + 1355, + 315 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..9d2e26be --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,63 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 950 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/ready-tablet100/outer.log b/docs/validation/touch-search/cohorts/ready-tablet100/outer.log new file mode 100644 index 00000000..bcb1de14 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-tablet100/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/ready-tablet100/record.json b/docs/validation/touch-search/cohorts/ready-tablet100/record.json new file mode 100644 index 00000000..4caaf312 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-tablet100/record.json @@ -0,0 +1,108 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "c012bb36584bb5ee42d0132b63afdce67cde6236b3cfa56f5c5302fd5ac87bf0", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "8493c0150c8a8a849bc2ae5940fcedca594b948e18dcb10a35fa32ebdd7bfaf7", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "8a8b31c0d22a855a570ba6c639237bab5fc49cd27895df16985d603a572b1bea", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "a8a09c8d4d1e623b082e7d18f7117b6cc62ca85b6d56c1d80beefa3a22edd8c8", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "d45bf2478050da5924d350491c035c3d2a0e30e1c792bd4faa23c30c4303d3bd", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "844559e987e11c2eed1109abf350462cb44c5c0a154b4c44442d8c23c84b2b66", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "5aed2dac987648070b07d8cff169f33bf4c784012e4c9ab83db53069a6acf4e1", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "d9b9c5191cfe739cbb96ddd395512b966c231c8daf417238a8ef0fae567fb1c6", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "d05792bb5f6b9173879bdefa49259ada70d5d17d5d3f3be82d57444916e8d74e", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "7e938c350624d8cc19aee01dfb05f1ef6f6d4fc55865dee405512b8dc7b20518", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "44cc9f72add75dd2a082962628ccf4b206d42e66bea617270c69a3865a82aa30", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "e40dd5dfc9a198ecdd6d37556a157653d5e73a54b33e682475c2bbd5392083a1", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "a154f03339c63091264bf658372fa7c5eaf5e08ecc88886b316b7cfc7ad6e429", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "78ba715b8b3213e821f12cb20d78d3278b425a970f9408355f8874d19fef96f6", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "35511b6fb5c4b7a16356e7f7d0e754117be1dba14303578f4ca0641ad9a0f219", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "3390d8b768c87306117b69fbc0bede1771de792fe9abf8a650c5a189a63d0ff1", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "140e76781b76232220e31a7c628eae2c6c3a9fd3db5ea5e4757336d862e535f0", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "b8dd957dd5953dcff6df6f48a4ed358669521864dfcd684ffe68e622a35956a1", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "88877dea617fc2af0e7a819b91a632a39f0ff447ffddb4abfc8f6867257e18f5", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "9cfa36e028fd26d6fcb4e072639347383e13fb112732f742f1b1a09678ac626c", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "157f77da47c9d093247eb12aa9f4544f63470e08906fce0b6ae0b81059d79740", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "d5ec32a2a67ac640c4cabdf85bda96c9b1b53413d7eb7557d0b076d5446804a2", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "ca53ed08f70c06f1055adc910ec9f5b8b0d51ef118de906337cee237f84c402e", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "1327db9a6d58dd0229f5b2c121b8e42f52648b9c321609ac1b34fb518dfb04f3", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "24f14fbb85af3c234aa1331a17c44cc066fb61f585c34ac2cc65de7aa6af5096", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "972e18f29d985425de65d7276240f5be5d2d7c32a2a027565ca6eb459c5b011a", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "e6039cafb382c8c5c301aa9361ed9a6695f36ab9f12a64f5352676c9ddfed469", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "6d9e8b4bcac5699874bbec015627b480e85feb0582c312ae3c969c3eaf3ca17f", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "b522c56c3a9207fe82a25c2c4a1ea6e0a86e1e22f802516bc16b2056e0f01fb9" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/ready-tablet100/tests.log b/docs/validation/touch-search/cohorts/ready-tablet100/tests.log new file mode 100644 index 00000000..76f4fccc --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-tablet100/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 50.893 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..feabfa72 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,78 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 2, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1065, + 243, + 1137, + 315 + ], + "search": [ + 473, + 243, + 1065, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 1134 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1065, + 243, + 1137, + 315 + ], + "search": [ + 473, + 243, + 1065, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 473, + 243, + 1261, + 315 + ], + "launcher": [ + 473, + 243, + 1355, + 315 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..c04a58f4 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,63 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 2, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 1134 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/ready-tablet200/outer.log b/docs/validation/touch-search/cohorts/ready-tablet200/outer.log new file mode 100644 index 00000000..bcb1de14 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-tablet200/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/ready-tablet200/record.json b/docs/validation/touch-search/cohorts/ready-tablet200/record.json new file mode 100644 index 00000000..a5c4d3f5 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-tablet200/record.json @@ -0,0 +1,108 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 2.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "cb90c642e3a30d6f5d5138965f5f2e456a2690f75e9d620b8df9b18a54ab0051", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "fb1543993218a3deb5d12139e7b126eb66d79408f1da2d50ec6c01b16d14ac03", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "539f2bda830bf4cfdcbe6ddf5292cb32ce354a96b7e4e08ee26c15e322ac1e03", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "506626faf3fc2410e2150f0640f38ed5d7e667df14182ae40d689b1e37442fab", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "104c2ccedb8edb151d02f0f7688a067f7c3971c9627823814d32d8983d9892b6", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "cb72b49a2840c16060634ef0e9880c647b6dfadaf48a874c1786af2019a3615d", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "6e483c974afd42ee5346462ab7270e127af8566144f97fa4b34179e5987e3e4c", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "0d331f7dd18705249c3db6669e6efc3857dfaf5c064dab6001b475049f7848d2", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "12702a0724b7eff7dc55aee6be56016d04974e255948d12858a9f864552e6a3c", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "f3708ff77ba53dee549b7509b7fbf77df7e13cc48aabcf352e219d62c0658dec", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "eaa21d1ab89579370ea95738709758c79067e35ef84558abd391c4268224defa", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "124d29121650f25b3038b4863938c3ead302126fd5ba58550f8482dc717a4a0b", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "31baef82ec081454fb4785b91403aa58fc1033fbb654ff7adcb41ee5acb8f340", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "57812ff443de36b5bdbce7f9196a2bd9380b579a5a01074892b35b2ca298800b", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "545ffdf4e0c3135fd723e9a321aa56553cd96b3d18bdb72a2fb5862a57b8ee87", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "3532dc428a2dd5e1849b558a693e0c85d51347e8febd457149cb6a3b6e531a02", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "2117cf16f5d9c4d803ea0ab18ea15e63ed8628eaac2b7988226bf4f2ad450aaf", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "2220f422b51074699756c29017d7e7a5c617c625221ae0841c1c03c2bb751aca", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "5ebb0a0773340985fc4b867f81028ce0227b9e6b92b11043689192fdf7ec542b", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "166f8c712cfbdb37d3d969fffd47d8a1c80291a1b824b72a17405223bd3b160b", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "669bc5db0b32005367212c3965991add533012d2c472e033e9b5b93ae11a6731", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "b520db8f0022d0c0fcd76aa49c2d537f9f57433a32bec2c0fc4d64ad2505d801", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "ae8f53b308d6cdb692dd77279686b4cdce099d9b29ca75f9d3a61c75cf372bb8", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "106eb4d17b6c4838e762be2e48a3787740c289c1e0a9c5cbfe4847fe6ecdf89b", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "93f43193e27a09f4dc41451fe0626528dd2a5636f660df82c3111a96bd6942fd", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "ac7e771b4d402c0722773ec154c5c7fbe2c92c5c2d72feae7bc6fead76462bf3", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "923cc0f8c96e22727d98d703e3721bd07222c08d5f816a209c224cca62286215", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "7f8965715aa49d7a4295e8ed5ff74931aeef492d0bd64f68ef3201d7b8c8049e", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/ready-tablet200/tests.log b/docs/validation/touch-search/cohorts/ready-tablet200/tests.log new file mode 100644 index 00000000..1617a8c6 --- /dev/null +++ b/docs/validation/touch-search/cohorts/ready-tablet200/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 39.84 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..ca17011e --- /dev/null +++ b/docs/validation/touch-search/cohorts/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,62 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 2, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1065, + 249, + 1137, + 321 + ], + "search": [ + 473, + 249, + 1065, + 321 + ], + "palette": [ + 398, + 237, + 1523, + 1134 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1065, + 249, + 1137, + 321 + ], + "search": [ + 473, + 249, + 1065, + 321 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/spacing-control-tablet200/outer.log b/docs/validation/touch-search/cohorts/spacing-control-tablet200/outer.log new file mode 100644 index 00000000..0d75cbd9 --- /dev/null +++ b/docs/validation/touch-search/cohorts/spacing-control-tablet200/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 402, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 397, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/spacing-control-tablet200/record.json b/docs/validation/touch-search/cohorts/spacing-control-tablet200/record.json new file mode 100644 index 00000000..0223e9ce --- /dev/null +++ b/docs/validation/touch-search/cohorts/spacing-control-tablet200/record.json @@ -0,0 +1,91 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4", + "apk_sha256": "e143a921f4adb69551ad327ee252ffb7008b207ae1b814542f980dd8c17a7a34", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 2.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 0, + "failures": 1, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "3b9713a90d02184420e2fd6063a6b0a4162acbb3897c0c50538e7198dea90a5d", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "483a19e90fc38efc8d3f4753cce9b0e8f2f26177195d730b8f505a658c3313a0", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "af93c54e66c94ec30aaa05b574e3dc67018f595bd4a31a7beb1f36e3e28db3f6", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "f5b5b88e91e8f5e8b4995f1ccb1fb57c24cc4aa72db6f05af838993e6a57aa38", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "d4fbe73ebc29ecdf1483b193a49163823687bc53c395c39665244ca0faa68ff3", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "1150019e60cef61241bc56e7e59b66f23955161e4bb57932f76cacdba8b91d2d", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "5de71c3a64b7e3be32474f3b9f4fc2ad804fc51f1f7f1ed01ced7cb2d8b651c1", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "41a48585199143d77819476da688b170e3bdf2c9295c10cf033c0e95f129c7f9", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "c75370405db044d1dad25d7839e29a42587a66205c8b434e45999c6fc3d8d621", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "4b9787990930d22c1da211b3a653628a5ee67bf029ec5e5e4485e36e3ecabf31", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "7b7163483e42a4e481faf98b0d6dff7834c5aa2eb3ee1ba1f7f7fabcd5f3dca8", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "5089865def933a36d306ef298d51be6eef73b19a99e00ea6d32a83e8e914a10c", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "608522254d6159fe90250aa446dda86939777df515d7336fc0676d9719a6a9f1" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/spacing-control-tablet200/tests.log b/docs/validation/touch-search/cohorts/spacing-control-tablet200/tests.log new file mode 100644 index 00000000..0bd4d114 --- /dev/null +++ b/docs/validation/touch-search/cohorts/spacing-control-tablet200/tests.log @@ -0,0 +1,44 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=1 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Returning retains the search baseline expected:<249.0> but was:<243.0> + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.failNotEquals(Assert.java:835) + at org.junit.Assert.assertEquals(Assert.java:577) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:184) + +INSTRUMENTATION_STATUS: stream= +Error in emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Returning retains the search baseline expected:<249.0> but was:<243.0> + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.failNotEquals(Assert.java:835) + at org.junit.Assert.assertEquals(Assert.java:577) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:184) + +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_RESULT: stream= + +Time: 32.18 +There was 1 failure: +1) emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Returning retains the search baseline expected:<249.0> but was:<243.0> + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.failNotEquals(Assert.java:835) + at org.junit.Assert.assertEquals(Assert.java:577) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:184) + +FAILURES!!! +Tests run: 1, Failures: 1 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json new file mode 100644 index 00000000..056fed38 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json @@ -0,0 +1,10 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "currentClearUsesLiveQueryAndRecreationRejectsOldCallback", + "api": 26, + "font_scale": 1, + "live_query_clears": 2, + "rejected_callbacks": 2, + "completed": true, + "events": [] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json new file mode 100644 index 00000000..83dfca95 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "caller-return", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": true, + "api": 26, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml new file mode 100644 index 00000000..00eea761 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..8f87ea94 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,106 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 26, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1247, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 578, + 106, + 704, + 232 + ], + "search": [ + 163, + 106, + 578, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 927, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 578, + 106, + 704, + 232 + ], + "search": [ + 163, + 106, + 578, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1022 + ], + "density": 2.625 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 163, + 106, + 749, + 232 + ], + "launcher": [ + 164, + 106, + 880, + 232 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..82d3736c --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 163, + 106, + 578, + 232 + ], + "ime_visible": false, + "api": 26, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..b4096003 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..29a74331 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 163, + 106, + 578, + 232 + ], + "ime_visible": false, + "api": 26, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..31caf48d --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..6189d047 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 163, + 106, + 578, + 232 + ], + "ime_visible": true, + "api": 26, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml new file mode 100644 index 00000000..32856ef8 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml @@ -0,0 +1,370 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..911230a7 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 163, + 106, + 578, + 232 + ], + "ime_visible": true, + "api": 26, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml new file mode 100644 index 00000000..03a07173 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..dbe1eccd --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,91 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 26, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1247, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 927, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1022 + ], + "density": 2.625 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..0d15faba --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": false, + "api": 26, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..52b648a7 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..fef87ed8 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": false, + "api": 26, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..0d6f9b72 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..551ea4be --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": true, + "api": 26, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml new file mode 100644 index 00000000..ce02ae67 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml @@ -0,0 +1,335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..bb3f8053 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": true, + "api": 26, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml new file mode 100644 index 00000000..96d390a2 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml @@ -0,0 +1,310 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json new file mode 100644 index 00000000..621724f3 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json @@ -0,0 +1,9 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "api": 26, + "font_scale": 1, + "rejected_callbacks": 5, + "completed": true, + "events": [] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json new file mode 100644 index 00000000..72c1e896 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "covered-by-menu", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": false, + "api": 26, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml new file mode 100644 index 00000000..22adabf7 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json new file mode 100644 index 00000000..3792596b --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "replacement-emoji", + "search": [ + 163, + 106, + 749, + 232 + ], + "ime_visible": true, + "api": 26, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml new file mode 100644 index 00000000..6a23d0e2 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml @@ -0,0 +1,339 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/outer.log b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/outer.log new file mode 100644 index 00000000..2b17f6e3 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 4, "failures": 0, "expected_negative": false, "preserved_file_count": null} diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/record.json b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/record.json new file mode 100644 index 00000000..81007fa5 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/record.json @@ -0,0 +1,102 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "currentClearUsesLiveQueryAndRecreationRejectsOldCallback" + ], + "api": 26, + "font_scale": 1.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-absence-dev.tinycast.android.test": { + "passed": true + }, + "restore-absence-dev.tinycast.android": { + "passed": true + }, + "verify-initial-package-absence": { + "passed": true + } + }, + "passes": 4, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 58.0.3029.125)" + ], + "original_geometry": { + "size": "Physical size: 1080x1920", + "density": "Physical density: 420" + }, + "original_font_scale": "null", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "262fa1bfe3e381ce13020fb77d6d4c293ca98d802deac7b7ae24973d97f7cb7d", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "fbf1c6712443f54b71d4c14bdfb357a67f9547279adccd0d1e543d6830600c84", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "4edb089a0d0cc912e3a39a2ad453ca0e74a7e3b02936ebf754598daed0e3ddea", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "8c653f3ca2d857851ea9ed6af59a7192007ff37c146ddef6bf694114d7e8ed6f", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "22d097b13429786b897dad241877dc3bf444afe265a4c4d6c0b50c5830d61c3b", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "d6cadd16243a505faec61d5647c211d47e1ca4d575c001ef7c07fb526b1f78b2", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "f2c655335f71c275947bfb962ca3ffe2607477a6e728dbcfaa55815f3306b27f", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "48704d81914767c019542921b8a00d68529fb5f791a8146862d0ec882436625f", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "63262b9aece34538793029df166aaf5c39db6df03bde66f02fb8fa9d8d56cfcd", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "7f6c9bc77b961b0e876032465cb322e0a6be199df5622ced9cb172eb98012170", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "e3e86dc34e17f9d4adae93313549b176553d31244661960aebc38c5e45111cd8", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "52b5280c366ccc83da37ceb5aa5cbfb3e8758a97b7da2008a900164144a30d09", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "fb25230c79f59c1964b6a6ca884cfdfec61b0b212858a7e3d6e505112ba9447c", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "2b23e4658c3740f32a13efaf142cd0c317e35df81120c2fd45d8a69c1615184e", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "91791c46dd5cc282fb68a5e5c9ee1acc987b90e191e9d1a48035927168bd4332", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "19f1dbfd73174baeea4211d99460ec9de8d4b9e26d66c50a1de13f64f6721750", + "currentclearuseslivequeryandrecreationrejectsoldcallback-case.json": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "fd259abb059547a6320b19e2afec387fbe395fc842c0582c3828df3d47def6eb", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "be23688db55ecc0d4bab638e94f8ab096ef47a65f0364fa2e363337ee3851e6f", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "57d9eb8a9348347861053e27fc27cfb1f89095e89eab088b7b4525a0bd353bf8", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "647f1d250d8879c8316791dff2ca452d3c9d8b4e8a9dd5975fb6b3bd96819e9b", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "cf05ec75264f4e4278c56b61c76f6d14ea8628d866a00ba648bac8387f6f02d2", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "d28dccb4a1204bf927a946a539df0be3fc4352d94d753d6ba2c7fdc6cc12cac8", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "ddef5099c82c9cbfb4c836f656f3f822ba6262cd2460e1311600656a41001380", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "28b7fd2c5cb300b3e98d1c0a2f61148d2d1fc620470a26524c3f2a34e10dfc0d", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "eedc3a4f0396709a57cae7dab482663b8cc0a887b71ca36eac43dc3424eb1a63", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "1a12bccc944c0d9f76063a40054d16aa2bb3a2f5851ef0cdd963668e9bdeb2e8", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "1763f0f95f0773a69f5fc1983786115270acb30f14cd277146706243a675fca6", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "1000d8060b7466d029a06bcc1c05903a87b2e793da19cf59e23ebdffffd42306", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "f1ea376b12e0b149e66e489f9f8e3694a50fd172aef9d54620e57877b3084b0c", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml": "3708eb83ad537858822f0f6fe1758d751148792c74a8d6108ea13b0d2d737492", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png": "068e8eecdd8f8d293a3ed4f1d8cce0d6bb2ee5b4c42237185379cf4fef837efe", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json": "f1d308a5eb0f6b26ee0ae36bc295f36e65b61cdd9c287110f1bf5fb972747719", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml": "fbf1be21dd4953761042a766146e339e5dc199d9b8ee814191df5016e6fc7657", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png": "3715ee0884d279d447d5be8d31c7830c35d6dc351092e67a807a93d0981a9541", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json": "8852e5e7085304ab359cb508307fb5ff0be4bc9715224d3edd881d56a86c8cfc", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9" + } +} diff --git a/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/tests.log b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/tests.log new file mode 100644 index 00000000..c7748d7a --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/tests.log @@ -0,0 +1,65 @@ +INSTRUMENTATION_STATUS: numtests=4 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=4 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: numtests=4 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=currentClearUsesLiveQueryAndRecreationRejectsOldCallback +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=4 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=currentClearUsesLiveQueryAndRecreationRejectsOldCallback +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: numtests=4 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=3 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=4 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=3 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: numtests=4 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=retainedClearCallbacksRejectReplacedSurfacesAndMenus +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=4 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=4 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=retainedClearCallbacksRejectReplacedSurfacesAndMenus +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=4 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 71.915 + +OK (4 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json b/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json new file mode 100644 index 00000000..056fed38 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json @@ -0,0 +1,10 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "currentClearUsesLiveQueryAndRecreationRejectsOldCallback", + "api": 26, + "font_scale": 1, + "live_query_clears": 2, + "rejected_callbacks": 2, + "completed": true, + "events": [] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..8f87ea94 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,106 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 26, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1247, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 578, + 106, + 704, + 232 + ], + "search": [ + 163, + 106, + 578, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 927, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 578, + 106, + 704, + 232 + ], + "search": [ + 163, + 106, + 578, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1022 + ], + "density": 2.625 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 163, + 106, + 749, + 232 + ], + "launcher": [ + 164, + 106, + 880, + 232 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..dbe1eccd --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,91 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 26, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1247, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 927, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1022 + ], + "density": 2.625 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json b/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json new file mode 100644 index 00000000..040f8180 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json @@ -0,0 +1,12 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "pointerClearRemovesControlledCompositionAndWhitespace", + "api": 26, + "font_scale": 1, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json b/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json new file mode 100644 index 00000000..621724f3 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json @@ -0,0 +1,9 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "api": 26, + "font_scale": 1, + "rejected_callbacks": 5, + "completed": true, + "events": [] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-api26-phone100/outer.log b/docs/validation/touch-search/cohorts/verified-api26-phone100/outer.log new file mode 100644 index 00000000..29ad96ec --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-phone100/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 424, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 419, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/verified-api26-phone100/record.json b/docs/validation/touch-search/cohorts/verified-api26-phone100/record.json new file mode 100644 index 00000000..e99f1f32 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-phone100/record.json @@ -0,0 +1,104 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "pointerClearRemovesControlledCompositionAndWhitespace", + "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "currentClearUsesLiveQueryAndRecreationRejectsOldCallback" + ], + "api": 26, + "font_scale": 1.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-absence-dev.tinycast.android.test": { + "passed": true + }, + "restore-absence-dev.tinycast.android": { + "passed": true + }, + "verify-initial-package-absence": { + "passed": true + } + }, + "passes": 4, + "failures": 1, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 58.0.3029.125)" + ], + "original_geometry": { + "size": "Physical size: 1080x1920", + "density": "Physical density: 420" + }, + "original_font_scale": "null", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "d83f1f3a3108df9d6d8662ca5edd3309d7a449602c85cc349d37a447e7847a08", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "0a826ea900bc7bfb0101cee8d8942c1d349e75bca4b3dbfcdd7e1918ddbfdaa7", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "4edb089a0d0cc912e3a39a2ad453ca0e74a7e3b02936ebf754598daed0e3ddea", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "a2070db7c05689f4c75cbd006ff397e9263e467985a4ff3b28dd19c5e2580207", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "22a63f989a0515d63ad9d31b7fb5b89fcba30ce7ef86e8b1d4d1d2f54cc3184d", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "d6cadd16243a505faec61d5647c211d47e1ca4d575c001ef7c07fb526b1f78b2", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "2abb6c758f43ac2cee2e90a78e6cce5bcdf63254b536b49d321cf098b79feb96", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "986a4bc75d15b58be950ef2ec0f1df76b5845532c784fc382dbc63de9a9669da", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "63262b9aece34538793029df166aaf5c39db6df03bde66f02fb8fa9d8d56cfcd", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "3619027d26fbb197028492859c4b0d247cc6cca18a6da2b7667e85af542f7da4", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "40c13f2223b01681d5fc25cd99e7ea5211e25bfd7476e9f3ae88271414944fff", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "52b5280c366ccc83da37ceb5aa5cbfb3e8758a97b7da2008a900164144a30d09", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "a4d6d25bd9130724f1e54ba12a2928154dc1f49d2830ff49242089c7d7357970", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "099e0fef8f89bd526e49ed38bfa4772f64b8f06e97aa9864d4f5bd74e0107b4d", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "91791c46dd5cc282fb68a5e5c9ee1acc987b90e191e9d1a48035927168bd4332", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "19f1dbfd73174baeea4211d99460ec9de8d4b9e26d66c50a1de13f64f6721750", + "pointerclearremovescontrolledcompositionandwhitespace-case.json": "e5b2ae15a6dd9d38f805c02228b2c89144ff50038f61d8bdb4a3a3d66330a50a", + "currentclearuseslivequeryandrecreationrejectsoldcallback-case.json": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "507fd0e18ab2b37f152122812df584ed74a26c01a6723ed1f52a69b56cb5e412", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "1cb7d06b113c0dd19594cdbb8a2a060befbd8f8c4e8e2cdec7d8f392bea76ef8", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "57d9eb8a9348347861053e27fc27cfb1f89095e89eab088b7b4525a0bd353bf8", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "5239e36a92b339a1ebb8c77e0fafc9e31e7d9f78fbd8ff1b52b5269926b48bfd", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "942d450d61c025f4ff5a7baa3a838b364d29807f282549c2b2cedeb4ae9622d7", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "d28dccb4a1204bf927a946a539df0be3fc4352d94d753d6ba2c7fdc6cc12cac8", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "b36e558562881699fff00d416f41be11c04fe16bd4df0b434f317ccb2f39a286", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "c1b0328bbd42c2f5f000f2fc1f6beeeed89ce730055618878933eae94e9a2e53", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "eedc3a4f0396709a57cae7dab482663b8cc0a887b71ca36eac43dc3424eb1a63", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "6c157ba30b348df06bd3812ac995dcbaea03a060003d321fc56fc2ce284ecf9d", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "75fd68d422cff6b3419e63df457dd9ef61882121a74d84ccfe922977b4801dde", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "1000d8060b7466d029a06bcc1c05903a87b2e793da19cf59e23ebdffffd42306", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "f1ea376b12e0b149e66e489f9f8e3694a50fd172aef9d54620e57877b3084b0c", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml": "a89ad79098b33c24832d6429c8c52aac0e532976afdf2b84ca51302fc791b26b", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png": "5fd848492592c4e6809c6cd9f291cd51b5e3e15bf11c0941979e0b2b62147793", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json": "f1d308a5eb0f6b26ee0ae36bc295f36e65b61cdd9c287110f1bf5fb972747719", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml": "d2d5973118c6968e4ace4aca5e53dd1941678460f4e7b83bbf5c57aa3a955dc0", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png": "89075abc6c7281436bc8bc2c085dfcc5d468ec79690975f1bc86cc473312a913", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json": "8852e5e7085304ab359cb508307fb5ff0be4bc9715224d3edd881d56a86c8cfc", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9" + } +} diff --git a/docs/validation/touch-search/cohorts/verified-api26-phone100/tests.log b/docs/validation/touch-search/cohorts/verified-api26-phone100/tests.log new file mode 100644 index 00000000..e49c490a --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-api26-phone100/tests.log @@ -0,0 +1,106 @@ +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=pointerClearRemovesControlledCompositionAndWhitespace +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream= +Error in pointerClearRemovesControlledCompositionAndWhitespace(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Controlled composition is actually exposed before Clear + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.assertTrue(Assert.java:42) + at dev.tinycast.android.TouchSearchDeviceTest.pointerClearRemovesControlledCompositionAndWhitespace$lambda$28(TouchSearchDeviceTest.kt:238) + at dev.tinycast.android.TouchSearchDeviceTest$$ExternalSyntheticLambda34.invoke(D8$$SyntheticClass:0) + at dev.tinycast.android.TouchSearchDeviceTest.withInput(TouchSearchDeviceTest.kt:224) + at dev.tinycast.android.TouchSearchDeviceTest.pointerClearRemovesControlledCompositionAndWhitespace(TouchSearchDeviceTest.kt:233) + +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=pointerClearRemovesControlledCompositionAndWhitespace +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Controlled composition is actually exposed before Clear + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.assertTrue(Assert.java:42) + at dev.tinycast.android.TouchSearchDeviceTest.pointerClearRemovesControlledCompositionAndWhitespace$lambda$28(TouchSearchDeviceTest.kt:238) + at dev.tinycast.android.TouchSearchDeviceTest$$ExternalSyntheticLambda34.invoke(D8$$SyntheticClass:0) + at dev.tinycast.android.TouchSearchDeviceTest.withInput(TouchSearchDeviceTest.kt:224) + at dev.tinycast.android.TouchSearchDeviceTest.pointerClearRemovesControlledCompositionAndWhitespace(TouchSearchDeviceTest.kt:233) + +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=currentClearUsesLiveQueryAndRecreationRejectsOldCallback +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=3 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=currentClearUsesLiveQueryAndRecreationRejectsOldCallback +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=3 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=4 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=4 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=retainedClearCallbacksRejectReplacedSurfacesAndMenus +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=5 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=5 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=retainedClearCallbacksRejectReplacedSurfacesAndMenus +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=5 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 28.795 +There was 1 failure: +1) pointerClearRemovesControlledCompositionAndWhitespace(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Controlled composition is actually exposed before Clear + at org.junit.Assert.fail(Assert.java:89) + at org.junit.Assert.assertTrue(Assert.java:42) + at dev.tinycast.android.TouchSearchDeviceTest.pointerClearRemovesControlledCompositionAndWhitespace$lambda$28(TouchSearchDeviceTest.kt:238) + at dev.tinycast.android.TouchSearchDeviceTest$$ExternalSyntheticLambda34.invoke(D8$$SyntheticClass:0) + at dev.tinycast.android.TouchSearchDeviceTest.withInput(TouchSearchDeviceTest.kt:224) + at dev.tinycast.android.TouchSearchDeviceTest.pointerClearRemovesControlledCompositionAndWhitespace(TouchSearchDeviceTest.kt:233) + +FAILURES!!! +Tests run: 5, Failures: 1 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json new file mode 100644 index 00000000..8529ca4e --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json @@ -0,0 +1,10 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "currentClearUsesLiveQueryAndRecreationRejectsOldCallback", + "api": 36, + "font_scale": 1, + "live_query_clears": 2, + "rejected_callbacks": 2, + "completed": true, + "events": [] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json new file mode 100644 index 00000000..e05388e8 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json @@ -0,0 +1,25 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "pointerClearRemovesControlledCompositionAndWhitespace", + "api": 36, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "controlled-composition-and-whitespace-cleared", + "search": "search" + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "controlled-composition-and-whitespace-cleared", + "search": "emoji-search" + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared-frame.json b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared-frame.json new file mode 100644 index 00000000..5f689e68 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "emoji-cleared", + "search": [ + 473, + 243, + 1280, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.xml b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.xml new file mode 100644 index 00000000..c1259922 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.xml @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition-frame.json b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition-frame.json new file mode 100644 index 00000000..298bc584 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "emoji-composition", + "search": [ + 473, + 243, + 1280, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.xml b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.xml new file mode 100644 index 00000000..c8b7daf6 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared-frame.json b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared-frame.json new file mode 100644 index 00000000..432db114 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "launcher-cleared", + "search": [ + 473, + 243, + 1355, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.xml b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.xml new file mode 100644 index 00000000..585576dc --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.xml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition-frame.json b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition-frame.json new file mode 100644 index 00000000..124f0888 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "launcher-composition", + "search": [ + 473, + 243, + 1355, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.xml b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.xml new file mode 100644 index 00000000..79cc1a06 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json new file mode 100644 index 00000000..34308241 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json @@ -0,0 +1,9 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "api": 36, + "font_scale": 1, + "rejected_callbacks": 5, + "completed": true, + "events": [] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json new file mode 100644 index 00000000..39af6681 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "covered-by-menu", + "search": [ + 473, + 243, + 1355, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml new file mode 100644 index 00000000..c56cc686 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json new file mode 100644 index 00000000..79748284 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "replacement-emoji", + "search": [ + 473, + 243, + 1280, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml new file mode 100644 index 00000000..4c6036d2 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/outer.log b/docs/validation/touch-search/cohorts/verified-guards-tablet100/outer.log new file mode 100644 index 00000000..150dc17e --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 3, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/record.json b/docs/validation/touch-search/cohorts/verified-guards-tablet100/record.json new file mode 100644 index 00000000..a2ded8e5 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/record.json @@ -0,0 +1,101 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "pointerClearRemovesControlledCompositionAndWhitespace", + "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "currentClearUsesLiveQueryAndRecreationRejectsOldCallback" + ], + "api": 36, + "font_scale": 1.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 3, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.xml": "dcf410527f61d53d781fae31890a3f446ffd7ca0492b0e76baaebde13fa633bc", + "pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.png": "e10145c6baf6f18d1d3752e78e6fc07d03b6349489013b3a53b7345424d524f2", + "pointerclearremovescontrolledcompositionandwhitespace-launcher-composition-frame.json": "808e5c4701e5e9ccc34d462e7d6b61395bd94eeabfd442d679624e59b6f8a8e5", + "pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.xml": "b3d16bb9bf82b7260718a1c1bfc0fd0e2f96378512f8959fd45870d83dc30d60", + "pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.png": "fdd6409da63265c2895558d07f9b73e254e8e01e4774e58e839b54933d4f3b4d", + "pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared-frame.json": "06b599673f1ca5a9dfa5c5fc3629ea051f09873b4a24bcea0fd8e99fbbb47c41", + "pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.xml": "c8dd1f5ff2de1f1fb5f77dee1b08a688139958ed4d415920edb971689051e88c", + "pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.png": "b869a9324f6d8e5aa5c4718247df846cad24fd4f3ba13c3791ced8ddb2e4f9a6", + "pointerclearremovescontrolledcompositionandwhitespace-emoji-composition-frame.json": "3c40f84c15e13d33285ecd1f3398f392ee3fc05c3c25397d62aa3f3ce3302f6f", + "pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.xml": "8a480e1dea867fb28722b8316277e65e8f8aba59070e564ce80f3892a46223a2", + "pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.png": "c087b452d756aef6e68821c6af6dfb6854a48c6ac15040a122a766561ade005c", + "pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared-frame.json": "86dbc28407cf78d55b5eb919da9e93125b4da909503fa866f730470797c2310a", + "pointerclearremovescontrolledcompositionandwhitespace-case.json": "9ea55a2780a25f6593038d4c25539b377199d0ec5736dfa1599f474fd2515234", + "currentclearuseslivequeryandrecreationrejectsoldcallback-case.json": "1117ca08c1e7c33028d9e680b86a3396458be049a15bb489571954e7b98dcab1", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml": "faab4626fc5dea78c0ce4fb2f3172caff03305a0f6a20afdb999a88387c7f4b4", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png": "257b5f97007e09ad84df1b1cfb4e2dc15c7498c332c1fda48422759958f90ce4", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json": "2048c3531f99b1b6bf46acd04e58c4e66db38f0c621c6262a0606eeb0f818e35", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml": "3708e054123b17e74b41546006f32716654eefa4546842213448f8a64b902f9c", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png": "df431cb83d2a0968f5bac2f9718047e1ec25c0edb4c85a8e32967b073b9df8e0", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json": "2a660eb8464caf6d138b70234b18280ddf4c139c7b027660d11b78777eb718ce", + "retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json": "7ed88a37502269347c7d2f198849d4d0f65f61461ae277e0f1f406b8cb3e3c8d" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/verified-guards-tablet100/tests.log b/docs/validation/touch-search/cohorts/verified-guards-tablet100/tests.log new file mode 100644 index 00000000..05f71eb2 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-guards-tablet100/tests.log @@ -0,0 +1,51 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=3 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=pointerClearRemovesControlledCompositionAndWhitespace +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=3 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=pointerClearRemovesControlledCompositionAndWhitespace +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=3 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=currentClearUsesLiveQueryAndRecreationRejectsOldCallback +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=3 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=currentClearUsesLiveQueryAndRecreationRejectsOldCallback +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=3 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=3 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=retainedClearCallbacksRejectReplacedSurfacesAndMenus +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=3 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=3 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=retainedClearCallbacksRejectReplacedSurfacesAndMenus +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 26.438 + +OK (3 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json new file mode 100644 index 00000000..61ceebfd --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "caller-return", + "search": [ + 318, + 106, + 1861, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml new file mode 100644 index 00000000..b73031fc --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..6edf598c --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,106 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 891, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1527, + 106, + 1653, + 232 + ], + "search": [ + 317, + 106, + 1527, + 232 + ], + "palette": [ + 186, + 95, + 2155, + 986 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 218, + "constrained_by_ime": true, + "displayed": false, + "known_layout_gap": "#111" + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1527, + 106, + 1653, + 232 + ], + "search": [ + 317, + 106, + 1527, + 232 + ], + "palette": [ + 186, + 95, + 2155, + 313 + ], + "density": 2.625 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 317, + 106, + 1730, + 232 + ], + "launcher": [ + 318, + 106, + 1861, + 232 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..6d0450fc --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 317, + 106, + 1527, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..0aa19c03 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml @@ -0,0 +1,250 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..78416580 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 317, + 106, + 1527, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..53ffe39b --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..7263fa1c --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 317, + 106, + 1527, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml new file mode 100644 index 00000000..541e5fb2 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml @@ -0,0 +1,356 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..cb516ccd --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 317, + 106, + 1527, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml new file mode 100644 index 00000000..a59091d3 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml @@ -0,0 +1,347 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..dfa323cf --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,91 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 891, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1861, + 106, + 1987, + 232 + ], + "search": [ + 318, + 106, + 1861, + 232 + ], + "palette": [ + 186, + 95, + 2155, + 986 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 218, + "constrained_by_ime": true, + "displayed": false, + "known_layout_gap": "#111" + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1861, + 106, + 1987, + 232 + ], + "search": [ + 318, + 106, + 1861, + 232 + ], + "palette": [ + 186, + 95, + 2155, + 313 + ], + "density": 2.625 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..48b03561 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 318, + 106, + 1861, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..83aa9361 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..992983c0 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 318, + 106, + 1861, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..cf6be120 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..5010a986 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 318, + 106, + 1861, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml new file mode 100644 index 00000000..59438ee6 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml @@ -0,0 +1,354 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..0072eb25 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 318, + 106, + 1861, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml new file mode 100644 index 00000000..dcf6b401 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/outer.log b/docs/validation/touch-search/cohorts/verified-landscape100/outer.log new file mode 100644 index 00000000..bcb1de14 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/record.json b/docs/validation/touch-search/cohorts/verified-landscape100/record.json new file mode 100644 index 00000000..6b841a9d --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/record.json @@ -0,0 +1,114 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "landscape", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "27656887b0a51071a383037bf19f5e3a5e78aa7fa5881b13f74e0dd2b84572a3", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "2ccae7413dd1307992cfd56fc72991d26f91ee5ad312a9d6f97eb1298e64bc6b", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "183f4026e843e400b488a47e798d6d2ed894d2ea5087b1952e19fe6ff0d5a429", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "c42c1075d0268e145884a97cf6f5f76c26645a4238f5b0dbf761f637917716c5", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "4f423882e6bc9e10af84dfc3e67885c2466693e4c64cabbe37c467834fee390f", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "4789fd81b7957830b05bd5fc3fef0221d65b1e7dac14635d49441d84eb801025", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "e8ab6095d39760c1d9b879f20efe1ea70f5bdcb430b6f953c37b734462fc830a", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "4118b294000a57401e2995cd7e5bf18e882e18e33b7b968c138eb5d6f9ff7b62", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "1d0ec6ac273400ec46e25face0f0d0a788c7e72d25a037bfa935e82db72c4f81", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "533e9ce939d1468ced4f196ea75d4f97c65c476a3700e00d0c3dbdf2f0ea3e03", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "e76a13aaee39e363ae06f13660f5dfe1f6a675fa92c0d0fd20574e2141a22041", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "d1fbfd83e2bfd1449a250961e8026ceaeccf9102dcd8c45cf37702411986848e", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "18ae1d7bf14bc50d2342be50534dc026a4daef8ece5748c017b1ce57cd6e237e", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "fea4f6872897e31e2c26190deb6b90ca57ab64212e8d973fb73e64eebd612ff2", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "3ff851df62248dc57fab3884f38b7a1cc0a8f02d32abbb47a20e16ddff95ace1", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "138fc0f1ddd3d9c15554bb1f45580fae32a12a8c723d3db4cfd295f577047ce6", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "6cdd392450e7b2da8dc46ccdf0cc2aa294d3e8aaadb489f04e06ee2b3e85826f", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "3143eaeca0699d887799f27a648011a2f87c6fdcca7e0aee05c355b4a8cf045e", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "993b08b0346bef7b473d1fa87de892601b0b69c1f63a584c700875c29d47bd23", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "a48283f72bd7a9d60e6f0b831270b457bb6e5832a14d16f3ab0bb4838d3e587f", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "55a5b89b69c4170003e5e65d7ad67d1dc1d40d79edf61d14fb7180479cadacc2", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "bca4f2e586419cfcb3ca60a80645af1728c6925505c9eba0b4e18e7ad235ebf4", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "67a2654ccc5145946b30355ce72605850ff742ca9aaefb0244066f40cc0ebb5a", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "e8d87dad3eedaedc1ae96359a7809af4ebccc0d01ba3178663c48317b6a8537f", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "8b2066848e42b833d0d775c5c76f26e89cd9d4c2a33da17fe19b0ec08a6329b5", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "0524cb80f0355ad045f2631b10c8072ceaf81228b82d030e035b19e9dd8fa4f3", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "2b9a218f4b5eca4a85e693a7cacb40c95c31a353e14603916baecad338527e0a", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "df32fe63b73a462d1be4223137d8b03660818509b982052393bac91de1851c62", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "d1f2e5232145604211979aad9c2e07a6b873ea83266697a23f6218fc62541c54" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/verified-landscape100/tests.log b/docs/validation/touch-search/cohorts/verified-landscape100/tests.log new file mode 100644 index 00000000..6aa56b2b --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape100/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 33.209 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json new file mode 100644 index 00000000..3bc32f67 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "caller-return", + "search": [ + 318, + 106, + 1861, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml new file mode 100644 index 00000000..074d67d8 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..d1b03b96 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,106 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 2, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 891, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1355, + 107, + 1481, + 233 + ], + "search": [ + 317, + 107, + 1355, + 233 + ], + "palette": [ + 186, + 95, + 2155, + 986 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 218, + "constrained_by_ime": true, + "displayed": false, + "known_layout_gap": "#111" + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1355, + 107, + 1481, + 233 + ], + "search": [ + 317, + 107, + 1355, + 233 + ], + "palette": [ + 186, + 95, + 2155, + 313 + ], + "density": 2.625 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 317, + 107, + 1698, + 233 + ], + "launcher": [ + 318, + 106, + 1861, + 232 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..e964f1be --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 317, + 107, + 1355, + 233 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..a19594c2 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..7962fb41 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 317, + 107, + 1355, + 233 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..e83df4a8 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..3c710ce6 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 317, + 107, + 1355, + 233 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml new file mode 100644 index 00000000..e5209b50 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml @@ -0,0 +1,356 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..f1d7fc61 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 317, + 107, + 1355, + 233 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml new file mode 100644 index 00000000..ad2a4ebe --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml @@ -0,0 +1,347 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..eceae4f0 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,91 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 2, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 891, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1861, + 106, + 1987, + 232 + ], + "search": [ + 318, + 106, + 1861, + 232 + ], + "palette": [ + 186, + 95, + 2155, + 986 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 218, + "constrained_by_ime": true, + "displayed": false, + "known_layout_gap": "#111" + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1861, + 106, + 1987, + 232 + ], + "search": [ + 318, + 106, + 1861, + 232 + ], + "palette": [ + 186, + 95, + 2155, + 313 + ], + "density": 2.625 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..2aa34812 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 318, + 106, + 1861, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..9aa90954 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..8b5454fe --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 318, + 106, + 1861, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..85dd7c64 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..96b69a07 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 318, + 106, + 1861, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml new file mode 100644 index 00000000..57de42bc --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..9d930716 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 318, + 106, + 1861, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml new file mode 100644 index 00000000..7980f7e7 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/outer.log b/docs/validation/touch-search/cohorts/verified-landscape200/outer.log new file mode 100644 index 00000000..bcb1de14 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/record.json b/docs/validation/touch-search/cohorts/verified-landscape200/record.json new file mode 100644 index 00000000..0c2cdbb3 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/record.json @@ -0,0 +1,114 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 2.0, + "layout": "landscape", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "da5c62b1ff0d2f6a260e659e6c8093488553bfb77ff9e41ebfebee361c2d4d96", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "4deb9890e4fd7623402c0f606073a6e3910fc8e2a34786d0e48dd09daaa81e43", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "91e30fe2306f182681c1e14bdc10ec5dd20b0f3e60207053426888fee924d666", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "b784e8c88509466d7f69da24ba694aa116c1d839506b4a1efc3eebbae1ab6fd9", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "b531f42d14804c3aa0c91f522ce054a042417e7c8971f6549bce17cfb93cd359", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "1c5a48ee9b18034366a645f597f45e07702626d853cfbd02827ffe7653cfe638", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "2fc83c861eac6e550de7bda3ede1bb3de653ec5d80f050e29bf5bd27fefb19f0", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "318794f100f56f39eb66eb1744d8df0bdc371b3b4105355cd6a1a57474012785", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "b2038cf48af24f2f33505f62bab7ddf9e099a86252d889ee9ce71d7c6508e491", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "b82e6927b357e0d7ad18f5ff4f5fea3af1b9bf57de0a4a9aed0a07ebd5d19f52", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "0ebbadb2c9640234d3ab56eb39ab9235b4aecc7eb703704ce126eaa646757593", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "c3345660a8d7c7b6ab3e8fb10ec43fa9228fb44588e693bffa12f64b8bcf89db", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "5ed47e902e7f11fe92797c14259343421e6bec5ffaa9d612294f622b329fda1a", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "84a30a53e416a3d7e5455a5efb8ee0475ef17ffe4884e138ae8971eb4b560d4f", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "acd5f9dbb3d563d18d4e0492d57a051035bd48fa3ede0d51cc95b85abceca028", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "5849308603380cc40880915d6f701018855ebbab6510b020cc6f83aa704f21bb", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "9793cda6af3c02f6d9f72fe88579696806ee41efa955b5d93dc321c9c69289e3", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "ec52a89e2f70542a87eaa0dbba8c6c6639236b2b0477a68b09274c808df31960", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "d721f6406080a349884acb9da25a1a2124f1911778c152df267408877af5f885", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "96b9e85183477e99e2b37e5cf79900b1942208fe422c80c026d02228d532f0b4", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "7e683a466d79d641cc1503c7f8495d94a79dd8e1b36daf9f05118d651effe8e6", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "28a258d4408946ccbfa7c64abe8698d5eb89caa95a5014876543fad6cbff0b1d", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "54b8558ef6d9108dd1f1298d63943786d68e83f94e5f8e385a68c1cb3e122ce9", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "03a8ab56616f421587da5eae7ef5931c6269678652e9ab99c05fde6e37c1e7b5", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "952cff225f388e1596e4c8cf386667b0543690d958481fedbfde94b62387f60c", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "e839d40e565d38ac3c4d0c2f3bbb26ce947af753965c59f2bdf40d0532607181", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "26cf9222d48b588c13ac8b12965cac169e5d955fe05ba059c763ae6e9544db9e", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "49ff1f5b37ee6c39f181485e13a7c0e0dfb9aac1013526cf359e2d0e01e0c42e", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "d9705e1d9ebfe2c2518ae1463d5b713511dd795c07ef13991d7ee943e482b407" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/verified-landscape200/tests.log b/docs/validation/touch-search/cohorts/verified-landscape200/tests.log new file mode 100644 index 00000000..692e5341 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-landscape200/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 68.61 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json new file mode 100644 index 00000000..c5865070 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "caller-return", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml new file mode 100644 index 00000000..03e335fd --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml @@ -0,0 +1,335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..53b1d763 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,106 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1247, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 577, + 106, + 703, + 232 + ], + "search": [ + 163, + 106, + 577, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1247, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 577, + 106, + 703, + 232 + ], + "search": [ + 163, + 106, + 577, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 163, + 106, + 749, + 232 + ], + "launcher": [ + 164, + 106, + 880, + 232 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..2e7d6d5b --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 163, + 106, + 577, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..51497f2f --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..24d9be2a --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 163, + 106, + 577, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..bdc6610c --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..44e3ac92 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 163, + 106, + 577, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml new file mode 100644 index 00000000..77badb68 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml @@ -0,0 +1,462 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..258133cd --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 163, + 106, + 577, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml new file mode 100644 index 00000000..bdc6610c --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..8b92b54a --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,91 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1247, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1247, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1342 + ], + "density": 2.625 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..f3087fd7 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..2376136e --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..b2b6f112 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..1e3daa9c --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..9fbca6d7 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml new file mode 100644 index 00000000..179d7caa --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml @@ -0,0 +1,397 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..88fdb927 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml new file mode 100644 index 00000000..1e3daa9c --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone100/outer.log b/docs/validation/touch-search/cohorts/verified-phone100/outer.log new file mode 100644 index 00000000..bcb1de14 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/verified-phone100/record.json b/docs/validation/touch-search/cohorts/verified-phone100/record.json new file mode 100644 index 00000000..76037573 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/record.json @@ -0,0 +1,114 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "82a2a976ea25495919c713c1f4f1d5adb9628cc30b5cbba6b70c30c2858cd9db", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "fe757c08513eab3f5250475ad03dae2aa056f30f47bd43eb751918df9375bc16", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "fe1e0162c95b6ab67165deddb69218c6200386fc7d91a1371c2d3edfad5c3e5a", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "61f240ac2f78abaf45bf71a0b383ad615716488a10b33bb0f7ca3886f2c32221", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "434fac0eefb0ff814140898fe992c1b9b525ab9cb8d1892df2fa3ea2e4d04947", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "7f514ddd80e67f155791ac86266aca6236e48cb68e04c2462ded9a1c0e3d3f39", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "82a2a976ea25495919c713c1f4f1d5adb9628cc30b5cbba6b70c30c2858cd9db", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "fe757c08513eab3f5250475ad03dae2aa056f30f47bd43eb751918df9375bc16", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "3d3f02432a6c1c3941e976fde6dafcafefe31b947208809a5eb4e6dbec241761", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "03e72977c01264eecdc7ace87e77cfdd20b791c4322451571f23ee43d933af95", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "c1ad2d03dfa44e7fda1c2f32211ad1bdc36bddbc88e9b5caa190f6db683284e3", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "f284ab9aec54fe48812e19f8bfe5eac8bc81c4ba37b7fbdf0fd683f14d2de987", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "3bb69e31d33b5c4572d28cbde4461bfab33147ce6b4a0505599448b4199e5c6e", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "22ed01931ad1b6dd80d7be5f51d6d8a720a6bd776e802dc0667eba2a8c8eee58", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "f605da15421043e3f7b10d158f8254172b79551acaaffc2475fc5dcd4b05988b", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "4b061c583a99cd703f61ab2a92846d44ddb993a419378864fee782924a7a2575", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "4489f96d437ed98c4c253c4e1ae47a64bae1cd0da2084fa091c28c229a5b36d5", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "c0b165699e5b0d7703d1ab73bdb57066700788604a337301f0884d45810414e8", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "4c81703ab407588cd7283145e81aa3f83bea028fe4ec05d492ca9a238afd1c2d", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "c99b391d43fdb12da0446a801f900a3d91611dc37e0e389fc2bcd02596e34b10", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "cd2c3091e60ee1ab84b5696f54d50fe42211516d2f5fbe39b1c4cc544cad6646", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "efa6a9949c78f198e22bb0885a9f639beb4083149fbc74f9655af5f789d6ade7", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "4489f96d437ed98c4c253c4e1ae47a64bae1cd0da2084fa091c28c229a5b36d5", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "70fce7f5f09577299ca770084ecd7fafa6ca5757499b719f3a8ed1cc3d22344b", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "6c6835f04798d4c1adc99f9b059f9fd973308f18426f917db64107d75a9b6d28", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "0b23a4010e5f3484525ab35c9004986e3688adf08764e65c62811ceb0a313c67", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "6313c7d764560e42dc8b5d3c158c85fc8dd1e29c84b9cc30048a17875751298b", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "b130cc50d72acb82b7da1d4b5d9a824e2fbedd76b3902a392e016d0aedef9949", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "5ce8dd1f4c98533131dc6b360c333325b70bd9a3606a871e724bdbaac3b2d3a9" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/verified-phone100/tests.log b/docs/validation/touch-search/cohorts/verified-phone100/tests.log new file mode 100644 index 00000000..e77b5d37 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone100/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 54.193 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json new file mode 100644 index 00000000..553d2675 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "caller-return", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml new file mode 100644 index 00000000..57a0a633 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml @@ -0,0 +1,335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..327d9117 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,106 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 2, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1870, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 558, + 107, + 684, + 233 + ], + "search": [ + 163, + 107, + 558, + 233 + ], + "palette": [ + 32, + 95, + 1048, + 1965 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1248, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 558, + 107, + 684, + 233 + ], + "search": [ + 163, + 107, + 558, + 233 + ], + "palette": [ + 32, + 95, + 1048, + 1343 + ], + "density": 2.625 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 163, + 107, + 717, + 233 + ], + "launcher": [ + 164, + 106, + 880, + 232 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..60f7ebe2 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 163, + 107, + 558, + 233 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..15c8f7e2 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..f8ab68bb --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 163, + 107, + 558, + 233 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..af6e1b88 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..9e3445e2 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 163, + 107, + 558, + 233 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml new file mode 100644 index 00000000..6cd03f7d --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml @@ -0,0 +1,422 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..617b9995 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 163, + 107, + 558, + 233 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml new file mode 100644 index 00000000..65caf512 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..ccc55128 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,91 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 2, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1870, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1965 + ], + "density": 2.625 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1248, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1343 + ], + "density": 2.625 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..9e985b80 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..ab350367 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..c18a82af --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..e4f152b1 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..06ec7e95 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml new file mode 100644 index 00000000..71242d84 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml @@ -0,0 +1,378 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..2a734b33 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml new file mode 100644 index 00000000..2945efa9 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/outer.log b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/outer.log new file mode 100644 index 00000000..bcb1de14 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/record.json b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/record.json new file mode 100644 index 00000000..9d304364 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/record.json @@ -0,0 +1,114 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 2.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "cf70cae286418bfa453d41e3307a4be16d633b1cf22eb791a7069d316e2a85a1", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "f914dd7fa3db7d3aa91be46a4c84ffb8c2cb7b74b19929f560fd9c39d567c01f", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "984b23189d77d75476b0a54ae9d007910572fd9a0a0b4d25e8d875786a33386a", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "187b7b05423d8eb01c6802f501f1010e05bf94012fe9aec44fcd61a92c9e978b", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "cbac01ae60834399b5b663ff4f51d2c28a075acbd4b2491d07d3b54d362bdd2b", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "c69e902101db4262f6351048e718cb3f61ade3b85a7014e55fc99a526e4d7dae", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "7f81693672a94362c966c9bf42df8701ed78c49dd075218d5cbcd571d38529c7", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "73effde4cb5adfa6d04b2499ea25374eb6d41d86f2102786a00cc5415a931325", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "0f3293bc144373e5be063b22ae87394b759214afbbe8085dc4cb560f9321c3b4", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "9a96fae541d03aa7cb3c6ba4ff204bb0d1f19807fcd2da42dac935f63f982b8a", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "198cd988774aa7fe75f84dd0c62fc1879959910165e0c81a8c18ed03cba102ef", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "01b2db217cd988810a1b2a46a1b6a979aadecaba4c574201a0170a3046e4d427", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "4de7146111a0d929db1408b68d3ab6e560d20cf45e4c47c74e85d512f854de86", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "379fc78c97e1648a82a4b2ad4e14aab4a7e45650a0c7d2f892911ff47ed29d59", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "9c815d4f11b17fa32624d6cfd9f275d89ef84bb64e6806c3562787c8e65e737f", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "269e213f01488e27c909db97bc3e37c996158aed07ca9474e87eac461cfe0f6c", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "9632aab8ce42675feb2ad05040f0561f07b84f7f722aae6cc524a5d44ef3199b", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "878cf13e34f709086dd4617b16d14e76284ba2e3e8faa73a6db1ef67ee0cf1e8", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "4e13035806d38c08ea352fd13befb5f4c45c323d5527900406301bafcfbaffa0", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "05e9fe2f2f2073ebeab27d3b7bec5bd0be8a282dc06bc7c1b621e75a878f83b9", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "03f8fc387a0b9645e17d38fd5ebd90ec98aa976b448618842434cf4ce1ec06da", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "312926bbd33e6988a634e3b50306cd23ab892dd5df4bbc06a6a5d5ad0e23f3be", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "b6534940a8b571177cae57771afbc42c9e9d8c9462a6a2bc5961a392e3dafc2d", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "d4607ea96b527eeb4bde9afecb09c0362dfa33981049c722b0aeb5a49ec30021", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "5995d6ab8d94ab7c87eb3694173de90cfa07b96b06fd69eb39810767cba71d1a", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "47c1b2d7e676b27b354667ca9e7ebfd2f91884e0513a7129ba4925a6d08ee50d", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "56d97b840e85b5aec50982413c19ccc0308f03829af048f70a63b91efc07645f", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "a52d30001f8e99d5aff4a508561d72540a028c9e5504b9d1ec04a60c803204c2", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "24b9ae25fd92407a030020da1dbf619093ca88662363f58df55dd696d2a9c9c3" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/tests.log b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/tests.log new file mode 100644 index 00000000..136f1c52 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 17.55 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..4e089d2e --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,49 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 2, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1870, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 558, + 107, + 684, + 233 + ], + "search": [ + 163, + 107, + 558, + 233 + ], + "palette": [ + 32, + 95, + 1048, + 1965 + ], + "density": 2.625 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..f8ab68bb --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 163, + 107, + 558, + 233 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..a6f47634 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..660f8035 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,49 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 2, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 1870, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 880, + 106, + 1006, + 232 + ], + "search": [ + 164, + 106, + 880, + 232 + ], + "palette": [ + 32, + 95, + 1048, + 1965 + ], + "density": 2.625 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..c18a82af --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 164, + 106, + 880, + 232 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..2973df93 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-phone200/outer.log b/docs/validation/touch-search/cohorts/verified-phone200/outer.log new file mode 100644 index 00000000..29ad96ec --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200/outer.log @@ -0,0 +1,10 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 424, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 419, in main + require(r['completed'], 'Native outcome failed; inspect retained receipts') + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 54, in require + raise ValueError(message) +ValueError: Native outcome failed; inspect retained receipts diff --git a/docs/validation/touch-search/cohorts/verified-phone200/record.json b/docs/validation/touch-search/cohorts/verified-phone200/record.json new file mode 100644 index 00000000..b0b09a75 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200/record.json @@ -0,0 +1,93 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 2.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 0, + "failures": 2, + "native_expected_outcome": false, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "80f1816719b88d6cadd32dccf28748cedab08ba2da5b8e2c12be9aa75fcf032e", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "c0ff747d9a075d19a0a0c6f78baac8c6ae53edc76e61086eceeb16b5bd26038a", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "984b23189d77d75476b0a54ae9d007910572fd9a0a0b4d25e8d875786a33386a", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "538125c2863a22f6253ad870da184bc6e622449ad88b871d1d07063ab75ccdde", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "d4275a550577c1b28bbe9394ef4f2d3f4d7431bc29b6d5a4ddf7261c19caac53", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "13091634e60f6fb1313ce9c7c29a6cc884b10315575a0c36ea9ed1e40e682ca3", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "4e13035806d38c08ea352fd13befb5f4c45c323d5527900406301bafcfbaffa0", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "81ca0cca0e31b02adfd3d723f1409225ae2c605fb6d5316dcf9268617fcd1a69" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/verified-phone200/tests.log b/docs/validation/touch-search/cohorts/verified-phone200/tests.log new file mode 100644 index 00000000..0baef69b --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-phone200/tests.log @@ -0,0 +1,155 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Failed to assert the following: (EditableText has exactly 0 UTF-16 units and matching characters) +Semantics of the node: +Node #74 at (l=163.0, t=107.0, r=558.0, b=233.0)px, Tag: 'emoji-search' +EditableText = 'zzownednomatchingemoji' +TextSelectionRange = 'TextRange(22, 22)' +IsEditable = 'true' +ImeAction = 'Search' +Focused = 'true' +Actions = [GetTextLayoutResult, SetText, InsertTextAtCursor, SetSelection, PerformImeAction, OnClick, OnLongClick, PasteText, ScrollBy, ScrollByOffset, RequestFocus] +MergeDescendants = 'true' +Has 6 siblings +Selector used: (TestTag = 'emoji-search') + + at androidx.compose.ui.test.AssertionsKt.assert(Assertions.kt:265) + at androidx.compose.ui.test.AssertionsKt.assert$default(Assertions.kt:255) + at dev.tinycast.android.TouchSearchDeviceTest.text(TouchSearchDeviceTest.kt:93) + at dev.tinycast.android.TouchSearchDeviceTest.cleared(TouchSearchDeviceTest.kt:98) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:197) + +INSTRUMENTATION_STATUS: stream= +Error in emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Failed to assert the following: (EditableText has exactly 0 UTF-16 units and matching characters) +Semantics of the node: +Node #74 at (l=163.0, t=107.0, r=558.0, b=233.0)px, Tag: 'emoji-search' +EditableText = 'zzownednomatchingemoji' +TextSelectionRange = 'TextRange(22, 22)' +IsEditable = 'true' +ImeAction = 'Search' +Focused = 'true' +Actions = [GetTextLayoutResult, SetText, InsertTextAtCursor, SetSelection, PerformImeAction, OnClick, OnLongClick, PasteText, ScrollBy, ScrollByOffset, RequestFocus] +MergeDescendants = 'true' +Has 6 siblings +Selector used: (TestTag = 'emoji-search') + + at androidx.compose.ui.test.AssertionsKt.assert(Assertions.kt:265) + at androidx.compose.ui.test.AssertionsKt.assert$default(Assertions.kt:255) + at dev.tinycast.android.TouchSearchDeviceTest.text(TouchSearchDeviceTest.kt:93) + at dev.tinycast.android.TouchSearchDeviceTest.cleared(TouchSearchDeviceTest.kt:98) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:197) + +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Failed to assert the following: (EditableText has exactly 0 UTF-16 units and matching characters) +Semantics of the node: +Node #233 at (l=164.0, t=106.0, r=880.0, b=232.0)px, Tag: 'search' +EditableText = 'zzownednomatchingapp' +TextSelectionRange = 'TextRange(20, 20)' +IsEditable = 'true' +ImeAction = 'Search' +Focused = 'true' +Actions = [GetTextLayoutResult, SetText, InsertTextAtCursor, SetSelection, PerformImeAction, OnClick, OnLongClick, PasteText, ScrollBy, ScrollByOffset, RequestFocus] +MergeDescendants = 'true' +Has 1 sibling +Selector used: (TestTag = 'search') + + at androidx.compose.ui.test.AssertionsKt.assert(Assertions.kt:265) + at androidx.compose.ui.test.AssertionsKt.assert$default(Assertions.kt:255) + at dev.tinycast.android.TouchSearchDeviceTest.text(TouchSearchDeviceTest.kt:93) + at dev.tinycast.android.TouchSearchDeviceTest.cleared(TouchSearchDeviceTest.kt:98) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:170) + +INSTRUMENTATION_STATUS: stream= +Error in launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest): +java.lang.AssertionError: Failed to assert the following: (EditableText has exactly 0 UTF-16 units and matching characters) +Semantics of the node: +Node #233 at (l=164.0, t=106.0, r=880.0, b=232.0)px, Tag: 'search' +EditableText = 'zzownednomatchingapp' +TextSelectionRange = 'TextRange(20, 20)' +IsEditable = 'true' +ImeAction = 'Search' +Focused = 'true' +Actions = [GetTextLayoutResult, SetText, InsertTextAtCursor, SetSelection, PerformImeAction, OnClick, OnLongClick, PasteText, ScrollBy, ScrollByOffset, RequestFocus] +MergeDescendants = 'true' +Has 1 sibling +Selector used: (TestTag = 'search') + + at androidx.compose.ui.test.AssertionsKt.assert(Assertions.kt:265) + at androidx.compose.ui.test.AssertionsKt.assert$default(Assertions.kt:255) + at dev.tinycast.android.TouchSearchDeviceTest.text(TouchSearchDeviceTest.kt:93) + at dev.tinycast.android.TouchSearchDeviceTest.cleared(TouchSearchDeviceTest.kt:98) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:170) + +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: -2 +INSTRUMENTATION_RESULT: stream= + +Time: 13.254 +There were 2 failures: +1) emojiTouchClearPreservesCategoryGeometryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Failed to assert the following: (EditableText has exactly 0 UTF-16 units and matching characters) +Semantics of the node: +Node #74 at (l=163.0, t=107.0, r=558.0, b=233.0)px, Tag: 'emoji-search' +EditableText = 'zzownednomatchingemoji' +TextSelectionRange = 'TextRange(22, 22)' +IsEditable = 'true' +ImeAction = 'Search' +Focused = 'true' +Actions = [GetTextLayoutResult, SetText, InsertTextAtCursor, SetSelection, PerformImeAction, OnClick, OnLongClick, PasteText, ScrollBy, ScrollByOffset, RequestFocus] +MergeDescendants = 'true' +Has 6 siblings +Selector used: (TestTag = 'emoji-search') + + at androidx.compose.ui.test.AssertionsKt.assert(Assertions.kt:265) + at androidx.compose.ui.test.AssertionsKt.assert$default(Assertions.kt:255) + at dev.tinycast.android.TouchSearchDeviceTest.text(TouchSearchDeviceTest.kt:93) + at dev.tinycast.android.TouchSearchDeviceTest.cleared(TouchSearchDeviceTest.kt:98) + at dev.tinycast.android.TouchSearchDeviceTest.emojiTouchClearPreservesCategoryGeometryAndKeyboard(TouchSearchDeviceTest.kt:197) +2) launcherTouchClearPreservesFocusCategoryAndKeyboard(dev.tinycast.android.TouchSearchDeviceTest) +java.lang.AssertionError: Failed to assert the following: (EditableText has exactly 0 UTF-16 units and matching characters) +Semantics of the node: +Node #233 at (l=164.0, t=106.0, r=880.0, b=232.0)px, Tag: 'search' +EditableText = 'zzownednomatchingapp' +TextSelectionRange = 'TextRange(20, 20)' +IsEditable = 'true' +ImeAction = 'Search' +Focused = 'true' +Actions = [GetTextLayoutResult, SetText, InsertTextAtCursor, SetSelection, PerformImeAction, OnClick, OnLongClick, PasteText, ScrollBy, ScrollByOffset, RequestFocus] +MergeDescendants = 'true' +Has 1 sibling +Selector used: (TestTag = 'search') + + at androidx.compose.ui.test.AssertionsKt.assert(Assertions.kt:265) + at androidx.compose.ui.test.AssertionsKt.assert$default(Assertions.kt:255) + at dev.tinycast.android.TouchSearchDeviceTest.text(TouchSearchDeviceTest.kt:93) + at dev.tinycast.android.TouchSearchDeviceTest.cleared(TouchSearchDeviceTest.kt:98) + at dev.tinycast.android.TouchSearchDeviceTest.launcherTouchClearPreservesFocusCategoryAndKeyboard(TouchSearchDeviceTest.kt:170) + +FAILURES!!! +Tests run: 2, Failures: 2 + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json new file mode 100644 index 00000000..7b60633c --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json @@ -0,0 +1,6 @@ +{ + "diagnostic_only": true, + "phase": "active-japanese-composition", + "synchronization": "Compose idle; hierarchy before PNG; XML geometry not an independent visibility witness", + "scope": "Controlled active Japanese composition keeps direct native navigation with the editor, before and after composition publication" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml new file mode 100644 index 00000000..6ba38f23 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/case-activemultilingualcompositionkeepsresultselection.json b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/case-activemultilingualcompositionkeepsresultselection.json new file mode 100644 index 00000000..7f8de063 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/case-activemultilingualcompositionkeepsresultselection.json @@ -0,0 +1,131 @@ +{ + "diagnostic_only": false, + "scope": "Controlled active Japanese composition keeps direct native navigation with the editor, before and after composition publication", + "case": "activeMultilingualCompositionKeepsResultSelection", + "api": 26, + "font_scale": 1, + "default_ime": "dev.tinycast.android.test\/dev.tinycast.android.NativeInputTestIme", + "input_setup": "Owned silent test IME plus explicit native InputConnection readiness\/commit; no system-keyboard or physical-typing credit", + "contract_completed": true, + "palette_preferences_restored": true, + "emoji_preferences_unchanged": true, + "observations": [ + { + "kind": "controlled-input-ready", + "tag": "emoji-search", + "expected_text_length": 4, + "readiness_attempts": 1 + }, + { + "kind": "observation", + "stage": "explicitly-committed-emoji-search", + "tag": "emoji-search", + "text_length": 4, + "text_sha256": "0282d9b79f42c74c1550b20ff2dd16aafc3fe5d8ae9a00b2f66996d0ae882775", + "text_prefix": "face", + "plain_annotated_equal": true, + "span_styles": [], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 4, + "selection_end": 4, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 102, + 97, + 99, + 101 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "face", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 52408753 + }, + { + "kind": "observation", + "stage": "active-japanese-composition", + "tag": "emoji-search", + "text_length": 3, + "text_sha256": "f22e589664a7450ca0686710eb046f65eff8b26741c1fb1a581ffdebe1edcaa7", + "text_prefix": "にほん", + "plain_annotated_equal": false, + "span_styles": [ + { + "start": 0, + "end": 3, + "decoration": "TextDecoration.Underline", + "style": "SpanStyle(color=Color(0.0, 0.0, 0.0, 0.0, None), brush=null, alpha=NaN, fontSize=Unspecified, fontWeight=null, fontStyle=null, fontSynthesis=null, fontFamily=null, fontFeatureSettings=null, letterSpacing=Unspecified, baselineShift=null, textGeometricTransform=null, localeList=null, background=Color(0.0, 0.0, 0.0, 0.0, None), textDecoration=TextDecoration.Underline, shadow=null, platformStyle=null, drawStyle=null)" + } + ], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 3, + "selection_end": 3, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 12395, + 12411, + 12435 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "にほん", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 52408821 + }, + { + "kind": "direct-key", + "code": 22, + "action": 0, + "handled": true + }, + { + "kind": "direct-key", + "code": 22, + "action": 1, + "handled": false + }, + { + "kind": "observation", + "stage": "active-japanese-after-direct-navigation", + "tag": "emoji-search", + "text_length": 3, + "text_sha256": "f22e589664a7450ca0686710eb046f65eff8b26741c1fb1a581ffdebe1edcaa7", + "text_prefix": "にほん", + "plain_annotated_equal": false, + "span_styles": [ + { + "start": 0, + "end": 3, + "decoration": "TextDecoration.Underline", + "style": "SpanStyle(color=Color(0.0, 0.0, 0.0, 0.0, None), brush=null, alpha=NaN, fontSize=Unspecified, fontWeight=null, fontStyle=null, fontSynthesis=null, fontFamily=null, fontFeatureSettings=null, letterSpacing=Unspecified, baselineShift=null, textGeometricTransform=null, localeList=null, background=Color(0.0, 0.0, 0.0, 0.0, None), textDecoration=TextDecoration.Underline, shadow=null, platformStyle=null, drawStyle=null)" + } + ], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 3, + "selection_end": 3, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 12395, + 12411, + 12435 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "にほん", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 52408824 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/case-committedemojinavigationandcaretareexact.json b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/case-committedemojinavigationandcaretareexact.json new file mode 100644 index 00000000..a5639cfe --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/case-committedemojinavigationandcaretareexact.json @@ -0,0 +1,218 @@ +{ + "diagnostic_only": false, + "scope": "Explicitly committed Emoji query supports injected grid navigation, exact caret and selected range", + "case": "committedEmojiNavigationAndCaretAreExact", + "api": 26, + "font_scale": 1, + "default_ime": "dev.tinycast.android.test\/dev.tinycast.android.NativeInputTestIme", + "input_setup": "Owned silent test IME plus explicit native InputConnection readiness\/commit; no system-keyboard or physical-typing credit", + "contract_completed": true, + "palette_preferences_restored": true, + "emoji_preferences_unchanged": true, + "observations": [ + { + "kind": "controlled-input-ready", + "tag": "emoji-search", + "expected_text_length": 4, + "readiness_attempts": 1 + }, + { + "kind": "observation", + "stage": "explicitly-committed-emoji-search", + "tag": "emoji-search", + "text_length": 4, + "text_sha256": "0282d9b79f42c74c1550b20ff2dd16aafc3fe5d8ae9a00b2f66996d0ae882775", + "text_prefix": "face", + "plain_annotated_equal": true, + "span_styles": [], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 4, + "selection_end": 4, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 102, + 97, + 99, + 101 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "face", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 52403064 + }, + { + "kind": "injected-key", + "code": 22, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 22, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 20, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 20, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 21, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 21, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 19, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 19, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 123, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 123, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 122, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 122, + "action": 1, + "accepted": true + }, + { + "kind": "window-key", + "code": 40, + "action": 0, + "flags": 0, + "source": 257, + "device": -1, + "repeat": 0, + "handled": true, + "uptime_ms": 52405780 + }, + { + "kind": "injected-key", + "code": 40, + "action": 0, + "accepted": true + }, + { + "kind": "window-key", + "code": 40, + "action": 1, + "flags": 0, + "source": 257, + "device": -1, + "repeat": 0, + "handled": false, + "uptime_ms": 52405791 + }, + { + "kind": "injected-key", + "code": 40, + "action": 1, + "accepted": true + }, + { + "kind": "window-key", + "code": 21, + "action": 0, + "flags": 0, + "source": 257, + "device": -1, + "repeat": 0, + "handled": true, + "uptime_ms": 52405801 + }, + { + "kind": "injected-key", + "code": 21, + "action": 0, + "accepted": true + }, + { + "kind": "window-key", + "code": 21, + "action": 1, + "flags": 0, + "source": 257, + "device": -1, + "repeat": 0, + "handled": false, + "uptime_ms": 52405807 + }, + { + "kind": "injected-key", + "code": 21, + "action": 1, + "accepted": true + }, + { + "kind": "observation", + "stage": "committed-query-selected-range", + "tag": "emoji-search", + "text_length": 4, + "text_sha256": "0282d9b79f42c74c1550b20ff2dd16aafc3fe5d8ae9a00b2f66996d0ae882775", + "text_prefix": "face", + "plain_annotated_equal": true, + "span_styles": [], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 0, + "selection_end": 2, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 102, + 97, + 99, + 101 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "face", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 52406243 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json new file mode 100644 index 00000000..10c3cd9d --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json @@ -0,0 +1,6 @@ +{ + "diagnostic_only": true, + "phase": "committed-four-way-navigation", + "synchronization": "Compose idle; hierarchy before PNG; XML geometry not an independent visibility witness", + "scope": "Explicitly committed Emoji query supports injected grid navigation, exact caret and selected range" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml new file mode 100644 index 00000000..fc8e249a --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json new file mode 100644 index 00000000..9d4ebfb4 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json @@ -0,0 +1,6 @@ +{ + "diagnostic_only": true, + "phase": "committed-query-selected-range", + "synchronization": "Compose idle; hierarchy before PNG; XML geometry not an independent visibility witness", + "scope": "Explicitly committed Emoji query supports injected grid navigation, exact caret and selected range" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml new file mode 100644 index 00000000..fc8e249a --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-api26100/outer.log b/docs/validation/touch-search/cohorts/verified-regression-api26100/outer.log new file mode 100644 index 00000000..b468867c --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-api26100/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": null} diff --git a/docs/validation/touch-search/cohorts/verified-regression-api26100/record.json b/docs/validation/touch-search/cohorts/verified-regression-api26100/record.json new file mode 100644 index 00000000..8acd8895 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-api26100/record.json @@ -0,0 +1,103 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "native-input", + "input_mode": "owned", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "committedEmojiNavigationAndCaretAreExact", + "activeMultilingualCompositionKeepsResultSelection" + ], + "api": 26, + "font_scale": 1.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "restore-input-method-before-test-apk-stop": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-absence-dev.tinycast.android.test": { + "passed": true + }, + "verify-input-method-after-test-apk-removal": { + "passed": true + }, + "restore-absence-dev.tinycast.android": { + "passed": true + }, + "verify-initial-package-absence": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 58.0.3029.125)" + ], + "original_geometry": { + "size": "Physical size: 1080x1920", + "density": "Physical density: 420" + }, + "original_font_scale": "null", + "captures": { + "committedemojinavigationandcaretareexact-committed-four-way-navigation.xml": "f84573215d81e18793c26328e13a9fab93329b043455e8720cae12e363e62c22", + "committedemojinavigationandcaretareexact-committed-four-way-navigation.png": "30a60ad4b6d83a066e2bedd8380c59e14ba06f8636e9eece25a25cd3ab33edc6", + "committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a", + "committedemojinavigationandcaretareexact-committed-query-selected-range.xml": "f84573215d81e18793c26328e13a9fab93329b043455e8720cae12e363e62c22", + "committedemojinavigationandcaretareexact-committed-query-selected-range.png": "b8de6c919e495e9cff341d0d8ef4955b72d648b34266dfc7a1d814635c4c9182", + "committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade", + "case-committedemojinavigationandcaretareexact.json": "dac1ab016d13c4e716c6c438dd984bd65fb8a12f4787de33709d91260a62c8fc", + "activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml": "0ab84983d97b0be271697471728f561102c485eaac3ac88f260fa9c1cf528248", + "activemultilingualcompositionkeepsresultselection-active-japanese-composition.png": "20d8375f3e04cbbaa95d639713ef88bddbce4d0361e19d622caea57c743714a7", + "activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3", + "case-activemultilingualcompositionkeepsresultselection.json": "4592fbad4d58da0a8dae402e467e916cb4461bd994812a737bed8350ece672aa" + }, + "ime_restoration_scope": "Four raw secure settings: default, enabled methods, selected subtype and subtype history; verified before test-APK stop and after its removal/replacement", + "ime_restore_observations": [ + { + "query_ms": 148, + "all_raw_fields_equal": false + }, + { + "query_ms": 286, + "all_raw_fields_equal": true + }, + { + "query_ms": 83, + "all_raw_fields_equal": true + }, + { + "query_ms": 73, + "all_raw_fields_equal": true + }, + { + "query_ms": 221, + "all_raw_fields_equal": true + } + ] +} diff --git a/docs/validation/touch-search/cohorts/verified-regression-api26100/tests.log b/docs/validation/touch-search/cohorts/verified-regression-api26100/tests.log new file mode 100644 index 00000000..48f4bd85 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-api26100/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.NativeInputCompatibilityDeviceTest: +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=committedEmojiNavigationAndCaretAreExact +INSTRUMENTATION_STATUS: class=dev.tinycast.android.NativeInputCompatibilityDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=committedEmojiNavigationAndCaretAreExact +INSTRUMENTATION_STATUS: class=dev.tinycast.android.NativeInputCompatibilityDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=activeMultilingualCompositionKeepsResultSelection +INSTRUMENTATION_STATUS: class=dev.tinycast.android.NativeInputCompatibilityDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: test=activeMultilingualCompositionKeepsResultSelection +INSTRUMENTATION_STATUS: class=dev.tinycast.android.NativeInputCompatibilityDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 9.194 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json new file mode 100644 index 00000000..7b60633c --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json @@ -0,0 +1,6 @@ +{ + "diagnostic_only": true, + "phase": "active-japanese-composition", + "synchronization": "Compose idle; hierarchy before PNG; XML geometry not an independent visibility witness", + "scope": "Controlled active Japanese composition keeps direct native navigation with the editor, before and after composition publication" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml new file mode 100644 index 00000000..948ef81b --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/case-activemultilingualcompositionkeepsresultselection.json b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/case-activemultilingualcompositionkeepsresultselection.json new file mode 100644 index 00000000..c1c38c7f --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/case-activemultilingualcompositionkeepsresultselection.json @@ -0,0 +1,131 @@ +{ + "diagnostic_only": false, + "scope": "Controlled active Japanese composition keeps direct native navigation with the editor, before and after composition publication", + "case": "activeMultilingualCompositionKeepsResultSelection", + "api": 36, + "font_scale": 1, + "default_ime": "dev.tinycast.android.test\/dev.tinycast.android.NativeInputTestIme", + "input_setup": "Owned silent test IME plus explicit native InputConnection readiness\/commit; no system-keyboard or physical-typing credit", + "contract_completed": true, + "palette_preferences_restored": true, + "emoji_preferences_unchanged": true, + "observations": [ + { + "kind": "controlled-input-ready", + "tag": "emoji-search", + "expected_text_length": 4, + "readiness_attempts": 1 + }, + { + "kind": "observation", + "stage": "explicitly-committed-emoji-search", + "tag": "emoji-search", + "text_length": 4, + "text_sha256": "0282d9b79f42c74c1550b20ff2dd16aafc3fe5d8ae9a00b2f66996d0ae882775", + "text_prefix": "face", + "plain_annotated_equal": true, + "span_styles": [], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 4, + "selection_end": 4, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 102, + 97, + 99, + 101 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "face", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 5800864 + }, + { + "kind": "observation", + "stage": "active-japanese-composition", + "tag": "emoji-search", + "text_length": 3, + "text_sha256": "f22e589664a7450ca0686710eb046f65eff8b26741c1fb1a581ffdebe1edcaa7", + "text_prefix": "にほん", + "plain_annotated_equal": false, + "span_styles": [ + { + "start": 0, + "end": 3, + "decoration": "TextDecoration.Underline", + "style": "SpanStyle(color=Color(0.0, 0.0, 0.0, 0.0, None), brush=null, alpha=NaN, fontSize=Unspecified, fontWeight=null, fontStyle=null, fontSynthesis=null, fontFamily=null, fontFeatureSettings=null, letterSpacing=Unspecified, baselineShift=null, textGeometricTransform=null, localeList=null, background=Color(0.0, 0.0, 0.0, 0.0, None), textDecoration=TextDecoration.Underline, shadow=null, platformStyle=null, drawStyle=null)" + } + ], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 3, + "selection_end": 3, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 12395, + 12411, + 12435 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "にほん", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 5800983 + }, + { + "kind": "direct-key", + "code": 22, + "action": 0, + "handled": true + }, + { + "kind": "direct-key", + "code": 22, + "action": 1, + "handled": false + }, + { + "kind": "observation", + "stage": "active-japanese-after-direct-navigation", + "tag": "emoji-search", + "text_length": 3, + "text_sha256": "f22e589664a7450ca0686710eb046f65eff8b26741c1fb1a581ffdebe1edcaa7", + "text_prefix": "にほん", + "plain_annotated_equal": false, + "span_styles": [ + { + "start": 0, + "end": 3, + "decoration": "TextDecoration.Underline", + "style": "SpanStyle(color=Color(0.0, 0.0, 0.0, 0.0, None), brush=null, alpha=NaN, fontSize=Unspecified, fontWeight=null, fontStyle=null, fontSynthesis=null, fontFamily=null, fontFeatureSettings=null, letterSpacing=Unspecified, baselineShift=null, textGeometricTransform=null, localeList=null, background=Color(0.0, 0.0, 0.0, 0.0, None), textDecoration=TextDecoration.Underline, shadow=null, platformStyle=null, drawStyle=null)" + } + ], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 3, + "selection_end": 3, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 12395, + 12411, + 12435 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "にほん", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 5800987 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/case-committedemojinavigationandcaretareexact.json b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/case-committedemojinavigationandcaretareexact.json new file mode 100644 index 00000000..6fd3c210 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/case-committedemojinavigationandcaretareexact.json @@ -0,0 +1,218 @@ +{ + "diagnostic_only": false, + "scope": "Explicitly committed Emoji query supports injected grid navigation, exact caret and selected range", + "case": "committedEmojiNavigationAndCaretAreExact", + "api": 36, + "font_scale": 1, + "default_ime": "dev.tinycast.android.test\/dev.tinycast.android.NativeInputTestIme", + "input_setup": "Owned silent test IME plus explicit native InputConnection readiness\/commit; no system-keyboard or physical-typing credit", + "contract_completed": true, + "palette_preferences_restored": true, + "emoji_preferences_unchanged": true, + "observations": [ + { + "kind": "controlled-input-ready", + "tag": "emoji-search", + "expected_text_length": 4, + "readiness_attempts": 1 + }, + { + "kind": "observation", + "stage": "explicitly-committed-emoji-search", + "tag": "emoji-search", + "text_length": 4, + "text_sha256": "0282d9b79f42c74c1550b20ff2dd16aafc3fe5d8ae9a00b2f66996d0ae882775", + "text_prefix": "face", + "plain_annotated_equal": true, + "span_styles": [], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 4, + "selection_end": 4, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 102, + 97, + 99, + 101 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "face", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 5790722 + }, + { + "kind": "injected-key", + "code": 22, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 22, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 20, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 20, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 21, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 21, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 19, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 19, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 123, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 123, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 122, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 122, + "action": 1, + "accepted": true + }, + { + "kind": "window-key", + "code": 40, + "action": 0, + "flags": 0, + "source": 257, + "device": -1, + "repeat": 0, + "handled": true, + "uptime_ms": 5793777 + }, + { + "kind": "injected-key", + "code": 40, + "action": 0, + "accepted": true + }, + { + "kind": "window-key", + "code": 40, + "action": 1, + "flags": 0, + "source": 257, + "device": -1, + "repeat": 0, + "handled": false, + "uptime_ms": 5793781 + }, + { + "kind": "injected-key", + "code": 40, + "action": 1, + "accepted": true + }, + { + "kind": "window-key", + "code": 21, + "action": 0, + "flags": 0, + "source": 257, + "device": -1, + "repeat": 0, + "handled": true, + "uptime_ms": 5793835 + }, + { + "kind": "injected-key", + "code": 21, + "action": 0, + "accepted": true + }, + { + "kind": "window-key", + "code": 21, + "action": 1, + "flags": 0, + "source": 257, + "device": -1, + "repeat": 0, + "handled": false, + "uptime_ms": 5793862 + }, + { + "kind": "injected-key", + "code": 21, + "action": 1, + "accepted": true + }, + { + "kind": "observation", + "stage": "committed-query-selected-range", + "tag": "emoji-search", + "text_length": 4, + "text_sha256": "0282d9b79f42c74c1550b20ff2dd16aafc3fe5d8ae9a00b2f66996d0ae882775", + "text_prefix": "face", + "plain_annotated_equal": true, + "span_styles": [], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 0, + "selection_end": 2, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 102, + 97, + 99, + 101 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "face", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 5794094 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json new file mode 100644 index 00000000..10c3cd9d --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json @@ -0,0 +1,6 @@ +{ + "diagnostic_only": true, + "phase": "committed-four-way-navigation", + "synchronization": "Compose idle; hierarchy before PNG; XML geometry not an independent visibility witness", + "scope": "Explicitly committed Emoji query supports injected grid navigation, exact caret and selected range" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml new file mode 100644 index 00000000..621fcced --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json new file mode 100644 index 00000000..9d4ebfb4 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json @@ -0,0 +1,6 @@ +{ + "diagnostic_only": true, + "phase": "committed-query-selected-range", + "synchronization": "Compose idle; hierarchy before PNG; XML geometry not an independent visibility witness", + "scope": "Explicitly committed Emoji query supports injected grid navigation, exact caret and selected range" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml new file mode 100644 index 00000000..cb39e6ba --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-phone100/outer.log b/docs/validation/touch-search/cohorts/verified-regression-phone100/outer.log new file mode 100644 index 00000000..bcb1de14 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-phone100/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/verified-regression-phone100/record.json b/docs/validation/touch-search/cohorts/verified-regression-phone100/record.json new file mode 100644 index 00000000..da3e2775 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-phone100/record.json @@ -0,0 +1,121 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "native-input", + "input_mode": "owned", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "committedEmojiNavigationAndCaretAreExact", + "activeMultilingualCompositionKeepsResultSelection" + ], + "api": 36, + "font_scale": 1.0, + "layout": "phone", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "restore-input-method-before-test-apk-stop": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-input-method-after-original-apks": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "committedemojinavigationandcaretareexact-committed-four-way-navigation.xml": "c06994c2b78323cd187772e388934349866fcbb597c900a35ccbebfd48d80042", + "committedemojinavigationandcaretareexact-committed-four-way-navigation.png": "254488d5875a7f86bc53b230526224e59a41c5805e20adfe4a931abddfa02fcf", + "committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a", + "committedemojinavigationandcaretareexact-committed-query-selected-range.xml": "8305766a25a2a5db6d1378885f4c7a79bc55121843bc5ca468e768c5d4f58a82", + "committedemojinavigationandcaretareexact-committed-query-selected-range.png": "c25185dacc5fb6d43a1a131fccefc866ccff9eb48eaea6c232e80223ec29bf3f", + "committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade", + "case-committedemojinavigationandcaretareexact.json": "056b53331d1d2bc2233ea3400d99f5d60e81ab058e2324ec5dbbb479a6eec558", + "activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml": "9ca0c76ad2ebb8920dbaab13bad6b6111d62d0663befb844628a60e0476da0d9", + "activemultilingualcompositionkeepsresultselection-active-japanese-composition.png": "9fdb198f5f52c5ded9d5c5755d2ff85b161c43d57a125ca25fea11f569fa840d", + "activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3", + "case-activemultilingualcompositionkeepsresultselection.json": "ccb7edd290d46d39a7ad2fa26cbbe6dd46047b1d51d1c447433ec26b227360f1" + }, + "preserved_file_count": 573, + "ime_restoration_scope": "Four raw secure settings: default, enabled methods, selected subtype and subtype history; verified before test-APK stop and after its removal/replacement", + "ime_restore_observations": [ + { + "query_ms": 228, + "all_raw_fields_equal": false + }, + { + "query_ms": 314, + "all_raw_fields_equal": true + }, + { + "query_ms": 164, + "all_raw_fields_equal": true + }, + { + "query_ms": 162, + "all_raw_fields_equal": true + } + ] +} diff --git a/docs/validation/touch-search/cohorts/verified-regression-phone100/tests.log b/docs/validation/touch-search/cohorts/verified-regression-phone100/tests.log new file mode 100644 index 00000000..1a7c01fc --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-phone100/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.NativeInputCompatibilityDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.NativeInputCompatibilityDeviceTest: +INSTRUMENTATION_STATUS: test=committedEmojiNavigationAndCaretAreExact +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.NativeInputCompatibilityDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=committedEmojiNavigationAndCaretAreExact +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.NativeInputCompatibilityDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=activeMultilingualCompositionKeepsResultSelection +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.NativeInputCompatibilityDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=activeMultilingualCompositionKeepsResultSelection +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 15.939 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json new file mode 100644 index 00000000..7b60633c --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json @@ -0,0 +1,6 @@ +{ + "diagnostic_only": true, + "phase": "active-japanese-composition", + "synchronization": "Compose idle; hierarchy before PNG; XML geometry not an independent visibility witness", + "scope": "Controlled active Japanese composition keeps direct native navigation with the editor, before and after composition publication" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml new file mode 100644 index 00000000..16a46fdb --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/case-activemultilingualcompositionkeepsresultselection.json b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/case-activemultilingualcompositionkeepsresultselection.json new file mode 100644 index 00000000..b22a81a2 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/case-activemultilingualcompositionkeepsresultselection.json @@ -0,0 +1,131 @@ +{ + "diagnostic_only": false, + "scope": "Controlled active Japanese composition keeps direct native navigation with the editor, before and after composition publication", + "case": "activeMultilingualCompositionKeepsResultSelection", + "api": 36, + "font_scale": 1, + "default_ime": "dev.tinycast.android.test\/dev.tinycast.android.NativeInputTestIme", + "input_setup": "Owned silent test IME plus explicit native InputConnection readiness\/commit; no system-keyboard or physical-typing credit", + "contract_completed": true, + "palette_preferences_restored": true, + "emoji_preferences_unchanged": true, + "observations": [ + { + "kind": "controlled-input-ready", + "tag": "emoji-search", + "expected_text_length": 4, + "readiness_attempts": 1 + }, + { + "kind": "observation", + "stage": "explicitly-committed-emoji-search", + "tag": "emoji-search", + "text_length": 4, + "text_sha256": "0282d9b79f42c74c1550b20ff2dd16aafc3fe5d8ae9a00b2f66996d0ae882775", + "text_prefix": "face", + "plain_annotated_equal": true, + "span_styles": [], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 4, + "selection_end": 4, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 102, + 97, + 99, + 101 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "face", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 5743594 + }, + { + "kind": "observation", + "stage": "active-japanese-composition", + "tag": "emoji-search", + "text_length": 3, + "text_sha256": "f22e589664a7450ca0686710eb046f65eff8b26741c1fb1a581ffdebe1edcaa7", + "text_prefix": "にほん", + "plain_annotated_equal": false, + "span_styles": [ + { + "start": 0, + "end": 3, + "decoration": "TextDecoration.Underline", + "style": "SpanStyle(color=Color(0.0, 0.0, 0.0, 0.0, None), brush=null, alpha=NaN, fontSize=Unspecified, fontWeight=null, fontStyle=null, fontSynthesis=null, fontFamily=null, fontFeatureSettings=null, letterSpacing=Unspecified, baselineShift=null, textGeometricTransform=null, localeList=null, background=Color(0.0, 0.0, 0.0, 0.0, None), textDecoration=TextDecoration.Underline, shadow=null, platformStyle=null, drawStyle=null)" + } + ], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 3, + "selection_end": 3, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 12395, + 12411, + 12435 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "にほん", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 5743692 + }, + { + "kind": "direct-key", + "code": 22, + "action": 0, + "handled": true + }, + { + "kind": "direct-key", + "code": 22, + "action": 1, + "handled": false + }, + { + "kind": "observation", + "stage": "active-japanese-after-direct-navigation", + "tag": "emoji-search", + "text_length": 3, + "text_sha256": "f22e589664a7450ca0686710eb046f65eff8b26741c1fb1a581ffdebe1edcaa7", + "text_prefix": "にほん", + "plain_annotated_equal": false, + "span_styles": [ + { + "start": 0, + "end": 3, + "decoration": "TextDecoration.Underline", + "style": "SpanStyle(color=Color(0.0, 0.0, 0.0, 0.0, None), brush=null, alpha=NaN, fontSize=Unspecified, fontWeight=null, fontStyle=null, fontSynthesis=null, fontFamily=null, fontFeatureSettings=null, letterSpacing=Unspecified, baselineShift=null, textGeometricTransform=null, localeList=null, background=Color(0.0, 0.0, 0.0, 0.0, None), textDecoration=TextDecoration.Underline, shadow=null, platformStyle=null, drawStyle=null)" + } + ], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 3, + "selection_end": 3, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 12395, + 12411, + 12435 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "にほん", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 5743704 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/case-committedemojinavigationandcaretareexact.json b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/case-committedemojinavigationandcaretareexact.json new file mode 100644 index 00000000..9632a386 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/case-committedemojinavigationandcaretareexact.json @@ -0,0 +1,218 @@ +{ + "diagnostic_only": false, + "scope": "Explicitly committed Emoji query supports injected grid navigation, exact caret and selected range", + "case": "committedEmojiNavigationAndCaretAreExact", + "api": 36, + "font_scale": 1, + "default_ime": "dev.tinycast.android.test\/dev.tinycast.android.NativeInputTestIme", + "input_setup": "Owned silent test IME plus explicit native InputConnection readiness\/commit; no system-keyboard or physical-typing credit", + "contract_completed": true, + "palette_preferences_restored": true, + "emoji_preferences_unchanged": true, + "observations": [ + { + "kind": "controlled-input-ready", + "tag": "emoji-search", + "expected_text_length": 4, + "readiness_attempts": 1 + }, + { + "kind": "observation", + "stage": "explicitly-committed-emoji-search", + "tag": "emoji-search", + "text_length": 4, + "text_sha256": "0282d9b79f42c74c1550b20ff2dd16aafc3fe5d8ae9a00b2f66996d0ae882775", + "text_prefix": "face", + "plain_annotated_equal": true, + "span_styles": [], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 4, + "selection_end": 4, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 102, + 97, + 99, + 101 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "face", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 5730104 + }, + { + "kind": "injected-key", + "code": 22, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 22, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 20, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 20, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 21, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 21, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 19, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 19, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 123, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 123, + "action": 1, + "accepted": true + }, + { + "kind": "injected-key", + "code": 122, + "action": 0, + "accepted": true + }, + { + "kind": "injected-key", + "code": 122, + "action": 1, + "accepted": true + }, + { + "kind": "window-key", + "code": 40, + "action": 0, + "flags": 0, + "source": 257, + "device": -1, + "repeat": 0, + "handled": true, + "uptime_ms": 5735044 + }, + { + "kind": "injected-key", + "code": 40, + "action": 0, + "accepted": true + }, + { + "kind": "window-key", + "code": 40, + "action": 1, + "flags": 0, + "source": 257, + "device": -1, + "repeat": 0, + "handled": false, + "uptime_ms": 5735054 + }, + { + "kind": "injected-key", + "code": 40, + "action": 1, + "accepted": true + }, + { + "kind": "window-key", + "code": 21, + "action": 0, + "flags": 0, + "source": 257, + "device": -1, + "repeat": 0, + "handled": true, + "uptime_ms": 5735263 + }, + { + "kind": "injected-key", + "code": 21, + "action": 0, + "accepted": true + }, + { + "kind": "window-key", + "code": 21, + "action": 1, + "flags": 0, + "source": 257, + "device": -1, + "repeat": 0, + "handled": false, + "uptime_ms": 5735323 + }, + { + "kind": "injected-key", + "code": 21, + "action": 1, + "accepted": true + }, + { + "kind": "observation", + "stage": "committed-query-selected-range", + "tag": "emoji-search", + "text_length": 4, + "text_sha256": "0282d9b79f42c74c1550b20ff2dd16aafc3fe5d8ae9a00b2f66996d0ae882775", + "text_prefix": "face", + "plain_annotated_equal": true, + "span_styles": [], + "paragraph_styles": "[]", + "string_annotations": "[]", + "selection_start": 0, + "selection_end": 2, + "focused": true, + "no_input_connection_created_for_this_observation": true, + "codepoints": [ + 102, + 97, + 99, + 101 + ], + "route": "emoji", + "window_focus": true, + "query": "", + "emoji_query": "face", + "emoji_selected": 0, + "ime_accepting_text": true, + "uptime_ms": 5735840 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json new file mode 100644 index 00000000..10c3cd9d --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json @@ -0,0 +1,6 @@ +{ + "diagnostic_only": true, + "phase": "committed-four-way-navigation", + "synchronization": "Compose idle; hierarchy before PNG; XML geometry not an independent visibility witness", + "scope": "Explicitly committed Emoji query supports injected grid navigation, exact caret and selected range" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml new file mode 100644 index 00000000..afde571d --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json new file mode 100644 index 00000000..9d4ebfb4 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json @@ -0,0 +1,6 @@ +{ + "diagnostic_only": true, + "phase": "committed-query-selected-range", + "synchronization": "Compose idle; hierarchy before PNG; XML geometry not an independent visibility witness", + "scope": "Explicitly committed Emoji query supports injected grid navigation, exact caret and selected range" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml new file mode 100644 index 00000000..197a331e --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-regression-tablet100/outer.log b/docs/validation/touch-search/cohorts/verified-regression-tablet100/outer.log new file mode 100644 index 00000000..bcb1de14 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-tablet100/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/verified-regression-tablet100/record.json b/docs/validation/touch-search/cohorts/verified-regression-tablet100/record.json new file mode 100644 index 00000000..6cde1a2a --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-tablet100/record.json @@ -0,0 +1,119 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "native-input", + "input_mode": "owned", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "committedEmojiNavigationAndCaretAreExact", + "activeMultilingualCompositionKeepsResultSelection" + ], + "api": 36, + "font_scale": 1.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "restore-input-method-before-test-apk-stop": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-input-method-after-original-apks": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "committedemojinavigationandcaretareexact-committed-four-way-navigation.xml": "dda9c6b5a2916c0e3c1282f1fbfecd7a60ca90210727794d012d44e06b99a1b0", + "committedemojinavigationandcaretareexact-committed-four-way-navigation.png": "c9a47e6172bb698d9b4c672c754c6caea6b43faa6f950a04c1c07783773a541c", + "committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a", + "committedemojinavigationandcaretareexact-committed-query-selected-range.xml": "d69782b962a9dc14f2234f0e032fa7f26e0d0e2c283e6302e733dc24ded1d209", + "committedemojinavigationandcaretareexact-committed-query-selected-range.png": "dc185383a94dd0b8906cc426fb5c40053890b821f91ace377e7c826d4144dc3b", + "committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade", + "case-committedemojinavigationandcaretareexact.json": "f553228a67b8ba8ba41cf75695bcab1333e67ac416d12adc9c726c16b8a8fd35", + "activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml": "aa7939048d19a65ee5452359834b8463f4885daa4d9eff2a56781806d40fbc4c", + "activemultilingualcompositionkeepsresultselection-active-japanese-composition.png": "d0aa65887cf448399bbc08ee852fc134e4f414483850f18c576dcf723e34b65a", + "activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3", + "case-activemultilingualcompositionkeepsresultselection.json": "fe254b336e1a00e494b67afa177600c4283a72abbe00fa7c8155ecaaf532a34a" + }, + "preserved_file_count": 573, + "ime_restoration_scope": "Four raw secure settings: default, enabled methods, selected subtype and subtype history; verified before test-APK stop and after its removal/replacement", + "ime_restore_observations": [ + { + "query_ms": 237, + "all_raw_fields_equal": false + }, + { + "query_ms": 287, + "all_raw_fields_equal": true + }, + { + "query_ms": 113, + "all_raw_fields_equal": true + }, + { + "query_ms": 175, + "all_raw_fields_equal": true + }, + { + "query_ms": 80, + "all_raw_fields_equal": true + } + ] +} diff --git a/docs/validation/touch-search/cohorts/verified-regression-tablet100/tests.log b/docs/validation/touch-search/cohorts/verified-regression-tablet100/tests.log new file mode 100644 index 00000000..1c65c100 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-regression-tablet100/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.NativeInputCompatibilityDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.NativeInputCompatibilityDeviceTest: +INSTRUMENTATION_STATUS: test=committedEmojiNavigationAndCaretAreExact +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.NativeInputCompatibilityDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=committedEmojiNavigationAndCaretAreExact +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.NativeInputCompatibilityDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=activeMultilingualCompositionKeepsResultSelection +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.NativeInputCompatibilityDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=activeMultilingualCompositionKeepsResultSelection +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 19.929 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json new file mode 100644 index 00000000..c4670c48 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "caller-return", + "search": [ + 473, + 243, + 1355, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml new file mode 100644 index 00000000..80b14886 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..9587c867 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,106 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 713, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1161, + 243, + 1233, + 315 + ], + "search": [ + 473, + 243, + 1161, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 950 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 393, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1161, + 243, + 1233, + 315 + ], + "search": [ + 473, + 243, + 1161, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 473, + 243, + 1280, + 315 + ], + "launcher": [ + 473, + 243, + 1355, + 315 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..5e6634ba --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 473, + 243, + 1161, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..d408ebcf --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..eda8ab12 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 473, + 243, + 1161, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..e8c524ff --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..3521579c --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 473, + 243, + 1161, + 315 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml new file mode 100644 index 00000000..2239b8a2 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml @@ -0,0 +1,457 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..8c1d85c6 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 473, + 243, + 1161, + 315 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml new file mode 100644 index 00000000..c32b4a4f --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml @@ -0,0 +1,369 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..af45aa77 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,91 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 1, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 713, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 950 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 393, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..9b431406 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 473, + 243, + 1355, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..b973ca7d --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..785777b2 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 473, + 243, + 1355, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..a66abecc --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..81a32256 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 473, + 243, + 1355, + 315 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml new file mode 100644 index 00000000..301edcdf --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml @@ -0,0 +1,388 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..63b32886 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 473, + 243, + 1355, + 315 + ], + "ime_visible": true, + "api": 36, + "font_scale": 1, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml new file mode 100644 index 00000000..bc471468 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/outer.log b/docs/validation/touch-search/cohorts/verified-tablet100/outer.log new file mode 100644 index 00000000..bcb1de14 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/record.json b/docs/validation/touch-search/cohorts/verified-tablet100/record.json new file mode 100644 index 00000000..b8f28084 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/record.json @@ -0,0 +1,108 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 1.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "693425e89a8210b370754e6c7a054a3cb8dd8d280ec7c947083c5a6d9666cc12", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "fe6be37c94f4b0047d34bbee1410f0579b8954f3fb951163e18120559cb1b304", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "8a8b31c0d22a855a570ba6c639237bab5fc49cd27895df16985d603a572b1bea", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "abbcebdb44b5f2ed607df1d2e53510047bdf7ea5e6c3fd0bc13cac5268b4100d", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "bda805d90189a8f967211fda76cf0c6804b9122c6b24a35a5406544450b1387d", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "844559e987e11c2eed1109abf350462cb44c5c0a154b4c44442d8c23c84b2b66", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "17852d036e1019c78c762726c26e8474d3f4c91317a7023553824f2b65027cb0", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "54e3c01a8902b6ba8178872e4fa1b74918177b352abe6975b5912254c5082b2b", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "d05792bb5f6b9173879bdefa49259ada70d5d17d5d3f3be82d57444916e8d74e", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "2fa5c80001d7dfdce1a5d1ef650276528f9cbadb50ef38ef98303ee0c9d598df", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "6c48c90432e0c6cf5789059b4522c227e0d17144ae5e70561f8f4f908d39da52", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "e40dd5dfc9a198ecdd6d37556a157653d5e73a54b33e682475c2bbd5392083a1", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "a7cb2e2f09efb6a58e6d60d20cd1437542b03c23de816c3e68d74210c74436c3", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "2f88fed8a1803b6f28accd2df175cda625f13d9c9a12485ceb4beb9e2a5847b5", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "35511b6fb5c4b7a16356e7f7d0e754117be1dba14303578f4ca0641ad9a0f219", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "55ad7d24dec12cf62ca2018266b024af610c9881d1835447bb927324e3ec58cc", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "5b2005eaf6d74f495dcbb11cb4c1f839264ddc3faa357ee911cfa5bfe694f8e2", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "aa385104fc9cfb96a4ad0695a454be9151b7ac03c91d52cea21b540e78373194", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "88877dea617fc2af0e7a819b91a632a39f0ff447ffddb4abfc8f6867257e18f5", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "0596d5477e98549f618ee7eab8b53539716f86b652f4ccaa6db85195c27f0246", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "815f93c47ebe514b47392fae0bc5a1cdf8a0bcfde6ca18c803a2eed77feb6d6e", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "d5ec32a2a67ac640c4cabdf85bda96c9b1b53413d7eb7557d0b076d5446804a2", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "558da77fd169384f96531d69709b1e86f6ff68ac5b5b9386fbec9b908a6d603b", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "281c2b929ac85f96e5b88cdcac1030c098b18059d5bb396de893642cd1a2c863", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "24f14fbb85af3c234aa1331a17c44cc066fb61f585c34ac2cc65de7aa6af5096", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "65e4fbdd143162cee4567d9d726be29dd802e4fae6d64cc9662b1fb58b582d42", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "2441e9b840e834a37ffc11e35851b617fb1d243796c4550b34540f6e03a6a8d4", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "6d9e8b4bcac5699874bbec015627b480e85feb0582c312ae3c969c3eaf3ca17f", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "17184bd0a80faef9692ab96fa009ed1e2e262da745536920dbaab7d64a7c149a" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/verified-tablet100/tests.log b/docs/validation/touch-search/cohorts/verified-tablet100/tests.log new file mode 100644 index 00000000..6428a157 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet100/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 55.334 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json new file mode 100644 index 00000000..6904bb25 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "caller-return", + "search": [ + 473, + 243, + 1355, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml new file mode 100644 index 00000000..1458841b --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json new file mode 100644 index 00000000..730e1c30 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json @@ -0,0 +1,106 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "api": 36, + "font_scale": 2, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 897, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1065, + 243, + 1137, + 315 + ], + "search": [ + 473, + 243, + 1065, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 1134 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "emoji-search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 393, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "emoji-search-clear", + "target": [ + 1065, + 243, + 1137, + 315 + ], + "search": [ + 473, + 243, + 1065, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + }, + { + "kind": "emoji-launcher-origin", + "emoji": [ + 473, + 243, + 1261, + 315 + ], + "launcher": [ + 473, + 243, + 1355, + 315 + ] + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..32e5b01e --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 473, + 243, + 1065, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..49d213b9 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml @@ -0,0 +1,337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..1874a46a --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 473, + 243, + 1065, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..de0e69c3 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..7a449e5d --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 473, + 243, + 1065, + 315 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml new file mode 100644 index 00000000..fc79de74 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml @@ -0,0 +1,481 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..e225dc70 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 473, + 243, + 1065, + 315 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml new file mode 100644 index 00000000..22b01d20 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json new file mode 100644 index 00000000..d683b781 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json @@ -0,0 +1,91 @@ +{ + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing", + "case": "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "api": 36, + "font_scale": 2, + "completed": true, + "events": [ + { + "kind": "explicit-ime-visibility-setup", + "visible": false + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": false, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 897, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 1134 + ], + "density": 1.5 + }, + { + "kind": "explicit-ime-visibility-setup", + "visible": true + }, + { + "kind": "empty-state-before-clear", + "search": "search", + "ime_visible": true, + "expected_query_matches": true, + "result_count": 0 + }, + { + "kind": "empty-feedback-visibility", + "palette_height_px": 393, + "constrained_by_ime": false, + "displayed": true, + "known_layout_gap": null + }, + { + "kind": "target-geometry", + "tag": "search-clear", + "target": [ + 1355, + 243, + 1427, + 315 + ], + "search": [ + 473, + 243, + 1355, + 315 + ], + "palette": [ + 398, + 237, + 1523, + 630 + ], + "density": 1.5 + } + ] +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json new file mode 100644 index 00000000..8bc45761 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-after", + "search": [ + 473, + 243, + 1355, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml new file mode 100644 index 00000000..6b5c5dae --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json new file mode 100644 index 00000000..4d4d266e --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "hidden-before", + "search": [ + 473, + 243, + 1355, + 315 + ], + "ime_visible": false, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml new file mode 100644 index 00000000..08465442 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json new file mode 100644 index 00000000..fee8688e --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-after", + "search": [ + 473, + 243, + 1355, + 315 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml new file mode 100644 index 00000000..f149fba9 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml @@ -0,0 +1,377 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json new file mode 100644 index 00000000..87f0bd46 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json @@ -0,0 +1,14 @@ +{ + "phase": "shown-before", + "search": [ + 473, + 243, + 1355, + 315 + ], + "ime_visible": true, + "api": 36, + "font_scale": 2, + "synchronization": "Compose and UiAutomator idle; hierarchy before PNG; XML geometry is not independent visibility proof", + "scope": "Owned launcher\/Emoji pointer Clear; editor and IME visibility setup are controlled, not physical typing" +} \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml new file mode 100644 index 00000000..9e0030b2 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml @@ -0,0 +1,344 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/outer.log b/docs/validation/touch-search/cohorts/verified-tablet200/outer.log new file mode 100644 index 00000000..bcb1de14 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/outer.log @@ -0,0 +1 @@ +{"completed": true, "passes": 2, "failures": 0, "expected_negative": false, "preserved_file_count": 573} diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/record.json b/docs/validation/touch-search/cohorts/verified-tablet200/record.json new file mode 100644 index 00000000..40bdb15e --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/record.json @@ -0,0 +1,108 @@ +{ + "completed": true, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 2.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "passes": 2, + "failures": 0, + "native_expected_outcome": true, + "instrumentation_exit_code": 0, + "initialization_error": false, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0", + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "b7151f4aee01715ee719fdf43a7ec8ceb2a71f9b3838479cb69dbbbf1b40c085", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "00e974734b0ba916f20fadc00b687c5196392ba046bf7c86eee5bac8f7969366", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "539f2bda830bf4cfdcbe6ddf5292cb32ce354a96b7e4e08ee26c15e322ac1e03", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "855874c2b68d62fecc7c1ee9b4e91ce3fb8fcb86a8278c5c5e6369451e1c71e7", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "c094b63cbf34a50f7a8bd9181e361ffcf44145a860b161ed56b386c3456a0c41", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "cb72b49a2840c16060634ef0e9880c647b6dfadaf48a874c1786af2019a3615d", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "7aaa8a603c88317ee2955d5a8b0eb692f69c4546b1728b82dd300683af36bd36", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "34f1a632a25ec66d11a84b832ad6d1bc945eb17678879f62c583a5a93f8d8fea", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "12702a0724b7eff7dc55aee6be56016d04974e255948d12858a9f864552e6a3c", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "c60647360811ab89b5cdb4d97ce34a4567ab66201f6d092f6b0cff901004d5da", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "5aca84e931ce8ec50e5ef5c256214e92f603b1045181d5c1a75faf72b368aae0", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "124d29121650f25b3038b4863938c3ead302126fd5ba58550f8482dc717a4a0b", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "8cb66ff8335be0f68a21adfe866f80ea29318b20cae8549a617521e0262642c6", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "1da0b14d08dd7f65db7dee148f0fb7f8d3393481fd493ed37ba3cdd385cc3050", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "545ffdf4e0c3135fd723e9a321aa56553cd96b3d18bdb72a2fb5862a57b8ee87", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "cff914f8f0da9521ddfc6fe5fa61210c1213d7c85a968ec72af80a8b8837ca28", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "8d57cc14e2a2048fdd21f27176c89fc898f0c8bf9a760e3b3785d0b5b1ca06db", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "9732f75aefb4ea171e5e391d436b83406052df6e08b044de6bfaabb865eae0da", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "5ebb0a0773340985fc4b867f81028ce0227b9e6b92b11043689192fdf7ec542b", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "b41ec191e068f5756461718ce5065994a921c5857af764aaf78320b93cf6f2ee", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "d137f1458fa9fffdd4b8c349dc856262d87f9896b62d14ffeabb8b68efdd46ba", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "b520db8f0022d0c0fcd76aa49c2d537f9f57433a32bec2c0fc4d64ad2505d801", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "89d55f47f41a63caf86edd74548522070cdc14954f045e63f592068a4d06148d", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "47eaae1098a2912080449f0446ead898f1321a00090ceafdfa747b2b386d900c", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "93f43193e27a09f4dc41451fe0626528dd2a5636f660df82c3111a96bd6942fd", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "4a5c8185165358c7606056013619018ca8a34cd99f6d31a28a90cc03bf08405b", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "4afb70473a1c13942aaa3257d9622244a762681363c0ba5cffa0105ebe409b54", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "7f8965715aa49d7a4295e8ed5ff74931aeef492d0bd64f68ef3201d7b8c8049e", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "44bb5825485ff6fa16a2cc4c05463bc607d06d10b3b6092af075e0eddea01580" + }, + "preserved_file_count": 573 +} diff --git a/docs/validation/touch-search/cohorts/verified-tablet200/tests.log b/docs/validation/touch-search/cohorts/verified-tablet200/tests.log new file mode 100644 index 00000000..25df4783 --- /dev/null +++ b/docs/validation/touch-search/cohorts/verified-tablet200/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 32.246 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/collection-source/calibrate-final-v7.py b/docs/validation/touch-search/collection-source/calibrate-final-v7.py new file mode 100644 index 00000000..755389c1 --- /dev/null +++ b/docs/validation/touch-search/collection-source/calibrate-final-v7.py @@ -0,0 +1,22 @@ +from pathlib import Path +import json,hashlib,re,xml.etree.ElementTree as ET +b=Path('artifacts/touch-clear');load=lambda p:json.loads(p.read_text());j=load(b/'native-final-v9.json');assert j['completed'] +controls=[] +for row in j['cohorts']: + if not row['expected_control']:continue + name=row['name'];folder=b/name;r=load(folder/'record.json');log=(folder/'tests.log').read_text() + assert r['passes']==0 and r['failures']==1 and not r['completed'] and r['test_apk_sha256']==j['test_apk_sha256'] + assert r['cleanup'] and all(v['passed'] for v in r['cleanup'].values()) + if name.startswith('final-old-'): + tag='search-clear' if name.endswith('-1') else 'emoji-search-clear' + assert 'TouchSearchDeviceTest.geometry' in log and 'TouchSearchDeviceTest.kt:107' in log + xmls=list((folder/'captures').glob('*.xml'));assert xmls + for p in xmls:assert not any(n.get('resource-id')==tag for n in ET.parse(p).getroot().iter('node')) + assertion='Missing Clear display at geometry line107; ordinary pre-action app frame, no app error banner' + else: + assert 'Returning retains the search baseline' in log and '249.0' in log and '243.0' in log + assertion='Six-pixel Emoji/launcher return-origin mismatch after successful pointer Clear, 200%' + controls.append({'cohort':name,'passes':0,'intended_failures':1,'test_apk_sha256':r['test_apk_sha256'],'app_sha256':r['apk_sha256'],'test_log_sha256':hashlib.sha256((folder/'tests.log').read_bytes()).hexdigest(),'cleanup_checks':len(r['cleanup']),'assertion':assertion}) +assert len(controls)==5 +out=b/'final-controls-calibration.json';assert not out.exists() +out.write_text(json.dumps({'all_completed':True,'controls':controls,'scope':'Same final54a instrumentation on negative and repaired apps. Positive-only runner receipts remain failed; no generic failure classification earns control credit.'},indent=2)+'\n');print(json.dumps(controls,indent=2)) diff --git a/docs/validation/touch-search/collection-source/finish-post-test-recovery.py b/docs/validation/touch-search/collection-source/finish-post-test-recovery.py new file mode 100644 index 00000000..8ece4d79 --- /dev/null +++ b/docs/validation/touch-search/collection-source/finish-post-test-recovery.py @@ -0,0 +1,29 @@ +from pathlib import Path +import hashlib,importlib.util,json,re,shlex,subprocess,sys +sys.path.insert(0,'scripts');spec=importlib.util.spec_from_file_location('owned_runner','scripts/test-webview-engine.py');runner=importlib.util.module_from_spec(spec);spec.loader.exec_module(runner) +b=Path('artifacts/touch-clear');failed=b/'final-tablet200-v2';report=b/'post-test-recovery.json';prior=json.loads(report.read_text());assert not prior['completed'] and all(prior['checks'].values());assert not (b/'post-test-recovery-interrupted.json').exists();(b/'post-test-recovery-interrupted.json').write_bytes(report.read_bytes()) +checks=prior['checks'];adb=['/platform-tools/adb','-s','emulator-5580'];app='dev.tinycast.android';lease='files/touch-search-lease' +def raw(*args):return subprocess.check_output(adb+list(args),stdin=subprocess.DEVNULL,stderr=subprocess.STDOUT,timeout=30) +def text(*args):return raw(*args).decode().strip() +def check(name,value): + checks[name]=bool(value);report.write_text(json.dumps({'completed':False,'checks':checks},indent=2)+'\n') + if not value:raise ValueError(name) +owner=json.loads((failed/'private-owner.json').read_text());check('continuation-owner-exact',json.loads(raw('exec-out','run-as',app,'cat',lease+'/owner.json'))==owner) +check('continuation-owned-avd',text('emu','avd','name').splitlines()[0]=='Tinycast_Tablet_API_36') +check('continuation-idle','ActiveInstrumentation{' not in text('shell','-n','dumpsys','activity','processes')) +script='find files shared_prefs ! -type f ! -type d -print';check('no-unexpected-nonregular-paths',raw('shell','-n','run-as',app,'sh','-c',shlex.quote(script)).strip()==b'') +original=runner.archive_files((failed/'private-data-before.tar').read_bytes());expected={p:hashlib.sha256(v).hexdigest() for p,v in original.items() if not p.startswith(lease+'/')};assert all(not any(c in p for c in '\n\r\\') for p in expected) +script='find files shared_prefs -type f -exec sha256sum {} +';actual={} +for line in raw('shell','-n','run-as',app,'sh','-c',shlex.quote(script)).decode().splitlines(): + assert re.fullmatch('[0-9a-f]{64}',line[:64]) and line[64:66]==' ';path=line[66:];assert path not in actual;actual[path]=line[:64] +check('lease-only-registered-owner',{p for p in actual if p.startswith(lease+'/')}=={lease+'/owner.json'}) +check('all-original-files-and-preferences',{p:h for p,h in actual.items() if not p.startswith(lease+'/')}==expected) +r=json.loads((failed/'record.json').read_text()) +for pkg in (app,app+'.test'): + location=text('shell','pm','path',pkg).removeprefix('package:');check('final-original-binary-'+pkg,hashlib.sha256(raw('exec-out','cat',location)).digest()==hashlib.sha256((failed/('private-original-'+pkg+'.apk')).read_bytes()).digest()) +check('final-size',text('shell','wm','size')==r['original_geometry']['size']);check('final-density',text('shell','wm','density')==r['original_geometry']['density']);check('final-font',text('shell','settings','get','system','font_scale')==r['original_font_scale']) +ime=json.loads((b/'private-initial-settings.json').read_text())['emulator-5580'];values=text('shell','; '.join('settings get secure '+k for k in ime)).splitlines();check('final-four-ime-fields',dict(zip(ime,values))==ime and len(values)==4) +check('final-unprivileged',text('shell','id').startswith('uid=2000('));check('final-owner-revalidated',json.loads(raw('exec-out','run-as',app,'cat',lease+'/owner.json'))==owner) +raw('shell','run-as',app,'rm','-rf',lease);checks['release-owner-last']=True +manifest=json.loads((failed/'recovered-captures.json').read_text()) +report.write_text(json.dumps({'completed':True,'checks':checks,'preserved_original_file_count':len(expected),'recovered_capture_files':len(manifest['captures']),'raw_junit':manifest['raw_junit'],'verification':'All original regular-file hashes computed on device and compared with private before-data bytes; nonregular paths rejected. Large tar re-export timed out; original failed receipts remain failed.','scope':'Separate recovery after graceful restart of the same persisted AVD. APKs, files/shared_prefs, geometry, raw font and four IME fields verified before final release. Private originals excluded; no whole-system/cross-boot logical-identity certification.'},indent=2)+'\n');print(json.dumps({'completed':True,'checks':len(checks),'original_files':len(expected),'recovered_capture_files':len(manifest['captures'])})) diff --git a/docs/validation/touch-search/collection-source/global-preservation.py b/docs/validation/touch-search/collection-source/global-preservation.py new file mode 100644 index 00000000..f7f422d9 --- /dev/null +++ b/docs/validation/touch-search/collection-source/global-preservation.py @@ -0,0 +1,46 @@ +from pathlib import Path +import hashlib,json,os,subprocess,sys +base=Path('artifacts/touch-clear');private=base/'private-initial-settings.json' +adb='/platform-tools/adb' +keys=('default_input_method','enabled_input_methods','selected_input_method_subtype','input_methods_subtype_history') +def read(serial): + command='; '.join('settings get secure '+k for k in keys) + values=subprocess.check_output([adb,'-s',serial,'shell',command],text=True).splitlines() + assert len(values)==len(keys) + return dict(zip(keys,values)) +if sys.argv[1]=='before': + assert not private.exists(),'Snapshot already exists; never replace the original baseline' + values={s:read(s) for s in ('emulator-5580','emulator-5598')} + private.write_text(json.dumps(values));private.chmod(0o600) + (base/'initial-settings-receipt.json').write_text(json.dumps({'four_raw_secure_settings_captured_privately_per_device':True,'scope':'Current baseline after PR109; original earlier pre-probe history identity remains uncertified'})+'\n') + print('Saved current baseline privately; no device mutation.') +else: + assert sys.argv[1]=='after' + values=json.loads(private.read_text()) + checks={s+'-four-ime-fields':read(s)==v for s,v in values.items()} + for s in values: + def text(*args):return subprocess.check_output([adb,'-s',s,*args],text=True).strip() + checks[s+'-unprivileged']=text('shell','id').startswith('uid=2000(') + checks[s+'-no-active-instrumentation']='ActiveInstrumentation{' not in text('shell','dumpsys','activity','processes') + checks[s+'-geometry-not-overridden']='Override' not in text('shell','wm','size')+text('shell','wm','density') + cohort='old-tablet100-1' if s=='emulator-5580' else 'verified-api26-established-clear-phone100' + original_font=json.loads((base/cohort/'record.json').read_text())['original_font_scale'] + checks[s+'-original-font-scale']=text('shell','settings','get','system','font_scale')==original_font + if (base/'old-tablet100-1/private-data-before.tar').exists(): + import importlib.util,sys + sys.path.insert(0,'scripts') + spec=importlib.util.spec_from_file_location('owned_runner','scripts/test-webview-engine.py');runner=importlib.util.module_from_spec(spec);spec.loader.exec_module(runner) + original=runner.archive_files((base/'old-tablet100-1/private-data-before.tar').read_bytes()) + expected={p:hashlib.sha256(b).hexdigest() for p,b in original.items() if not p.startswith('files/touch-search-lease/')} + data=runner.private_app_archive([adb,'-s','emulator-5580'],base/'private-global-after.tar') + actual={p:hashlib.sha256(b).hexdigest() for p,b in data.items()} + checks['all-original-modern-app-and-evidence-files']=actual==expected + for pkg in ('dev.tinycast.android','dev.tinycast.android.test'): + original=(base/'old-tablet100-1'/('private-original-'+pkg+'.apk')).read_bytes() + location=subprocess.check_output([adb,'-s','emulator-5580','shell','pm','path',pkg],text=True).strip().removeprefix('package:') + actual=subprocess.check_output([adb,'-s','emulator-5580','exec-out','cat',location]) + checks['original-apk-'+pkg]=hashlib.sha256(actual).digest()==hashlib.sha256(original).digest() + checks['legacy-original-package-absence']=not any(subprocess.check_output([adb,'-s','emulator-5598','shell','pm','list','packages',pkg],text=True).strip() for pkg in ('dev.tinycast.android','dev.tinycast.android.test')) + r={'checks':checks,'all_passed':all(checks.values()),'scope':'Read-only current-baseline equality after the whole pipeline; no private original contents or fingerprints published'} + (base/'final-preservation-receipt.json').write_text(json.dumps(r,indent=2)+'\n') + print(json.dumps(r));assert all(checks.values()) diff --git a/docs/validation/touch-search/collection-source/publish-final-v7.py b/docs/validation/touch-search/collection-source/publish-final-v7.py new file mode 100644 index 00000000..63cfc6a2 --- /dev/null +++ b/docs/validation/touch-search/collection-source/publish-final-v7.py @@ -0,0 +1,108 @@ +from pathlib import Path +import hashlib,json,re,xml.etree.ElementTree as ET +b=Path('artifacts/touch-clear');dest=Path('docs/validation/touch-search');images=Path('docs/screenshots/touch-search') +sha=lambda x:hashlib.sha256(x).hexdigest() +def require(ok,msg): + if not ok:raise ValueError(msg) +load=lambda p:json.loads(p.read_text()) +final=load(b/'native-final-v9.json') +require(final['completed'],'Final pipeline incomplete') +require(load(b/'final-preservation-receipt.json')['all_passed'],'Final preservation incomplete') +require(load(b/'final-controls-calibration.json')['all_completed'],'Final calibration incomplete') +require((b/'final-harness-v7/host-checks.log').read_text().count('BUILD SUCCESSFUL')==2,'Host checks incomplete') +require(not dest.exists() and not images.exists(),'Existing publication: inspect; never overwrite') +dest.mkdir(parents=True);images.mkdir(parents=True) +bindings=[];projections=[];retained=[];selected=[] + +def put(source,target,mode='identity'): + raw=source.read_bytes();out=raw + if mode!='identity': + text=raw.decode();xml=mode=='redact-xml' + def token(label):return '<'+label+'>' if xml else '<'+label+'>' + for prefix,label in [(str(Path.cwd()),'checkout'),(str(Path.home()/'Library/Android/sdk'),'android-sdk'),(str(Path.home()/'.gradle'),'gradle-cache'),(str(Path.home()),'user-home')]:text=text.replace(prefix,token(label)) + text=re.sub(r'/(?:private/)?var/folders/[^\s\"\x27<>&]+',lambda _:token('temporary-dir'),text) + text=re.sub(r'(?/platform-tools/adb','-s','emulator-5580'];app='dev.tinycast.android';test=app+'.test';lease='files/touch-search-lease';evidence='files/touch-search-evidence';checks={};report=b/'post-test-recovery.json' +sha=lambda v:hashlib.sha256(v).hexdigest() +def raw(*args,data=None): + kw={'stdin':subprocess.DEVNULL} if data is None else {'input':data} + return subprocess.check_output(adb+list(args),stderr=subprocess.STDOUT,timeout=60,**kw) +def text(*args):return raw(*args).decode().strip() +def check(name,condition): + checks[name]=bool(condition);report.write_text(json.dumps({'completed':False,'checks':checks},indent=2)+'\n') + if not condition:raise ValueError(name) +check('owned-avd',text('emu','avd','name').splitlines()[0]=='Tinycast_Tablet_API_36') +check('api36',text('shell','getprop','ro.build.version.sdk')=='36') +check('unprivileged-adbd',text('shell','id').startswith('uid=2000(')) +check('idle-instrumentation','ActiveInstrumentation{' not in text('shell','dumpsys','activity','processes')) +owner=json.loads((failed/'private-owner.json').read_text()) +check('owner-namespace',set(owner)=={'kind','nonce','extension_id','fresh_disposable_avd'} and owner['kind']=='touch-search-v1' and re.fullmatch('[0-9a-f]{32}',owner['nonce']) is not None and owner['extension_id']=='touch-search-'+owner['nonce'] and owner['fresh_disposable_avd'] is False) +def verify_owner():check('live-owner-exact',json.loads(raw('exec-out','run-as',app,'cat',lease+'/owner.json'))==owner) +verify_owner() +receipt=json.loads((failed/'record.json').read_text()) +for pkg,key in ((app,'apk_sha256'),(test,'test_apk_sha256')): + path=text('shell','pm','path',pkg);check('candidate-package-'+pkg,path.count('package:')==1 and sha(raw('exec-out','cat',path.removeprefix('package:')))==receipt[key]) +frames=runner.archive_files(raw('exec-out','run-as',app,'tar','-cf','-',evidence));captures=failed/'captures';captures.mkdir(exist_ok=False) +manifest={} +for path,data in frames.items(): + p=Path(path);check('registered-capture-names',str(p.parent)==evidence and re.fullmatch(r'[a-z0-9-]+\.(png|xml|json)',p.name) is not None) + (captures/p.name).write_bytes(data);manifest[p.name]=sha(data) +log=(failed/'tests.log').read_text();observed={'passes':len(re.findall(r'^INSTRUMENTATION_STATUS_CODE: 0$',log,re.M)),'failures':len(re.findall(r'^INSTRUMENTATION_STATUS_CODE: -2$',log,re.M))} +check('raw-junit-two-passes',observed=={'passes':2,'failures':0} and 'OK (2 tests)' in log and receipt['instrumentation_exit_code']==0) +(failed/'recovered-captures.json').write_text(json.dumps({'captures':manifest,'raw_junit':observed,'app_sha256':receipt['apk_sha256'],'test_apk_sha256':receipt['test_apk_sha256'],'completed_protocol':False,'scope':'Actual pre-reboot test files recovered under the retained owner. The runner failed its idle/cleanup protocol; these raw passes earn no final-cohort credit.'},indent=2)+'\n') +for pkg in (test,app):raw('shell','am','force-stop',pkg) +verify_owner() +id=owner['extension_id'];owned=['files/extensions/'+id,'cache/'+id,'files/extension-data/'+id,'shared_prefs/extension-'+id+'.xml','shared_prefs/extension-'+id+'.xml.bak',evidence] +raw('shell','run-as',app,'rm','-rf',*owned) +original=runner.archive_files((failed/'private-data-before.tar').read_bytes());expected={p:sha(v) for p,v in original.items() if not p.startswith(lease+'/')} +check('palette-before-bytes-bound',(failed/'private-palette.xml').read_bytes()==original['shared_prefs/palette.xml'] and 'shared_prefs/palette.xml.bak' not in original) +raw('shell','run-as',app,'rm','-f','shared_prefs/palette.xml.bak');raw('shell','run-as',app,'tee','shared_prefs/palette.xml',data=(failed/'private-palette.xml').read_bytes()) +def restore_profile(): + value=original.get('files/profileInstalled') + if value is None:raw('shell','run-as',app,'rm','-f','files/profileInstalled') + else:raw('shell','run-as',app,'tee','files/profileInstalled',data=value) +restore_profile() +font=receipt['original_font_scale'];raw('shell','settings','delete','system','font_scale') if font=='null' else raw('shell','settings','put','system','font_scale',font) +check('original-font',text('shell','settings','get','system','font_scale')==font) +check('original-size',text('shell','wm','size')==receipt['original_geometry']['size']);check('original-density',text('shell','wm','density')==receipt['original_geometry']['density']) +initial_ime=json.loads((b/'private-initial-settings.json').read_text())['emulator-5580'] +def ime_fields(): + values=text('shell','; '.join('settings get secure '+k for k in initial_ime)).splitlines();check('four-ime-values-readable',len(values)==4);return dict(zip(initial_ime,values)) +current=ime_fields() +if current!=initial_ime: + require=runner.require;require(re.fullmatch(r'[A-Za-z0-9_.]+/[A-Za-z0-9_.$]+',initial_ime['default_input_method']),'Original IME component invalid') + raw('shell','ime','set',shlex.quote(initial_ime['default_input_method'])) + for key,value in initial_ime.items(): + if value=='null':raw('shell','settings','delete','secure',key) + else:raw('shell','settings','put','secure',key,shlex.quote(value)) +check('original-four-ime-fields',ime_fields()==initial_ime) +for pkg in (app,test): + verify_owner();p=failed/('private-original-'+pkg+'.apk');raw('install','-r','-t',str(p)) + location=text('shell','pm','path',pkg).removeprefix('package:');check('original-binary-'+pkg,sha(raw('exec-out','cat',location))==sha(p.read_bytes())) +for pkg in (test,app):raw('shell','am','force-stop',pkg) +restore_profile() +after=runner.archive_files(raw('exec-out','run-as',app,'tar','-cf','-','files','shared_prefs')) +check('all-original-files-and-preferences',{p:sha(v) for p,v in after.items() if not p.startswith(lease+'/')}==expected) +check('final-four-ime-fields',ime_fields()==initial_ime) +check('final-font',text('shell','settings','get','system','font_scale')==font) +check('final-idle','ActiveInstrumentation{' not in text('shell','dumpsys','activity','processes')) +verify_owner() +# Final device operation; all restoration and verification precede release. +raw('shell','run-as',app,'rm','-rf',lease);checks['release-owner-last']=True +report.write_text(json.dumps({'completed':True,'checks':checks,'preserved_original_file_count':len(expected),'recovered_capture_files':len(manifest),'raw_junit':observed,'scope':'Separate recovery after guest/console stall and graceful restart of the same persisted AVD. Original APKs, files/shared_prefs, geometry, font and four raw IME fields verified before final release. No whole-system or cross-boot logical-identity certification; private originals and owners are excluded.'},indent=2)+'\n') +print(json.dumps({'completed':True,'checks':len(checks),'original_files':len(expected),'recovered_capture_files':len(manifest),'raw_junit':observed})) diff --git a/docs/validation/touch-search/collection-source/recover-preflight.py b/docs/validation/touch-search/collection-source/recover-preflight.py new file mode 100644 index 00000000..ddc4113d --- /dev/null +++ b/docs/validation/touch-search/collection-source/recover-preflight.py @@ -0,0 +1,39 @@ +from pathlib import Path +import hashlib,importlib.util,json,re,subprocess,sys,time +sys.path.insert(0,'scripts') +spec=importlib.util.spec_from_file_location('owned_runner','scripts/test-webview-engine.py');runner=importlib.util.module_from_spec(spec);spec.loader.exec_module(runner) +b=Path('artifacts/touch-clear');failed=b/'final-tablet200';adb=['/platform-tools/adb','-s','emulator-5580'];app='dev.tinycast.android';lease='files/touch-search-lease' +checks={};report=b/'preflight-recovery.json' +def raw(*args):return subprocess.check_output(adb+list(args),stderr=subprocess.STDOUT,timeout=60) +def text(*args):return raw(*args).decode().strip() +def check(name,condition): + checks[name]=bool(condition) + report.write_text(json.dumps({'completed':False,'checks':checks,'scope':'Pre-install archive failure; verify current originals before releasing the retained owner. No candidate installs or tests occurred.'},indent=2)+'\n') + if not condition:raise ValueError(name) +check('no-native-log-created',not (failed/'tests.log').exists()) +check('owned-avd',text('emu','avd','name').splitlines()[0]=='Tinycast_Tablet_API_36') +check('api36',text('shell','getprop','ro.build.version.sdk')=='36') +check('unprivileged-adbd',text('shell','id').startswith('uid=2000(')) +check('idle-instrumentation','ActiveInstrumentation{' not in text('shell','dumpsys','activity','processes')) +owner=json.loads((failed/'private-owner.json').read_text()) +check('host-owner-namespace',set(owner)=={'kind','nonce','extension_id','fresh_disposable_avd'} and owner['kind']=='touch-search-v1' and re.fullmatch('[0-9a-f]{32}',owner['nonce']) is not None and owner['extension_id']=='touch-search-'+owner['nonce'] and owner['fresh_disposable_avd'] is False) +check('live-owner-exact',json.loads(raw('exec-out','run-as',app,'cat',lease+'/owner.json'))==owner) +for pkg in (app,app+'.test'): + path=text('shell','pm','path',pkg);check('one-original-package-'+pkg,path.count('package:')==1) + data=raw('exec-out','cat',path.removeprefix('package:')) + check('original-apk-'+pkg,hashlib.sha256(data).digest()==hashlib.sha256((failed/('private-original-'+pkg+'.apk')).read_bytes()).digest()) +initial=runner.archive_files((b/'old-tablet100-1/private-data-before.tar').read_bytes()) +expected={p:hashlib.sha256(v).hexdigest() for p,v in initial.items() if not p.startswith(lease+'/')} +current=runner.archive_files(raw('exec-out','run-as',app,'tar','-cf','-','files','shared_prefs')) +check('lease-has-only-registered-owner',{p for p in current if p.startswith(lease+'/')}=={lease+'/owner.json'}) +actual={p:hashlib.sha256(v).hexdigest() for p,v in current.items() if not p.startswith(lease+'/')} +check('all-original-files-and-preferences-equal',actual==expected) +r=json.loads((failed/'record.json').read_text()) +check('original-size',text('shell','wm','size')==r['original_geometry']['size']) +check('original-density',text('shell','wm','density')==r['original_geometry']['density']) +check('original-raw-font',text('shell','settings','get','system','font_scale')==r['original_font_scale']) +check('owner-revalidated-last',json.loads(raw('exec-out','run-as',app,'cat',lease+'/owner.json'))==owner) +# Final device operation; all equality checks precede ownership release. +raw('shell','run-as',app,'rm','-rf',lease);checks['release-owner-last']=True +report.write_text(json.dumps({'completed':True,'checks':checks,'preserved_original_file_count':len(expected),'scope':'Zero-test pre-install archive timeout; original binaries, all files/shared_prefs, geometry and raw font matched before release. No restore writes were needed. Private originals/owners are not published; no cross-boot certification.'},indent=2)+'\n') +print(json.dumps({'completed':True,'checks':len(checks),'preserved_original_files':len(expected)})) diff --git a/docs/validation/touch-search/collection-source/run-final-v7.py b/docs/validation/touch-search/collection-source/run-final-v7.py new file mode 100644 index 00000000..c0598957 --- /dev/null +++ b/docs/validation/touch-search/collection-source/run-final-v7.py @@ -0,0 +1,29 @@ +from pathlib import Path +import hashlib,json,os,subprocess,sys,time +b=Path('artifacts/touch-clear');h=b/'final-harness-v7';identity=json.loads((h/'identity.json').read_text());app=b/'candidate-v3/app-debug.apk';test=h/'app-debug-androidTest.apk' +methods=['launcherTouchClearPreservesFocusCategoryAndKeyboard','emojiTouchClearPreservesCategoryGeometryAndKeyboard','pointerClearRemovesControlledCompositionAndWhitespace','retainedClearCallbacksRejectReplacedSurfacesAndMenus','currentClearUsesLiveQueryAndRecreationRejectsOldCallback'];regression=['committedEmojiNavigationAndCaretAreExact','activeMultilingualCompositionKeepsResultSelection'] +old=Path('/.t3/scratch/droidcast-api26-input-27caf3/artifacts/native-input/owned-v5/app-debug.apk');spacing=b/'candidate-v2/app-debug.apk' +plan=[] +# Complete actual Clear flows in the previously constrained conditions first. +for layout,font in [('landscape',1),('landscape',2),('tablet',1),('tablet',2),('phone',1),('phone',2)]:plan.append((f'verified-{layout}{font}00',app,layout,font,methods[:2],'touch-search',False,False)) +plan += [('verified-guards-tablet100',app,'tablet',1,methods[2:],'touch-search',False,False),('verified-api26-phone100',app,'phone',1,methods,'touch-search',True,False)] +for layout,legacy in [('tablet',False),('phone',False),('phone',True)]:plan.append((f'verified-regression-{"api26" if legacy else layout}100',app,layout,1,regression,'native-input',legacy,False)) +for layout in ('tablet','phone'): + for i,method in enumerate(methods[:2]):plan.append((f'final-old-{layout}100-{i+1}',old,layout,1,[method],'touch-search',False,True)) +plan.append(('final-spacing-control-tablet200',spacing,'tablet',2,[methods[1]],'touch-search',False,True)) +state=b/'native-final-v7.json';assert not state.exists() +r={'app_source':identity['app_source'],'test_source':identity['test_source'],'controller_source':identity['controller_source'],'app_sha256':identity['app_sha256'],'test_apk_sha256':identity['test_apk_sha256'],'completed':False,'cohorts':[]} +def save():state.write_text(json.dumps(r,indent=2)+'\n') +save() +for name,binary,layout,font,cases,suite,legacy,negative in plan: + out=b/name;assert not out.exists(),name + command=[sys.executable,'scripts/test-webview-engine.py','--serial','emulator-5598' if legacy else 'emulator-5580','--avd','Droidcast_WebView_API26_27caf3' if legacy else 'Tinycast_Tablet_API_36','--apk',str(binary),'--test-apk',str(test),'--output',str(out),'--suite',suite,'--cases',','.join(cases),'--layout',layout,'--font-scale',str(font)] + if suite=='native-input':command+=['--input-mode','owned'] + row={'name':name,'cases':cases,'expected_control':negative,'state':'running','started':time.time()};r['cohorts'].append(row);save() + with (b/(name+'-outer.log')).open('xb') as log:result=subprocess.run(command,stdout=log,stderr=subprocess.STDOUT,env=dict(os.environ,ANDROID_HOME='')) + receipt=json.loads((out/'record.json').read_text()) if (out/'record.json').is_file() else {} + row.update(exit_code=result.returncode,state='finished',finished=time.time());row.update({k:receipt.get(k) for k in ('passes','failures','completed','cleanup')});save();print(json.dumps({k:row[k] for k in ('name','exit_code','passes','failures','completed')}),flush=True) + if negative: + if result.returncode==0 or receipt.get('passes')!=0 or receipt.get('failures')!=1 or not receipt.get('cleanup',{}).get('release-owner-last',{}).get('passed') or not all(v.get('passed') for v in receipt.get('cleanup',{}).values()):raise SystemExit('Control did not complete its intended isolated failure; inspect before continuing') + elif result.returncode or not receipt.get('completed'):raise SystemExit('Current cohort failed; retain and inspect before continuing') +r['completed']=True;save() diff --git a/docs/validation/touch-search/collection-source/run-final-v8.py b/docs/validation/touch-search/collection-source/run-final-v8.py new file mode 100644 index 00000000..e65b296c --- /dev/null +++ b/docs/validation/touch-search/collection-source/run-final-v8.py @@ -0,0 +1,32 @@ +from pathlib import Path +import hashlib,json,os,subprocess,sys,time +b=Path('artifacts/touch-clear');h=b/'final-harness-v7';identity=json.loads((h/'identity.json').read_text());app=b/'candidate-v3/app-debug.apk';test=h/'app-debug-androidTest.apk' +methods=['launcherTouchClearPreservesFocusCategoryAndKeyboard','emojiTouchClearPreservesCategoryGeometryAndKeyboard','pointerClearRemovesControlledCompositionAndWhitespace','retainedClearCallbacksRejectReplacedSurfacesAndMenus','currentClearUsesLiveQueryAndRecreationRejectsOldCallback'];regression=['committedEmojiNavigationAndCaretAreExact','activeMultilingualCompositionKeepsResultSelection'] +old=Path('/.t3/scratch/droidcast-api26-input-27caf3/artifacts/native-input/owned-v5/app-debug.apk');spacing=b/'candidate-v2/app-debug.apk' +plan=[] +# Complete actual Clear flows in the previously constrained conditions first. +for layout,font in [('phone',2)]:plan.append((f'verified-{layout}{font}00-after-launcher-anr',app,layout,font,methods[:2],'touch-search',False,False)) +plan += [('verified-guards-tablet100',app,'tablet',1,methods[2:],'touch-search',False,False),('verified-api26-phone100',app,'phone',1,methods,'touch-search',True,False)] +for layout,legacy in [('tablet',False),('phone',False),('phone',True)]:plan.append((f'verified-regression-{"api26" if legacy else layout}100',app,layout,1,regression,'native-input',legacy,False)) +for layout in ('tablet','phone'): + for i,method in enumerate(methods[:2]):plan.append((f'final-old-{layout}100-{i+1}',old,layout,1,[method],'touch-search',False,True)) +plan.append(('final-spacing-control-tablet200',spacing,'tablet',2,[methods[1]],'touch-search',False,True)) +prior=json.loads((b/'native-final-v7.json').read_text());assert not prior['completed'];assert prior['cohorts'][-1]['name']=='verified-phone200' and prior['cohorts'][-1]['failures']==2 +assert json.loads((b/'launcher-anr-recovery.json').read_text())['completed'] +retained=prior['cohorts'][:-1];assert len(retained)==5 and all(x['completed'] and x['failures']==0 for x in retained) +state=b/'native-final-v8.json';assert not state.exists() +r={'app_source':identity['app_source'],'test_source':identity['test_source'],'controller_source':identity['controller_source'],'app_sha256':identity['app_sha256'],'test_apk_sha256':identity['test_apk_sha256'],'completed':False,'retained_from':'native-final-v7 first five whole unchanged-APK cohorts','excluded_cohort':'verified-phone200: external Pixel Launcher ANR, 0/2 remains failed','cohorts':[dict(x,retained_from='native-final-v7') for x in retained]} +def save():state.write_text(json.dumps(r,indent=2)+'\n') +save() +for name,binary,layout,font,cases,suite,legacy,negative in plan: + out=b/name;assert not out.exists(),name + command=[sys.executable,'scripts/test-webview-engine.py','--serial','emulator-5598' if legacy else 'emulator-5580','--avd','Droidcast_WebView_API26_27caf3' if legacy else 'Tinycast_Tablet_API_36','--apk',str(binary),'--test-apk',str(test),'--output',str(out),'--suite',suite,'--cases',','.join(cases),'--layout',layout,'--font-scale',str(font)] + if suite=='native-input':command+=['--input-mode','owned'] + row={'name':name,'cases':cases,'expected_control':negative,'state':'running','started':time.time()};r['cohorts'].append(row);save() + with (b/(name+'-outer.log')).open('xb') as log:result=subprocess.run(command,stdout=log,stderr=subprocess.STDOUT,env=dict(os.environ,ANDROID_HOME='')) + receipt=json.loads((out/'record.json').read_text()) if (out/'record.json').is_file() else {} + row.update(exit_code=result.returncode,state='finished',finished=time.time());row.update({k:receipt.get(k) for k in ('passes','failures','completed','cleanup')});save();print(json.dumps({k:row[k] for k in ('name','exit_code','passes','failures','completed')}),flush=True) + if negative: + if result.returncode==0 or receipt.get('passes')!=0 or receipt.get('failures')!=1 or not receipt.get('cleanup',{}).get('release-owner-last',{}).get('passed') or not all(v.get('passed') for v in receipt.get('cleanup',{}).values()):raise SystemExit('Control did not complete its intended isolated failure; inspect before continuing') + elif result.returncode or not receipt.get('completed'):raise SystemExit('Current cohort failed; retain and inspect before continuing') +r['completed']=True;save() diff --git a/docs/validation/touch-search/collection-source/run-final-v9.py b/docs/validation/touch-search/collection-source/run-final-v9.py new file mode 100644 index 00000000..2dfafd28 --- /dev/null +++ b/docs/validation/touch-search/collection-source/run-final-v9.py @@ -0,0 +1,30 @@ +from pathlib import Path +import hashlib,json,os,subprocess,sys,time +b=Path('artifacts/touch-clear');h=b/'final-harness-v7';identity=json.loads((h/'identity.json').read_text());app=b/'candidate-v3/app-debug.apk';test=h/'app-debug-androidTest.apk' +methods=['launcherTouchClearPreservesFocusCategoryAndKeyboard','emojiTouchClearPreservesCategoryGeometryAndKeyboard','pointerClearRemovesControlledCompositionAndWhitespace','retainedClearCallbacksRejectReplacedSurfacesAndMenus','currentClearUsesLiveQueryAndRecreationRejectsOldCallback'];regression=['committedEmojiNavigationAndCaretAreExact','activeMultilingualCompositionKeepsResultSelection'] +old=Path('/.t3/scratch/droidcast-api26-input-27caf3/artifacts/native-input/owned-v5/app-debug.apk');spacing=b/'candidate-v2/app-debug.apk' +plan=[] +# Complete actual Clear flows in the previously constrained conditions first. +plan += [('verified-api26-established-clear-phone100',app,'phone',1,[x for x in methods if x != methods[2]],'touch-search',True,False)] +for layout,legacy in [('tablet',False),('phone',False),('phone',True)]:plan.append((f'verified-regression-{"api26" if legacy else layout}100',app,layout,1,regression,'native-input',legacy,False)) +for layout in ('tablet','phone'): + for i,method in enumerate(methods[:2]):plan.append((f'final-old-{layout}100-{i+1}',old,layout,1,[method],'touch-search',False,True)) +plan.append(('final-spacing-control-tablet200',spacing,'tablet',2,[methods[1]],'touch-search',False,True)) +prior=json.loads((b/'native-final-v8.json').read_text());assert not prior['completed'];assert prior['cohorts'][-1]['name']=='verified-api26-phone100' and prior['cohorts'][-1]['passes']==4 and prior['cohorts'][-1]['failures']==1 +retained=prior['cohorts'][:-1];assert len(retained)==7 and all(x['completed'] and x['failures']==0 for x in retained) +state=b/'native-final-v9.json';assert not state.exists() +r={'app_source':identity['app_source'],'test_source':identity['test_source'],'controller_source':identity['controller_source'],'app_sha256':identity['app_sha256'],'test_apk_sha256':identity['test_apk_sha256'],'completed':False,'retained_from':'native-final-v8 first seven whole unchanged-APK cohorts','excluded_cohorts':['verified-phone200: external launcher ANR, 0/2 remains failed','verified-api26-phone100:4/5, composition precondition had no underline before Clear; cause remains open in#69'],'cohorts':[dict(x,retained_from='native-final-v8') for x in retained]} +def save():state.write_text(json.dumps(r,indent=2)+'\n') +save() +for name,binary,layout,font,cases,suite,legacy,negative in plan: + out=b/name;assert not out.exists(),name + command=[sys.executable,'scripts/test-webview-engine.py','--serial','emulator-5598' if legacy else 'emulator-5580','--avd','Droidcast_WebView_API26_27caf3' if legacy else 'Tinycast_Tablet_API_36','--apk',str(binary),'--test-apk',str(test),'--output',str(out),'--suite',suite,'--cases',','.join(cases),'--layout',layout,'--font-scale',str(font)] + if suite=='native-input':command+=['--input-mode','owned'] + row={'name':name,'cases':cases,'expected_control':negative,'state':'running','started':time.time()};r['cohorts'].append(row);save() + with (b/(name+'-outer.log')).open('xb') as log:result=subprocess.run(command,stdout=log,stderr=subprocess.STDOUT,env=dict(os.environ,ANDROID_HOME='')) + receipt=json.loads((out/'record.json').read_text()) if (out/'record.json').is_file() else {} + row.update(exit_code=result.returncode,state='finished',finished=time.time());row.update({k:receipt.get(k) for k in ('passes','failures','completed','cleanup')});save();print(json.dumps({k:row[k] for k in ('name','exit_code','passes','failures','completed')}),flush=True) + if negative: + if result.returncode==0 or receipt.get('passes')!=0 or receipt.get('failures')!=1 or not receipt.get('cleanup',{}).get('release-owner-last',{}).get('passed') or not all(v.get('passed') for v in receipt.get('cleanup',{}).values()):raise SystemExit('Control did not complete its intended isolated failure; inspect before continuing') + elif result.returncode or not receipt.get('completed'):raise SystemExit('Current cohort failed; retain and inspect before continuing') +r['completed']=True;save() diff --git a/docs/validation/touch-search/controller-final-identity.json b/docs/validation/touch-search/controller-final-identity.json new file mode 100644 index 00000000..51d2cd52 --- /dev/null +++ b/docs/validation/touch-search/controller-final-identity.json @@ -0,0 +1,48 @@ +{ + "controller_source": "fed57fb02b52f660d4c35f216e5e227487235c50", + "app_source": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "common_test_source": "07a2de6df0403ed15b03d3712cdd7724b4946f10", + "python_cases_per_mode": 135, + "python_source_sha256": { + "scripts/android_clipboard_recovery.py": "4aa2d03a100791544d282de37a2f62b6f7bfd94c47cc5611b6b6448ed8a946c1", + "scripts/android_form_documents_fixture.py": "ef44f5a9af1397fc8e8ea1924e36c2dec18d5c56c02e22f4925752daf1034841", + "scripts/android_test_cleanup.py": "1f4a1d70d251ec0a8294932388ce881da144c9c7d1c05df54df2c5b246d46373", + "scripts/extension_bundle_snapshot.py": "08ae0408a22e4f4c3c8a8b22af31b6a6a16d304dc0d14d5e489596dd9731a950", + "scripts/extension_manifest_catalog.py": "18c6048a0690e68dba3da1e8d11c5abccac16c3c26aa8803ff80abfd1dabe7e4", + "scripts/generate-emoji.py": "98f43c9a5941b4e65533e31ff7d7eaa4e697d8fecd4c7424297e6957e07abd53", + "scripts/generate-tinycast-grid-oracle.py": "bd53975673883b624d2553cd47687c5a3a760b17181a8c0621715ed1599b3118", + "scripts/package-nightly-update.py": "2a650baee0c7c76eadd360171e19686aad7b960fe34ebc780638c6b231032420", + "scripts/summarize-readiness.py": "e63d9d2ec435d2c369ae0be126bafb0b0507e903b03674f11a77ee10b428fe64", + "scripts/test-api-compatibility.py": "1ba4bf24535130bfd59a5f1d9d4830ca075e7158fc2cbe316696fcadb6108065", + "scripts/test-assistant-touch.py": "fd5a4acfdd19ddc60eb467fea3c7d2e8ab7ac717bea35c76d007577c23235a54", + "scripts/test-calculator-intent.py": "93ef5653c4d0c153d8f216c9fd74557089a964eaab80c84c85ab5460ec58f1a1", + "scripts/test-configurable-shortcuts.py": "56f4581f78265ec2c28faa1da115ae10a8349cf47e10db60bfba3e88f0cc3e73", + "scripts/test-extension-grid.py": "26f15b12f40277cbd3b6b874c58e41ab7e26735ef8e70634e5b5eb53b5652560", + "scripts/test-extension-workflows.py": "c6cce4d533b45655a7763305379107840a93a1a953be0322a869c7505ffc0997", + "scripts/test-global-shortcut.py": "4a0f57d16dfccbd0c7b33d6b78a841ccad030c4bad6fb108ac80f15dc89f6d6a", + "scripts/test-modifier-taps-hardware.py": "b0d2da7fd2410095d65ef20e25cd9b8e90f9b480849dfd5e497f75d4d713139c", + "scripts/test-modifier-taps.py": "8cb08d228371c90f995ae2246ef0a92daf6c81724c11a1ac67374ed0dd347dab", + "scripts/test-readiness-benchmark.py": "1f92dc1989f1ff36c82433d6eaab1e2c896abf7541a24a9b215c109e49d1a7d9", + "scripts/test-restart-files.py": "65f1c311df77634f746cb155d831acf1fa4d8cf05d0e1dabc9d372bf1e842065", + "scripts/test-reviewed-text-input.py": "4e9ab25f0b1bce00277d0dde5a37a29ab8cbbdb9900699c5bdfd9cfa4b9bb248", + "scripts/test-reviewed-text-process-recreation.py": "eecd547c48ad2bbce2d8bae62bbed26a2484e0b5d97ebb7cb989ba98d4de2a23", + "scripts/test-search-header.py": "772cb70442bbf28086beb8087ebce94d02ba6cc10e6acf8c2cf91a0d8d5b39d0", + "scripts/test-self-updates.py": "4ff148ea90c3a148a1eacf74116db288e5e9c282f69e0c331caa6f22b1a40889", + "scripts/test-startup-performance.py": "9ac605bf3347fde625d279767bb8fc4de76ae82f099e7d8351416fa5bc9250ae", + "scripts/test-touch-readability.py": "d9ae59ab3db56d63cb5c959c200263b71acd0e04c305dce4e9ceb8a395933fb6", + "scripts/test-webview-engine.py": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "scripts/tests/test_android_clipboard_recovery.py": "b260d3adcfa33e2641affebee9bebb1676097b4a24bbdbeb89cef7f3fc889176", + "scripts/tests/test_android_form_documents_fixture.py": "c2b573793d6c5d48fe9dc8e75ffc554e11818e319507080a4b96aa4e24e1fc03", + "scripts/tests/test_android_test_cleanup.py": "49c8831c517f0777f46952376f5d3b783322eeb25f063d69a9b1bc2f8cde01cf", + "scripts/tests/test_extension_bundle_snapshot.py": "382561907129ac58b7e20b963c1afcbc9bc1a03b7e18da64e7d61927a8b15783", + "scripts/tests/test_extension_manifest_catalog.py": "57af21edf39e3e4084453830eed62d3c052ba8d8a4f942d3d69807e2cd4b69a6", + "scripts/tests/test_extension_workflow_guards.py": "1cea982b85cf759e691471cad72b8e2cbdccdf3c2ccc6c483b1ef01b49002a3f", + "scripts/tests/test_private_archive_transport.py": "168c1607d4e1efa7537241cf362316ce354706af33465dc63e73d210ab0327d1", + "scripts/tests/test_private_path_observation.py": "3c0fff3062ac9b43aab67ed4ab2d53b92fa39f9af9e0ada9d197856a1df94e95", + "scripts/tests/test_reviewed_text_archives.py": "0308a50c148c97ed50381e894eabd43ec6e374878f99b810244c24e25f1a626e", + "scripts/tests/test_reviewed_text_runner_guards.py": "a3d489fe141be669374ecd0b3a6231afc5efdf4abfc6a74f7d25efec4e67038c", + "scripts/tests/test_webview_engine_runner.py": "846ee3b34578f92bd3f728eac4044c5ef4481478e3ec9d744e848e0094119168", + "scripts/verify-recorded-workflow-catalog.py": "fc0ec3b595b3a892238a4e0cc19b79ca092e8dcbe3e4af1d261e4874f984c2d5" + }, + "scope": "Android/build inputs unchanged from frozen5e7cb6. Current controller streams full data archives through private mode600 files; before/after equality, deadlines and owner retention remain required. Actual device APKs remain974b/f79." +} diff --git a/docs/validation/touch-search/failures/post-test/outer.log b/docs/validation/touch-search/failures/post-test/outer.log new file mode 100644 index 00000000..5fcac93e --- /dev/null +++ b/docs/validation/touch-search/failures/post-test/outer.log @@ -0,0 +1,42 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 279, in main + require('ActiveInstrumentation{' not in text('shell', 'dumpsys', 'activity', 'processes'), 'Instrumentation still active; retain recovery owner') + ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/scripts/test-webview-engine.py", line 142, in text + return raw(*args).decode().strip() + ~~~^^^^^^^ + File "/scripts/test-webview-engine.py", line 139, in raw + return subprocess.check_output(adb + list(args), input=data, stderr=subprocess.STDOUT, timeout=timeout) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/homebrew/Cellar/python@3.14/3.14.7/Frameworks/Python.framework/Versions/3.14/lib/python3.14/subprocess.py", line 473, in check_output + return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, + ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + **kwargs).stdout + ^^^^^^^^^ + File "/opt/homebrew/Cellar/python@3.14/3.14.7/Frameworks/Python.framework/Versions/3.14/lib/python3.14/subprocess.py", line 557, in run + stdout, stderr = process.communicate(input, timeout=timeout) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/homebrew/Cellar/python@3.14/3.14.7/Frameworks/Python.framework/Versions/3.14/lib/python3.14/subprocess.py", line 1221, in communicate + stdout, stderr = self._communicate(input, endtime, timeout) + ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/homebrew/Cellar/python@3.14/3.14.7/Frameworks/Python.framework/Versions/3.14/lib/python3.14/subprocess.py", line 2154, in _communicate + self._check_timeout(endtime, orig_timeout, stdout, stderr) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/homebrew/Cellar/python@3.14/3.14.7/Frameworks/Python.framework/Versions/3.14/lib/python3.14/subprocess.py", line 1268, in _check_timeout + raise TimeoutExpired( + ...<2 lines>... + stderr=b''.join(stderr_seq) if stderr_seq else None) +subprocess.TimeoutExpired: Command '['/platform-tools/adb', '-s', 'emulator-5580', 'shell', 'dumpsys', 'activity', 'processes']' timed out after 60 seconds + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 402, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 396, in main + save(); c.finish() + ~~~~~~~~^^ + File "/scripts/android_test_cleanup.py", line 81, in finish + raise CleanupError('Restoration failed: ' + ', '.join(self.errors)) +android_test_cleanup.CleanupError: Restoration failed: idle-owned-instrumentation diff --git a/docs/validation/touch-search/failures/post-test/record.json b/docs/validation/touch-search/failures/post-test/record.json new file mode 100644 index 00000000..3bbbccba --- /dev/null +++ b/docs/validation/touch-search/failures/post-test/record.json @@ -0,0 +1,31 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 2.0, + "layout": "tablet", + "cleanup": { + "idle-owned-instrumentation": { + "passed": false, + "error_type": "TimeoutExpired" + } + }, + "instrumentation_exit_code": 0, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0" +} diff --git a/docs/validation/touch-search/failures/post-test/recovered-captures.json b/docs/validation/touch-search/failures/post-test/recovered-captures.json new file mode 100644 index 00000000..17446885 --- /dev/null +++ b/docs/validation/touch-search/failures/post-test/recovered-captures.json @@ -0,0 +1,41 @@ +{ + "captures": { + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml": "685323f6e1dd52ebb3d5e79485546f03b12c963eced8c78f1995897b70cb400e", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png": "7bed30fbd03d510eabdbd421b72167cb38e7de1d6319c2a3475ee09c7ef562da", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json": "539f2bda830bf4cfdcbe6ddf5292cb32ce354a96b7e4e08ee26c15e322ac1e03", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml": "4f22432d20b84b6fbb36cfda889352499570a0dc9877352fef083b54e1654c41", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png": "35304bb345615652e38010750b7ad4597c14037f1f54d3b0fc7e6a2df4b42f7d", + "emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json": "cb72b49a2840c16060634ef0e9880c647b6dfadaf48a874c1786af2019a3615d", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml": "4609f7d7aa16f8c62d04c90f6d2212e5ee9a4fd21bd9eed54572f1cb05474bb7", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png": "255ddf5c08ae0a5edf6cfacd3a43abdd0c02207f380ec39cba11873d61a576ef", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json": "12702a0724b7eff7dc55aee6be56016d04974e255948d12858a9f864552e6a3c", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml": "5561079ff0bf9f5be7fe04933d1f7f5daa6783a8ab69d7f5e4d00d64f25be2a1", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png": "350457ac6bd146d74367d9a8c6e038b6f01e02e50d07d6c38fc73d586eb9c03f", + "emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json": "124d29121650f25b3038b4863938c3ead302126fd5ba58550f8482dc717a4a0b", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml": "08dc39c55db51bdb1eb7aceae931cbca341d91fd414542a8f73ae0145f298ca0", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png": "62debdf36be04add0aa567f22b17b8e4843acb5316cc2e3424816dffaf76ed06", + "emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json": "545ffdf4e0c3135fd723e9a321aa56553cd96b3d18bdb72a2fb5862a57b8ee87", + "emojitouchclearpreservescategorygeometryandkeyboard-case.json": "3532dc428a2dd5e1849b558a693e0c85d51347e8febd457149cb6a3b6e531a02", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml": "9773bddc40bd7e91a5d2fd968f3c2e1fa4fecf3f4e89f96d3da8c951d1d1b9bb", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png": "88efbfafa5e9090b474d62f9cc76ddf9231b673f61c7f936c6e1165d5d10d2bc", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json": "5ebb0a0773340985fc4b867f81028ce0227b9e6b92b11043689192fdf7ec542b", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml": "b13c23232c35be07be82e8b7c0452ef1d146226844dd27d943204484b07207ef", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png": "5e669b6f05f718f4dd8e550db2516807c3f5620198ff53ec33e2d2559edc3436", + "launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json": "b520db8f0022d0c0fcd76aa49c2d537f9f57433a32bec2c0fc4d64ad2505d801", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml": "274e16d1c6c8d27686f1fc7404fdd3f21f9d3635e8c6fcd1a07b1171dbc6c59e", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png": "abd323025df7b48a272d7a6358499338a4a88931ebc48bdf84441c6b7f8a1125", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json": "93f43193e27a09f4dc41451fe0626528dd2a5636f660df82c3111a96bd6942fd", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml": "6b180f19c1b68f20552daf58e26ee6ecc44edbd321e9116beec773bb7dd5eacf", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png": "6e6d8a7cfa07838daf6751475f1725395893fbd07acfb61b929a0c211bb57ffe", + "launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json": "7f8965715aa49d7a4295e8ed5ff74931aeef492d0bd64f68ef3201d7b8c8049e", + "launchertouchclearpreservesfocuscategoryandkeyboard-case.json": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351" + }, + "raw_junit": { + "passes": 2, + "failures": 0 + }, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "completed_protocol": false, + "scope": "Actual pre-reboot test files recovered under the retained owner. The runner failed its idle/cleanup protocol; these raw passes earn no final-cohort credit." +} diff --git a/docs/validation/touch-search/failures/post-test/tests.log b/docs/validation/touch-search/failures/post-test/tests.log new file mode 100644 index 00000000..1f0140e7 --- /dev/null +++ b/docs/validation/touch-search/failures/post-test/tests.log @@ -0,0 +1,37 @@ +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +dev.tinycast.android.TouchSearchDeviceTest: +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=1 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=emojiTouchClearPreservesCategoryGeometryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream= +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 1 +INSTRUMENTATION_STATUS: class=dev.tinycast.android.TouchSearchDeviceTest +INSTRUMENTATION_STATUS: current=2 +INSTRUMENTATION_STATUS: id=AndroidJUnitRunner +INSTRUMENTATION_STATUS: numtests=2 +INSTRUMENTATION_STATUS: stream=. +INSTRUMENTATION_STATUS: test=launcherTouchClearPreservesFocusCategoryAndKeyboard +INSTRUMENTATION_STATUS_CODE: 0 +INSTRUMENTATION_RESULT: stream= + +Time: 129.871 + +OK (2 tests) + + +INSTRUMENTATION_CODE: -1 diff --git a/docs/validation/touch-search/failures/zero-test-preflight/outer.log b/docs/validation/touch-search/failures/zero-test-preflight/outer.log new file mode 100644 index 00000000..68f595f0 --- /dev/null +++ b/docs/validation/touch-search/failures/zero-test-preflight/outer.log @@ -0,0 +1,28 @@ +Traceback (most recent call last): + File "/scripts/test-webview-engine.py", line 402, in + main() + ~~~~^^ + File "/scripts/test-webview-engine.py", line 244, in main + data = raw('exec-out', 'run-as', APP, 'tar', '-cf', '-', 'files', 'shared_prefs') + File "/scripts/test-webview-engine.py", line 139, in raw + return subprocess.check_output(adb + list(args), input=data, stderr=subprocess.STDOUT, timeout=timeout) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/homebrew/Cellar/python@3.14/3.14.7/Frameworks/Python.framework/Versions/3.14/lib/python3.14/subprocess.py", line 473, in check_output + return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, + ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + **kwargs).stdout + ^^^^^^^^^ + File "/opt/homebrew/Cellar/python@3.14/3.14.7/Frameworks/Python.framework/Versions/3.14/lib/python3.14/subprocess.py", line 557, in run + stdout, stderr = process.communicate(input, timeout=timeout) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/homebrew/Cellar/python@3.14/3.14.7/Frameworks/Python.framework/Versions/3.14/lib/python3.14/subprocess.py", line 1221, in communicate + stdout, stderr = self._communicate(input, endtime, timeout) + ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/homebrew/Cellar/python@3.14/3.14.7/Frameworks/Python.framework/Versions/3.14/lib/python3.14/subprocess.py", line 2154, in _communicate + self._check_timeout(endtime, orig_timeout, stdout, stderr) + ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/opt/homebrew/Cellar/python@3.14/3.14.7/Frameworks/Python.framework/Versions/3.14/lib/python3.14/subprocess.py", line 1268, in _check_timeout + raise TimeoutExpired( + ...<2 lines>... + stderr=b''.join(stderr_seq) if stderr_seq else None) +subprocess.TimeoutExpired: Command '['/platform-tools/adb', '-s', 'emulator-5580', 'exec-out', 'run-as', 'dev.tinycast.android', 'tar', '-cf', '-', 'files', 'shared_prefs']' timed out after 60 seconds diff --git a/docs/validation/touch-search/failures/zero-test-preflight/record.json b/docs/validation/touch-search/failures/zero-test-preflight/record.json new file mode 100644 index 00000000..44d9a9d8 --- /dev/null +++ b/docs/validation/touch-search/failures/zero-test-preflight/record.json @@ -0,0 +1,25 @@ +{ + "completed": false, + "expected_negative": false, + "suite": "touch-search", + "input_mode": "system", + "runner_sha256": "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4", + "apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "methods": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "api": 36, + "font_scale": 2.0, + "layout": "tablet", + "cleanup": {}, + "provider_before": [ + "Current WebView package (name, version): (com.google.android.webview, 133.0.6943.137)" + ], + "original_geometry": { + "size": "Physical size: 1920x1200", + "density": "Physical density: 240" + }, + "original_font_scale": "1.0" +} diff --git a/docs/validation/touch-search/final-controls-calibration.json b/docs/validation/touch-search/final-controls-calibration.json new file mode 100644 index 00000000..827414a4 --- /dev/null +++ b/docs/validation/touch-search/final-controls-calibration.json @@ -0,0 +1,56 @@ +{ + "all_completed": true, + "controls": [ + { + "cohort": "final-old-tablet100-1", + "passes": 0, + "intended_failures": 1, + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "app_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_log_sha256": "538247ef6d51316b95974672d1aea74a27d8eee5a0c0c0fa4abbdf8fcefdf517", + "cleanup_checks": 15, + "assertion": "Missing Clear display at geometry line107; ordinary pre-action app frame, no app error banner" + }, + { + "cohort": "final-old-tablet100-2", + "passes": 0, + "intended_failures": 1, + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "app_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_log_sha256": "f87b444e578d882ff28e97364a72930ee899ff630175d5e4a56fe78345c3df0d", + "cleanup_checks": 15, + "assertion": "Missing Clear display at geometry line107; ordinary pre-action app frame, no app error banner" + }, + { + "cohort": "final-old-phone100-1", + "passes": 0, + "intended_failures": 1, + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "app_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_log_sha256": "3e8e7173a13922e0a494e331cc49dcf5a1c0658c02be1db7450eb0df112856b5", + "cleanup_checks": 17, + "assertion": "Missing Clear display at geometry line107; ordinary pre-action app frame, no app error banner" + }, + { + "cohort": "final-old-phone100-2", + "passes": 0, + "intended_failures": 1, + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "app_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_log_sha256": "ade5560a09c0ba12b1f9f5a02f597f8030528b79cc3dea20238503e0fd971889", + "cleanup_checks": 17, + "assertion": "Missing Clear display at geometry line107; ordinary pre-action app frame, no app error banner" + }, + { + "cohort": "final-spacing-control-tablet200", + "passes": 0, + "intended_failures": 1, + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "app_sha256": "e143a921f4adb69551ad327ee252ffb7008b207ae1b814542f980dd8c17a7a34", + "test_log_sha256": "c45a1cf53735123a0ffc42e65a801f8205dcc1cbcd0fcb483b6e0a6b5a222634", + "cleanup_checks": 15, + "assertion": "Six-pixel Emoji/launcher return-origin mismatch after successful pointer Clear, 200%" + } + ], + "scope": "Same final54a instrumentation on negative and repaired apps. Positive-only runner receipts remain failed; no generic failure classification earns control credit." +} diff --git a/docs/validation/touch-search/final-preservation-receipt.json b/docs/validation/touch-search/final-preservation-receipt.json new file mode 100644 index 00000000..1e8606e1 --- /dev/null +++ b/docs/validation/touch-search/final-preservation-receipt.json @@ -0,0 +1,20 @@ +{ + "checks": { + "emulator-5580-four-ime-fields": true, + "emulator-5598-four-ime-fields": true, + "emulator-5580-unprivileged": true, + "emulator-5580-no-active-instrumentation": true, + "emulator-5580-geometry-not-overridden": true, + "emulator-5580-original-font-scale": true, + "emulator-5598-unprivileged": true, + "emulator-5598-no-active-instrumentation": true, + "emulator-5598-geometry-not-overridden": true, + "emulator-5598-original-font-scale": true, + "all-original-modern-app-and-evidence-files": true, + "original-apk-dev.tinycast.android": true, + "original-apk-dev.tinycast.android.test": true, + "legacy-original-package-absence": true + }, + "all_passed": true, + "scope": "Read-only current-baseline equality after the whole pipeline; no private original contents or fingerprints published" +} diff --git a/docs/validation/touch-search/historical-runner-source-bindings.json b/docs/validation/touch-search/historical-runner-source-bindings.json new file mode 100644 index 00000000..d0c9ba60 --- /dev/null +++ b/docs/validation/touch-search/historical-runner-source-bindings.json @@ -0,0 +1,12 @@ +{ + "runner_sha256_to_git_revisions": { + "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3": [ + "fed57fb02b52f660d4c35f216e5e227487235c50" + ], + "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4": [ + "e4d8bb16e8e5210770ca4f41c224e06ce5d1325c" + ] + }, + "all_observed_runner_hashes_resolved": true, + "scope": "Every retained runner receipt is matched by exact tracked script bytes at these historical Git revisions. This does not equate instrumentation APKs or promote failed cohorts." +} diff --git a/docs/validation/touch-search/identities/candidate-v2/app-manifest.xml b/docs/validation/touch-search/identities/candidate-v2/app-manifest.xml new file mode 100644 index 00000000..804a65c5 --- /dev/null +++ b/docs/validation/touch-search/identities/candidate-v2/app-manifest.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/identities/candidate-v2/identity.json b/docs/validation/touch-search/identities/candidate-v2/identity.json new file mode 100644 index 00000000..dfeeb348 --- /dev/null +++ b/docs/validation/touch-search/identities/candidate-v2/identity.json @@ -0,0 +1,545 @@ +{ + "source_commit": "07a2de6df0403ed15b03d3712cdd7724b4946f10", + "source_sha256": { + "app/build.gradle.kts": "28f41ac518c91f15c98221d0511870a5409b9f35ae008acfdd5f667db06bcadf", + "app/src/androidTest/AndroidManifest.xml": "63c98a685e9dd67d8150af8981832d34271fb37a92e46444eec52728f559d609", + "app/src/androidTest/assets/owned-detail-fixture.js": "873d3f25f95271029e31779b0920b5955a2908a820a07652b58efa21a2358cfd", + "app/src/androidTest/java/dev/tinycast/android/ActivationDeviceTest.kt": "2f2fe66a5c3628433feeb6db33e02be43ca3f267b39ec541f2e3330fc1142974", + "app/src/androidTest/java/dev/tinycast/android/AssistantDeviceTest.kt": "1ecebcf20fe9aa7aa63701c81500195eddd1ae88618d89f31105fecc58189b6b", + "app/src/androidTest/java/dev/tinycast/android/AssistantTouchDeviceTest.kt": "1f33a283e5b1f05a5a74dbb76bc3ff8920193cd761edd1cce1e61cb733cb9874", + "app/src/androidTest/java/dev/tinycast/android/BackupDeviceTest.kt": "56c56d6a652524f7fc7952b1478552314b1e465ace5c7216385d7f2ea3cf4b6c", + "app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt": "e738e5b09aa6128343abe628ed7f93571b9a87c1eb95e78f00c617aadcf348b4", + "app/src/androidTest/java/dev/tinycast/android/CalculatorIntentDeviceTest.kt": "628ddcef4b50880170fba97cd925fefc5f463f632799d9e2686e7512b2bbc15f", + "app/src/androidTest/java/dev/tinycast/android/ClipboardApiDeviceTest.kt": "e53bbc080d17b59aae6280b7b817a3c81b4df684dcfd5ca787a993d89caf5de4", + "app/src/androidTest/java/dev/tinycast/android/ClipboardEvidence.kt": "c882a7435cdca3bbdf68da66a6e8ef23bce932fb5746ba09c61bded5b9c98e9d", + "app/src/androidTest/java/dev/tinycast/android/ClipboardEvidenceDeviceTest.kt": "dfdb64344886b7e5d4b54f04fa4560f169e8cb8d7b7b238ba08358dcde73f854", + "app/src/androidTest/java/dev/tinycast/android/ClipboardRecoveryActivity.java": "48627f465b10c316cca7fdfa735928095328241b4fb98bf90e5c247add17345d", + "app/src/androidTest/java/dev/tinycast/android/DocumentProviderDeviceTest.kt": "13895d23b8758affd8889461ef660c442d3bfd1bb111fce08a064aa4b582aea2", + "app/src/androidTest/java/dev/tinycast/android/EmojiDeviceTest.kt": "ab9907d4e4acd7e52ed26f12ac14648271e5740784cdba678671ca8ad42fb415", + "app/src/androidTest/java/dev/tinycast/android/EnduranceDeviceTest.kt": "4802d3755ce6bc1cdf8e60c7cf9998a09ced8e0be6d9888f0b9d9a32ee332dc4", + "app/src/androidTest/java/dev/tinycast/android/ExtensionCommandHandoffDeviceTest.kt": "8c47f08b1d49a94dfd520840a0b0349199459da4ece8ff1adcacc46516b37f7b", + "app/src/androidTest/java/dev/tinycast/android/ExtensionDetailDeviceTest.kt": "d5bd83f6d174ca5d5c3c9d68551cc3a78bc90763060410bd5f3b67d9d9642025", + "app/src/androidTest/java/dev/tinycast/android/ExtensionDeviceTest.kt": "3087ff055f70cdf43d2565e22703b9c57445b5c3e1594126d60b0279c32b2640", + "app/src/androidTest/java/dev/tinycast/android/ExtensionEmptyViewDeviceTest.kt": "64e6b1e68c61cf67b24ba02d1e14a72d297b1bdeebbdf1008905d5619ce2558f", + "app/src/androidTest/java/dev/tinycast/android/ExtensionFormDeviceTest.kt": "6418f6ab517ead50a102b4834bff9c40988849fb3a2a1ef20f575d162b32e11b", + "app/src/androidTest/java/dev/tinycast/android/ExtensionGridDeviceTest.kt": "952b4f2988379c1545575d1332f8358acc9053e257a382b7549a27f6b4b40de3", + "app/src/androidTest/java/dev/tinycast/android/ExtensionMarkdownDeviceTest.kt": "e4b7daa9fd914335f572ef41665595104cdae5434682977a2d806ff63ef36c4f", + "app/src/androidTest/java/dev/tinycast/android/ExtensionPasteCopyDeviceTest.kt": "7bdd8e876153d4d46357402eab58cf89c0e8885823d21894c70882ed55b1da8e", + "app/src/androidTest/java/dev/tinycast/android/ExtensionRecordedTestsDeviceTest.kt": "1aa11011270b01a235bb052c6063da7eb5f7f726a7bb19f79aa54e7b8aa4ca42", + "app/src/androidTest/java/dev/tinycast/android/ExtensionSandboxDiagnosticDeviceTest.kt": "3e192cb65d011e021d5b47b6bde765e1136c2ddf7e039b5c9dce6dedbf39da15", + "app/src/androidTest/java/dev/tinycast/android/FeedbackReadabilityDeviceTest.kt": "86096d428b6554bcb6b8c9d7bc39b981baf1fd53f9367a33c97ce03c89020a82", + "app/src/androidTest/java/dev/tinycast/android/FolderDeviceTest.kt": "f3d54b0d788459d34470d2d87c8882cdfe30e8956a8886cd324dd63160f5628d", + "app/src/androidTest/java/dev/tinycast/android/FormDocumentsFixtureActivity.java": "434e72d8a0c977a83cbe6524cc51638eaff9cca5581c570ea58d4068ad2156a9", + "app/src/androidTest/java/dev/tinycast/android/FrozenBundleWorkflowDeviceTest.kt": "9d31d56f739caa2509610cf4c07abf70dfd5ea0aead7ec5c5673bde1ca04bc45", + "app/src/androidTest/java/dev/tinycast/android/InlinePaletteDeviceTest.kt": "ed2cfb9dc3c5218adfe0ae7b3cc1c60a69e6cf8c83ad434c2fc6b87d23bb2727", + "app/src/androidTest/java/dev/tinycast/android/LegacyInputDiagnosticDeviceTest.kt": "4966fac20af96b8597fb38a278d8f3ef89b7e335f3d3b6e5df00fb349ebabc55", + "app/src/androidTest/java/dev/tinycast/android/ModifierHardwareClipboardTest.kt": "141499cea10d4c80b8ef690fd43e985c066d1b420afa23895c32e75de737ec8d", + "app/src/androidTest/java/dev/tinycast/android/ModifierTapDeviceTest.kt": "d33bafba795569c15bab709a9830ca06ecffda9feb754492ec437d55c1d1cae1", + "app/src/androidTest/java/dev/tinycast/android/NativeEditableAssertions.kt": "be979c8e0f3e78b8d0e4482c2653769d732d24871a822b3761f5708a1e6a230b", + "app/src/androidTest/java/dev/tinycast/android/NativeInputCompatibilityDeviceTest.kt": "484dcb406a6b9fbc7851efd883029a43b303bdab799c9385e51a678ab91a51fc", + "app/src/androidTest/java/dev/tinycast/android/NativeInputTestIme.kt": "c3a766ae381e6e4a1b514b3890cdd220616df8e9b88208cdb9aa562ebd8f45ce", + "app/src/androidTest/java/dev/tinycast/android/OwnedFormDocumentsProvider.java": "67c22d543cb2136d81dc3544d8f63df94ce67f9524c7f19dc9c6b1b586713e89", + "app/src/androidTest/java/dev/tinycast/android/PaletteDeviceTest.kt": "7f5861ffec2e762c1e629519802c10d4b31e3bebd49a3c5867013c6aad77f3f4", + "app/src/androidTest/java/dev/tinycast/android/PaletteOverlayTest.kt": "0755f9aa38bdb5785d2cb8902157ce990b5b9825db0ae71847e11c8b1bd4b7aa", + "app/src/androidTest/java/dev/tinycast/android/PaletteStabilityDeviceTest.kt": "87896693541425799e7815d2fc1e3988e29afd9bba346da48183a91fa91be9c9", + "app/src/androidTest/java/dev/tinycast/android/ReadinessDeviceTest.kt": "c6f3ea767e9adc8384a3b662223ab57bef067fca8501509e0415111b711589f3", + "app/src/androidTest/java/dev/tinycast/android/ReadinessRegressionDeviceTest.kt": "3815d7aef28c0943999782217eabe14dd80fdd464476798bd0bf12a1d0be3c4a", + "app/src/androidTest/java/dev/tinycast/android/RecentDocumentDeviceTest.kt": "85af5ed0fd05c0716b8ac14b24e98397829ff8d241695999a0cfc68727923e40", + "app/src/androidTest/java/dev/tinycast/android/ReviewedTextCallerActivity.java": "640609575a0711566bf23f3028a5144e8aeae912604f9b7180912fd2c9b96200", + "app/src/androidTest/java/dev/tinycast/android/ReviewedTextClipboardCrashDeviceTest.kt": "6a1ebc4d90c8b5fa9a07f4b288c20b361297efbeaf7d4423eb211da47b4cf0c0", + "app/src/androidTest/java/dev/tinycast/android/ReviewedTextDeviceTest.kt": "31040a9d92e7e60d8026dda7119a9f7eedd2127ea6f50bfb308849f56b6fc0ac", + "app/src/androidTest/java/dev/tinycast/android/ReviewedTextLifecycleDeviceTest.kt": "2190f43dca4d7a7eca162a7e34f46d6091cfd114d83a5e4509946c1b912ce76f", + "app/src/androidTest/java/dev/tinycast/android/SettingsDeviceTest.kt": "dd9b9a2492c497a2a3ac3218d0833d2e8b536eb904975aa536b08361acc323a9", + "app/src/androidTest/java/dev/tinycast/android/SettingsRouteDeviceTest.kt": "8f6991670e740a07d3a6b30aea270b60e19f6d237c4b7b6afaf25200962ad736", + "app/src/androidTest/java/dev/tinycast/android/ShortcutDeviceTest.kt": "5376ede8474d5eaa4ec7ecb628d1056a5bfc963bd2a292d17d9b86eead8a5415", + "app/src/androidTest/java/dev/tinycast/android/ShortcutReadinessDeviceTest.kt": "41bdf7ab67a6899dc8a0b1b0f697135bc587dc401c9234eb56d25385eadf3dcf", + "app/src/androidTest/java/dev/tinycast/android/SystemSettingsDeviceTest.kt": "80e0c919fbf04916d2441aa3fbc4cccfac534f56c29dfd908e5ae2d917cfe13b", + "app/src/androidTest/java/dev/tinycast/android/TestAutomation.kt": "faad509cd41b06c4cc1087e5de8e0218abca78773603b2050bb2825c880588fb", + "app/src/androidTest/java/dev/tinycast/android/TouchReadabilityDeviceTest.kt": "6801d25bb0d9bc45899b04aeedba474e2ac8e5cc8cb168b6268e0305fb49345e", + "app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt": "97ebfc6598b7e9fd32ea52e77ec57f642c41d27ca140914a73240e690195a704", + "app/src/androidTest/java/dev/tinycast/android/UpdateDeviceTest.kt": "380e4d7702d2f8c68fd575581309113bc67abf3e5713bdb177cc3b920c4e2787", + "app/src/androidTest/java/dev/tinycast/android/UpdateSelfInstallDeviceTest.kt": "fc94ef400b54ee2cf8378d2b1632fff1521299f188a132f0330e930b40f80ed3", + "app/src/androidTest/java/dev/tinycast/android/UpdateSourceDeviceTest.kt": "76d91931dc044fdeb001a8325a321306011f2b0c54aa631bea25751c59f3ea50", + "app/src/androidTest/java/dev/tinycast/android/UpdateVerificationDeviceTest.kt": "cebe3033132db567affccc5419ec59a9639c87ceb88b20c38ffbba16c13b4592", + "app/src/androidTest/java/dev/tinycast/android/WebViewCompatibilityDeviceTest.kt": "ce5842cad291b9cb77aed19ecb9436dc80de24beb27e018797a7f84fb4a84895", + "app/src/androidTest/java/dev/tinycast/android/WebViewRecoveryDeviceTest.kt": "dd6ccf056187d184dd7fb6aa1eddeb76bd7037f4af21f749dbe379a7a2eeecde", + "app/src/androidTest/res/xml/native_input_test_ime.xml": "4aafc899939ff4b8883a80c6e00f7ff7413a08a603d485a15f1035c07760b50c", + "app/src/main/AndroidManifest.xml": "65fefcf86296b7103c2237f1e29bca7890bf33f6b5056f860c2e39ede371a55b", + "app/src/main/assets/ANDROIDSVG-LICENSE": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30", + "app/src/main/assets/ANDROIDSVG-NOTICE": "2e61b715e3553494f46f43e5a88e8d26c56201e0558c8d5ab02946edb4f7dedf", + "app/src/main/assets/COMMONMARK-LICENSE": "11cfcf6da0142fb1971c1f40f5924ddded14454e2793d7f1dd87c9f4abe42dfd", + "app/src/main/assets/COPYING": "14609801e0e520dac851e75d993ca4c75c3842a3be468f6f7f04a16c03c824db", + "app/src/main/assets/GEMOJI-LICENSE": "7ea1d1fd0602e6623b9a65e791499a0ea5a2f5f60f91bfad78cbaeee19da26e6", + "app/src/main/assets/NOTICE.md": "c263e44ea9a845c4e4ec564eeca46ae0fc343f63ffd10685afbf74586647e0f6", + "app/src/main/assets/REACT-LICENSE": "da6d3703ed11cbe42bd212c725957c98da23cbff1998c05fa4b3d976d1a58e93", + "app/src/main/assets/RaycastRuntime.generated.js": "b306b45453cc8507037ff2822066475aae17def757a8ef72d4a4fc64c6494bb7", + "app/src/main/assets/android-runtime.js": "1b5dfa3f5b512f55322f27703bbebf15d1a8c4569c4c1712a6dd64541dd552aa", + "app/src/main/assets/emoji-catalog.tsv": "e49f1cc09c6f487a6e7b55590ecc171dcff390f720a9ce3820fe2038810d5d66", + "app/src/main/assets/extension-workflow-evidence-v1.json": "4e8adc22b7887996140190a999f1c7272556f2dd379d219c88e276e48aea0fa5", + "app/src/main/java/dev/tinycast/android/AndroidShortcuts.kt": "1738bc2fe26a117f3d00edddf2639cd49d118f9d91bd5f6eff86d6ee6804b68c", + "app/src/main/java/dev/tinycast/android/AssistantActivation.kt": "b5855f87a029362bd06a63136dea7a1572fff716d0c302056f2a3647d9d95560", + "app/src/main/java/dev/tinycast/android/Backup.kt": "97f09aa4c2cf7ef42473be8728be28cadd3f3ab14930a6804590c0544a7c104b", + "app/src/main/java/dev/tinycast/android/BackupUi.kt": "d13aabc798d7fb19746b09d28a38593792792b67e916824776413d2fbe82870f", + "app/src/main/java/dev/tinycast/android/CalculatorActions.kt": "e03e5645069dafb156556efac7bd465f632938f8a5a24a78be72dff0ee5d3947", + "app/src/main/java/dev/tinycast/android/CommandEngine.kt": "b6be72c82b19fb09e1bf44cd4dd4148b3dbb0c39098eb42f89e80f9ffa034f78", + "app/src/main/java/dev/tinycast/android/EmojiCatalog.kt": "4dd39955ec38adea02d0c1974ace2b33d86ae738efea0e59d3e62b9072c10b81", + "app/src/main/java/dev/tinycast/android/EmojiStore.kt": "f7f5dd63af030b9d179c70336f4b52789d23a318020b6f19ac0c24d20ba8cd8e", + "app/src/main/java/dev/tinycast/android/EmojiUi.kt": "d691472c9f391b71b067c7382ddf13afa6f1545d72293aab97d542dc0467b168", + "app/src/main/java/dev/tinycast/android/FolderGrantTransaction.kt": "11361d342e1e1598c85b5ea630f174c3a4590cbfaf9b430a30fbea2b9686a5c7", + "app/src/main/java/dev/tinycast/android/FolderIndex.kt": "6f1b1617a39c0c6e954a1b9b4da0d0d6af3ab7eeac25f2619e299621eec83a99", + "app/src/main/java/dev/tinycast/android/FolderSearch.kt": "4fcf90368ed70b49c192ab1b92b6e367d0a61643f928245f8447f542e745b60d", + "app/src/main/java/dev/tinycast/android/FolderSearchUi.kt": "dad0f473544f8e459aa301ad8eb91ec7380cebbe572e3e2be3f94443585a75c6", + "app/src/main/java/dev/tinycast/android/FolderStorageCoordinator.kt": "ff5491baf9d81ff19b04b35e33a503fc1656bfee9d8eb066453fdbe7e0f83bfb", + "app/src/main/java/dev/tinycast/android/MainActivity.kt": "2bc08e693d69ba4668a675c42dbcabb507755f8e3daf9ee01eaf62fd5744efe0", + "app/src/main/java/dev/tinycast/android/PaletteActionCapsule.kt": "f7228cdd6b6988fb049f0aaf1048d69cc8489e802b4cc42a2b4d6f9e7ceea3e0", + "app/src/main/java/dev/tinycast/android/PaletteColumn.kt": "cd6cdc348752bcc20bd631e2216abdd4ee0c91d9606aaab62ce0c01a145dd6aa", + "app/src/main/java/dev/tinycast/android/PaletteDialogs.kt": "99055192ab85f645a9d9c77d96064b06bba2f1435de503bc45be8f56b4de2dc5", + "app/src/main/java/dev/tinycast/android/PaletteFooter.kt": "5b62c907b46e5075975fc22d01771f5ab7c7f53e433692de55d92865231e967f", + "app/src/main/java/dev/tinycast/android/PaletteFrame.kt": "bfbc139e01a4276770644d5f4c1242016839fd98f5e2f21fa8afb31c886bc763", + "app/src/main/java/dev/tinycast/android/PaletteMenuOwnership.kt": "0be25f335246b8e47bf07ea057adf2045a20f9db5bee90a396109adfa7426174", + "app/src/main/java/dev/tinycast/android/PaletteMenus.kt": "43bc24a46a1ea0bac20f096a7d5d5256250c1c1069e0990bc958881830533dd3", + "app/src/main/java/dev/tinycast/android/PaletteScrollHistory.kt": "84e26b8544adc069c9f86e3273acd2254e2189f1680dec592570a261cdf87602", + "app/src/main/java/dev/tinycast/android/PaletteStore.kt": "7434fd21d100108a267e5790ecb705f4ca76c5dd0c86cc5b14bd9644ed58f57d", + "app/src/main/java/dev/tinycast/android/PaletteTheme.kt": "7afa29642b2bda9c9f669eaf6cdefcb977d14417d313547aff1ff807f4e37471", + "app/src/main/java/dev/tinycast/android/PaletteTileService.kt": "6f29825b3560944aae77935bc3abfb6a53e9577735dc622bf80e5ea1a1fbad00", + "app/src/main/java/dev/tinycast/android/PaletteUi.kt": "af59fe802198cf9c3602ef8ee6ba1d3fbd3c2df3f31d60bece8ce30d3b0e45b5", + "app/src/main/java/dev/tinycast/android/PaletteViewport.kt": "7008b8535ec3e754450ce446f34b6d8e50e9b2f5a9de64f436583144f8dd83dc", + "app/src/main/java/dev/tinycast/android/RecentDocumentQueries.kt": "b60f5f6ac3458eb3659dd41aef01bcd20be9d59f3841ff0fa77c3eb6ee82c92b", + "app/src/main/java/dev/tinycast/android/ReviewedTextFlow.kt": "7daf246a7b8a608fe61e06f078bf3167c17df8f784f8779977ba6e87914526ea", + "app/src/main/java/dev/tinycast/android/ReviewedTextInput.kt": "ca681bb2c4eb91188a1550650bf5fb5f83569bf8ac954ab22abc0ce05ed17e73", + "app/src/main/java/dev/tinycast/android/ReviewedTextUi.kt": "5ded41175e114968aa1994c93ade551b21121db15c4a4a7ea5ff87deaff00d86", + "app/src/main/java/dev/tinycast/android/SearchClearButton.kt": "0d4b0bc74a48d1c2d13a62fcaec60adfa51c8966199ea71465dd3ecf40510229", + "app/src/main/java/dev/tinycast/android/SettingsActivity.kt": "6c8a09cf51abdfc1f61c305b17e613f7b40f9960168aad2fafebdc31155a3601", + "app/src/main/java/dev/tinycast/android/SettingsUi.kt": "55886d17261a019fcddac77f25e655896217dadd081db6da23a2e519a6bad35b", + "app/src/main/java/dev/tinycast/android/ShortcutReadiness.kt": "83a422a837edc657f1f3faf94c155019eae73f1abcc8761379dcb2051ceed505", + "app/src/main/java/dev/tinycast/android/ShortcutUi.kt": "394fadd7890bbb2dd5f851bd5a290ebf19ad4e05fae64c321e529eeccd35c632", + "app/src/main/java/dev/tinycast/android/Shortcuts.kt": "14e08d112e3cc5689a5717f68dce1334d3c2bf92f4a7cfbc2057fdc96418a9b2", + "app/src/main/java/dev/tinycast/android/SystemSettings.kt": "c5c1535d12627b975f8f582437e53d02b4110f4bfb185d5c8d1e9307debc319a", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionCatalog.kt": "4427ae6610fcf75bc8f7ddeec9b869ab5b6698c9042280f9f0efff7ea3422e1e", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionCommandLaunch.kt": "2b253982bfcaa9c2b04178fcd38a04492e450352a459bdf375abc7948e6950c6", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImageInformation.kt": "8a5d61b8f7d594933c6797d12c60f1888b4f4f4ad7de35a306c206406733b5e0", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImagePolicy.kt": "f393349926cd371a67e3e59af0d0eb4db66d124e035259622c5558efb0035529", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImageTimeout.kt": "16e0fb6b411c4cf30fcbcafc7df536f72da84c1a208f0ea47ba1a0b612d762a8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImageUi.kt": "6da7920fd357a8106015a8a6da6d085fd2b8ae2bf26269c4aee670c84f7b0af0", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImages.kt": "a87f8cf7d311baefd09c62f8a09e282764561bc2fe27b61abe0aec14d8c273f4", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailUi.kt": "15be7bc728b4fa72841db59a6e72e9acece275a5a6315d4ba6b19af22fc06f21", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionEmptyView.kt": "4ab1b0093364ad790235b666fc70ec2642bb40692f3ce7fdb830e6bc514c61dd", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionEngineCompatibility.kt": "36a9b4b35d22bc364ecb1f46d2d9f029e3807315a2d35d2fd231b2a86e8b49c8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionEngineUi.kt": "6972248240f701edcc038ce70428dfd1a716e40894d616918469af3270aaa9cb", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormContract.kt": "6eba4aa3f33b19d4c452212b3bbb33c8ac0cbb8ae8e61963867e83094d6778ed", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormDateUi.kt": "e052fc6c27a78ac0df119c954f7ef43f720ce8ab72462bb712832b6dfdeae18f", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormDocuments.kt": "1071c99bd42ec6265991731022662729fd1ccc0269fee924b229f9ab8c2980fc", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormFileImport.kt": "c91ee69d460190918ee649a61a340429ac0478a59ab5e7ca824db8c17d1f5d00", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormFileUi.kt": "4241a498c65c255db94f833038a1f86a8cb06f27b4cecb3838cc20e953262b01", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormPickerBackdrop.kt": "dff8e4e37d38c1387bfd221f6c43c29272abfa144fff34ada0a0734a9c0f946d", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormSubmission.kt": "7f89b0ef7216cafb22c72a636b3b2998e5d71c9933bcd87d7c65a25b9a2bd9d8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormTagUi.kt": "509187d014c00ca027720e16d22934686d1c0491f10e5e151a27b574cde86a96", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormTypedValues.kt": "bd6b1c9b3e45101715916ee145ad41cfb1b74e206ae733f97d375c119f86af97", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormUi.kt": "bdb8f813a82e1e1860ebb08047b4a449a440ffe6d2a005d97c06debcbf4438c2", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionGridImages.kt": "777de62995b645310418d2f0da8adf87c450d8b7459d1c9abab0e9a02ce84258", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionGridModel.kt": "5b104c726a950f09a7cf890a14c0e4e654dfe8f5ea8b1b41468a0822f42a2f48", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionGridUi.kt": "c66cd6ee6d29cd2cc43d45ddbdc15f175ac5a5a39b332736b4cbddecdbf9e6bf", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionHttp.kt": "88ed57ca318c3e0c45e50f85e3157692d479bdae9636127869556cfb553abfe8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionLinks.kt": "cebfba7010fd2a20423527f8025413c21257ecd8e97ddc0dcb321b1c74db71f1", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionListUi.kt": "b02b632904d5d6be8f7b967cd10ccbc72d7e3d8fff3caf66c4fb444bce7de136", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionMarkdownModel.kt": "723a518700e335179c296e8b9b05ae9a899c8aaf93b8ca02b76476a46879d6ea", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionMarkdownUi.kt": "54d1b8dc6b09e55a7b0adf7d23903c9fb97551673a5695196e2e6f89259e304d", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionMetadataVisuals.kt": "882b7080d8f46cc9c9e2fd96fd1cc5cb0565cbb282bf3b04cad1c31b77a32290", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionPasteCopy.kt": "3ee4dfbb356c6ec02f50d8d525ca805c0d21468f49529b002e054ff9c03c71b8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionPayloadIdentity.kt": "66037b60818bc4941f58551e6c1401c18641a6da43f9f2477db9c9f7838e29f0", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionRuntime.kt": "8df6a1a357a7133ce451930cc174b7382d70db75906724358ae40db664f6402e", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionSelectionDelivery.kt": "f13388787b615343c214a861a619bdba88b6327dc939365a130e9e799169c397", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionSvgPolicy.kt": "1bed94b2ea8e6d2475526a0ed83d85724e32893fafc8b27bd8f2b58a95cd868a", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionUi.kt": "009e3b23953be18ae09c76a849dd6ce3943dff6b4f2d4b40d846385044851b3f", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionWorkflowEvidence.kt": "98f65f5dbe1578b11fbb20d80f477a63b03659f7b11b1a7a6f526a4d6fe94379", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionWorkflowInspection.kt": "650fdb495d2e1e0ab5331fe8c517baaaffcfe7d15e7f56b5b3f6247a650d01ed", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionWorkflowUi.kt": "93e9af8898ccce7fa1ab8169f08926b1d9fa95ba5657c517d7224f9356488c3d", + "app/src/main/java/dev/tinycast/android/extensions/NodeCpuInfo.kt": "eea176a7259e8f3736878886350610a84a23a6d2799f5337f5c8b07a8fefa398", + "app/src/main/java/dev/tinycast/android/extensions/WeakValueTokens.kt": "5c4d6f5c5b0d7170b554091e1b9cd9d551119ea60d7fe7f03946eb70f498c34d", + "app/src/main/java/dev/tinycast/android/updates/AppUpdates.kt": "63ace29d7dc29e005ffbbdde31cbac4e1d923732604b1e43e6a4db8a3285b508", + "app/src/main/java/dev/tinycast/android/updates/UpdatePolicy.kt": "350a9142ebfc663cd4a0c982ab220fb5f1e3399bfb3207c980ea20fd4c5c4e6e", + "app/src/main/java/dev/tinycast/android/updates/UpdateSource.kt": "aa860f14bd3a9f39e19899f1927fb7a790c54bb4f2704651253d8f867bb3c100", + "app/src/main/java/dev/tinycast/android/updates/UpdateUi.kt": "0bceb6a4221787a58dfb14ee1bcdcd266388720ca8862bd705cfeb10cfe52457", + "app/src/main/res/drawable/ic_launcher.xml": "104e38ffdf3214de23909b7896392f4a974e4fcbcc778c447d5d7a9ce56380af", + "app/src/main/res/drawable/ic_palette_tile.xml": "e063a6c4a1a25d6717a31bc355543d76c7d1babf8e9556e68b1b5e6a2b860748", + "app/src/main/res/values/styles.xml": "de4ad14f9ef41aaa4ffc824af155831579fa1194af5055edd112efee5042f5e1", + "app/src/main/res/xml/assistant_service.xml": "1e9e560563a7d0260fc83126d3a9bf027bf6357adfc811b43bc3224290c77ddf", + "app/src/main/res/xml/data_extraction_rules.xml": "cb4d1da1c1bd38761a9a08cc4d8d1b55839fcc14a6e19badb653f75b23c20eca", + "app/src/main/res/xml/keyboard_service.xml": "b1839c96988c03fea26ce4ed5932b1315013f3d2c16165993afc17368ab7bdd4", + "app/src/test/java/dev/tinycast/android/BackupPlannerTest.kt": "12a55d3644b5094b84cad2e88a5432738021fc8d7c59c232d4e5fc4c2c9a1454", + "app/src/test/java/dev/tinycast/android/CalculatorActionsTest.kt": "e803682a82b89c9703fcfbcbb82424eafef6bae6a13092953a3dc2c877816509", + "app/src/test/java/dev/tinycast/android/CommandEngineTest.kt": "65d9d198e8e1a188e4dcfd5551ced8f558f87a106f42b1d02a1432e8d6b7c234", + "app/src/test/java/dev/tinycast/android/CommonMarkPrimaryConformanceTest.kt": "ceb2ca14cc003385533bdd73b8beefffe92740887537b74c2146160621a23fcd", + "app/src/test/java/dev/tinycast/android/EmojiCatalogTest.kt": "9d70ef96696215e14e561d73f5a41f0b1a8272c3b58e5ad5a8438c31bc53aaa5", + "app/src/test/java/dev/tinycast/android/ExtensionCommandLaunchTest.kt": "f45df47e1740873ed7e771de72a650d9df88cd31bbcf2fd3abf67e3999700291", + "app/src/test/java/dev/tinycast/android/ExtensionDetailImagePolicyTest.kt": "7ec37a8870b70e3df0e3110f8b60ccc94185fedeaf1c39c76a00485dd4ca37d5", + "app/src/test/java/dev/tinycast/android/ExtensionDetailImageTimeoutTest.kt": "839216fc2d395cbd171676f32bfe77b894730a29a12127ec916c1d88b18dfb3d", + "app/src/test/java/dev/tinycast/android/ExtensionEngineCompatibilityTest.kt": "af9e76d4f6e7a6f193603f2db0169c95c7aadaca842d430c6178874f62840b1f", + "app/src/test/java/dev/tinycast/android/ExtensionFormContractTest.kt": "432d658e2a177312105e2ec86db2c59d0625086e86464a7ff946acb61c07e283", + "app/src/test/java/dev/tinycast/android/ExtensionFormFileImportTest.kt": "784f5b78f1dfd0d23ca653b36fc59bd13cba42e68c708c499678ac1ce474b673", + "app/src/test/java/dev/tinycast/android/ExtensionFormSubmissionTest.kt": "4bbdd8068cd95c314f7cf7aa156c7928cd815c5da11ef5f2cab1b4c5d23dd7d5", + "app/src/test/java/dev/tinycast/android/ExtensionFormTypedValuesTest.kt": "3a485a387e1527163d4318c3f0863b743bff02fe4e485adfff490d95cd554395", + "app/src/test/java/dev/tinycast/android/ExtensionFormValuesTest.kt": "6bc5bc8caaa5763e12dc3136bbba1d99249db10387c163cb1efeb0ae03f09d2a", + "app/src/test/java/dev/tinycast/android/ExtensionGridContractTest.kt": "50681a34c624a01867f287c66523d653e1931cf759f5e2926dda60feb85fa2b3", + "app/src/test/java/dev/tinycast/android/ExtensionGridNavigationTest.kt": "94ffe218ed5f9411210c2599db2a10dcd20c1a94655ef53e8cac1c574318b68f", + "app/src/test/java/dev/tinycast/android/ExtensionHttpTest.kt": "76917bbbdcc33dcc90d9b152d5a3e478fd981139e1df1d9edc0916e4f81b8e76", + "app/src/test/java/dev/tinycast/android/ExtensionMarkdownModelTest.kt": "fbeee6a80280ec27b660cc53222ef42f0e9ff5f5ce7ec5e02dede9d6b1c9222b", + "app/src/test/java/dev/tinycast/android/ExtensionMetadataVisualsTest.kt": "6f8653f4ed71138ac4fb0353e427d5b6775f54ec3600177ec6eae49dbc81598e", + "app/src/test/java/dev/tinycast/android/ExtensionPasteCopyTest.kt": "582ebddff12c96a504dd12a502ca851fc5d037e92f1d3ce98240eb162002b3bc", + "app/src/test/java/dev/tinycast/android/ExtensionPayloadIdentityTest.kt": "f59183b3224aab2923d9eb1ae598d1fa5cd2598b9ba80fc9a0db135005ae4e04", + "app/src/test/java/dev/tinycast/android/ExtensionSelectionDeliveryTest.kt": "1ea1e17cf0ea43fa3418a61f71587dbee9ec341b288d17fdaba3c5d3d8da4cb7", + "app/src/test/java/dev/tinycast/android/ExtensionWorkflowEvidenceTest.kt": "cf1589d69a498166b5a5fddd45135cf5b8575ec1d42f13ed4e2927b062b966fd", + "app/src/test/java/dev/tinycast/android/ExtensionWorkflowInspectionTest.kt": "043617c0cb943d76ebcdb5d0cc5bcdcda300069827b9b87a7425a16d084c1255", + "app/src/test/java/dev/tinycast/android/FolderGrantTransactionTest.kt": "ef710edc4ed1eb45782f90c385bc73305217f26882b630cd3e79ee93c59ef118", + "app/src/test/java/dev/tinycast/android/FolderIndexTest.kt": "bd371b19d1678ea876889cfb25505d690a4296c37d042e4cabd38bc7c7e4eff4", + "app/src/test/java/dev/tinycast/android/ModifierTapTest.kt": "bc0f6191ef2837018ca33a71010c1582cd39d0b3713c55acec4f91406a74d4fd", + "app/src/test/java/dev/tinycast/android/PaletteMenuOwnershipTest.kt": "c3134a62d61b5cd7ed810b867a6b40219713f21b798fabf6e659129cfab55506", + "app/src/test/java/dev/tinycast/android/PaletteScrollHistoryTest.kt": "b1610e3c3818e5823f99ded35bc36325042da250cfd48d98c0d6381066cfad5f", + "app/src/test/java/dev/tinycast/android/ReviewedTextInputTest.kt": "4bff225dd9fc1963736ad1f992e3eda3ffff21554c3ebef63d25acfdb41a29f3", + "app/src/test/java/dev/tinycast/android/ShortcutReadinessTest.kt": "45d32b02d4f89f857867d2585f3f5968251e9580edd34d9312bbfc158adc12e1", + "app/src/test/java/dev/tinycast/android/ShortcutTest.kt": "ae8034901d8ca73d704d40992b85ed43a64a021a078ff4eb5b2b853c4f398610", + "app/src/test/java/dev/tinycast/android/SystemSettingsTest.kt": "cdfc38bed12779bb92b0ddaeb79d197733243b24da43ab89d8580ecfd1f1fb51", + "app/src/test/java/dev/tinycast/android/TinycastGridParityTest.kt": "df6ca13f0f0a1e4bfa1f0085e274ed87457a6aa1a69492afa1041128af99c5e3", + "app/src/test/java/dev/tinycast/android/UpdatePolicyTest.kt": "d87ee4f7d6aa7b39b998267bd4d042d0b494ec6a1280d18860f262355c25cbe3", + "app/src/test/java/dev/tinycast/android/WeakValueTokensTest.kt": "ced7bf72628d5dc18fc5fdd30a81e58bb4b4b7f40e4e8c7eb0e77500f7c73566", + "app/src/test/java/dev/tinycast/android/extensions/NodeCpuInfoTest.kt": "5f3a7aae9b24435a4dbca77f9132a4b203ea736b1c76fc9108a51251983c2797", + "app/src/test/js/android-fetch.test.cjs": "2842effb321a11a33816f176f3300cd27a61c1e2ac70c4ed32681d46a129e56e", + "app/src/test/js/android-form-focus.test.cjs": "dd065271386dfdb2552caef1ae6e0c6f30e32783571abd85be328b9864bff8b6", + "app/src/test/js/android-form-submit.test.cjs": "7cbbb553dc2e657951b9195593b11add03597adad2710b4daa3e2cb807f87334", + "app/src/test/resources/commonmark-0.31.2.NOTICE": "610241b963a1a958c9465d99ec3f5778e7c6ef7251f9e119fed4c306b51641de", + "app/src/test/resources/commonmark-0.31.2.tsv": "dc27be954caac0ed8961299ca581a62aa4c68312091e68e52ab1e2bfe6aa5f5f", + "app/src/test/resources/extension-payload-identities-v1.json": "e451cf6b8efa208708db43dcb3a0545db1e73c610b72f488203fb4f147a490ab", + "app/src/test/resources/tinycast-grid-navigation.tsv": "da620f314fc39300beb7a11436715809ac1a9fd230fa4640c7f4f9c34b69aaf7", + "build.gradle.kts": "780d597cbe0f80d0103221a566db7574d1e07b17adca5bdbe7d6c728d77df12a", + "gradle.properties": "e43a00491832254a35cf5a979ef6de17f78c4e159d446be39319d2e3d3e46325", + "gradle/wrapper/gradle-wrapper.jar": "55243ef57851f12b070ad14f7f5bb8302daceeebc5bce5ece5fa6edb23e1145c", + "gradle/wrapper/gradle-wrapper.properties": "13287ffad6cf3064056ddad80d95b855132348930b2dc6c91490588c55b3ac7d", + "gradlew": "aed171fb114f82e6eaea4970a245a200e0582a7dcc8ec0891ca41b6e4a62b754", + "scripts/android_test_cleanup.py": "1f4a1d70d251ec0a8294932388ce881da144c9c7d1c05df54df2c5b246d46373", + "scripts/test-webview-engine.py": "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4", + "scripts/tests/test_webview_engine_runner.py": "846ee3b34578f92bd3f728eac4044c5ef4481478e3ec9d744e848e0094119168", + "settings.gradle.kts": "6a8db88135b364d8bd2facb607fc4e9e9476c171d2b7f7f3a0892c57a9ee6487" + }, + "apk_sha256": { + "app-debug.apk": "e143a921f4adb69551ad327ee252ffb7008b207ae1b814542f980dd8c17a7a34", + "app-debug-androidTest.apk": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6" + }, + "zip_payload_sha256": { + "app-debug.apk": { + "META-INF/com/android/build/gradle/app-metadata.properties": "75bc66260aeed5c7da9ef86b1ee98fe13298d9dd0bc438ee5a963d5eb224f68d", + "classes.dex": "02040ff106a54d6dd8ed10f6192541cb671f62f166bf413798e0fca382d390b4", + "classes2.dex": "21fe524b9ec548ac16c1cd9813dee74787a7fee1b5bd0a7719f0a9807c43a39b", + "classes5.dex": "2b4eaca1be7a4156ef80f400b13d93c8a8f82de2b4f61ffbd2ea2080bfa20788", + "classes6.dex": "4cb87f7ace7c665d16755b3466eca73c87cc7167104d4b901b704bb2a4c9d30b", + "classes7.dex": "04459089f64d575513ce6b9ed9fdcc3cb12fb2817ed84a2b73e8b0d3f0392f68", + "lib/arm64-v8a/libandroidx.graphics.path.so": "41e9a793c43a0f4fddb19e33f346bace464f30f888ba7b9eaf96294ea115bfb6", + "lib/armeabi-v7a/libandroidx.graphics.path.so": "41399eba6fc2a60f6f14642375c1824f3cf25eb8fec7397d753730a3ceda3e2b", + "lib/x86/libandroidx.graphics.path.so": "eb0570b41fd3bff25d8204a967c03bd7550719e768b791f680cc40cbe35f29af", + "lib/x86_64/libandroidx.graphics.path.so": "4e56c996f13670e70082658de7880c4020eabf4f25e43387f88ed78a713fc9f0", + "assets/ANDROIDSVG-LICENSE": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30", + "assets/ANDROIDSVG-NOTICE": "2e61b715e3553494f46f43e5a88e8d26c56201e0558c8d5ab02946edb4f7dedf", + "assets/COMMONMARK-LICENSE": "11cfcf6da0142fb1971c1f40f5924ddded14454e2793d7f1dd87c9f4abe42dfd", + "assets/COPYING": "14609801e0e520dac851e75d993ca4c75c3842a3be468f6f7f04a16c03c824db", + "assets/GEMOJI-LICENSE": "7ea1d1fd0602e6623b9a65e791499a0ea5a2f5f60f91bfad78cbaeee19da26e6", + "assets/NOTICE.md": "c263e44ea9a845c4e4ec564eeca46ae0fc343f63ffd10685afbf74586647e0f6", + "assets/REACT-LICENSE": "da6d3703ed11cbe42bd212c725957c98da23cbff1998c05fa4b3d976d1a58e93", + "assets/RaycastRuntime.generated.js": "b306b45453cc8507037ff2822066475aae17def757a8ef72d4a4fc64c6494bb7", + "assets/android-runtime.js": "1b5dfa3f5b512f55322f27703bbebf15d1a8c4569c4c1712a6dd64541dd552aa", + "assets/emoji-catalog.tsv": "e49f1cc09c6f487a6e7b55590ecc171dcff390f720a9ce3820fe2038810d5d66", + "assets/extension-workflow-evidence-v1.json": "4e8adc22b7887996140190a999f1c7272556f2dd379d219c88e276e48aea0fa5", + "res/color/vector_tint_color.xml": "4bbb4ef3e0e3db260a05d794047a1765e420d699ee5673e90b57ff682a2fe34e", + "res/color/vector_tint_theme_color.xml": "cf34dc5bdb4a6d1568143e115ac4e34448383ac772862ef0fdbb7fe8936c6dd3", + "res/drawable-anydpi-v21/ic_call_answer.xml": "5f6376dfe199d8a6e40033d3e623989d052c9b2f974d00c824fbb8b76fc6fde8", + "res/drawable-anydpi-v21/ic_call_answer_low.xml": "8f9acacabaf2dfb4bb53dab7ce7bec9c1451ce0a0219ffaa41760ea82da3d2d6", + "res/drawable-anydpi-v21/ic_call_answer_video.xml": "5d4cdaae5838ad9442c085f951b766b2808bff13b8c85a14e0bcf8571514492c", + "res/drawable-anydpi-v21/ic_call_answer_video_low.xml": "4a959580080ebb1d822a2459a4234d2abf0dd0b65d9c28bda8c258dafc888c51", + "res/drawable-anydpi-v21/ic_call_decline.xml": "2d825b79cce60203492ff09a04826db0ac8d9eb9bc0fb9fb139ae1aa5cde0f67", + "res/drawable-anydpi-v21/ic_call_decline_low.xml": "c8321364802409baf4d76e2a84e303871585bdc95b0395040c5ecea0e2051105", + "res/drawable-hdpi-v4/ic_call_answer.png": "5c80d88a7b82ef5833255bf70ff1c26c3efb2a92ae90cac222f3200f59e0b1ea", + "res/drawable-hdpi-v4/ic_call_answer_low.png": "5c80d88a7b82ef5833255bf70ff1c26c3efb2a92ae90cac222f3200f59e0b1ea", + "res/drawable-hdpi-v4/ic_call_answer_video.png": "6adcfc9dd1e1b82b985d223fc8a01c8e8f0dd3b9051d38062674b2380af79a50", + "res/drawable-hdpi-v4/ic_call_answer_video_low.png": "6adcfc9dd1e1b82b985d223fc8a01c8e8f0dd3b9051d38062674b2380af79a50", + "res/drawable-hdpi-v4/ic_call_decline.png": "12ec9f9ad5fa3d7d897114af6c2297b66f31cb056e43daffbe80d23f6f66396d", + "res/drawable-hdpi-v4/ic_call_decline_low.png": "12ec9f9ad5fa3d7d897114af6c2297b66f31cb056e43daffbe80d23f6f66396d", + "res/drawable-hdpi-v4/notification_bg_low_normal.9.png": "21f0b55280be10b187ceff8edef4a5a7047683e6e9fcf47de410aa3839f41094", + "res/drawable-hdpi-v4/notification_bg_low_pressed.9.png": "42aee0b03883e94df5e543348a397d1302c1b8221895871a83b81899f5a9647b", + "res/drawable-hdpi-v4/notification_bg_normal.9.png": "0c6328c7b2420570a7ec38b3beb3bac9a29d895ac1ab7239315aba7266418593", + "res/drawable-hdpi-v4/notification_bg_normal_pressed.9.png": "18b328d8017e677d5aad3dbd66bae356b5cac978c6f0670938ea648e51d0eb66", + "res/drawable-hdpi-v4/notification_oversize_large_icon_bg.png": "aa00088d0d9fd97bd92ed9ffd29b54bb69a48a984aa73448ce553fb9d812be41", + "res/drawable-hdpi-v4/notify_panel_notification_icon_bg.png": "8430ec003e003f3f2ba2f78d48fd150e25407667e530e82e87a7d4841c0fd676", + "res/drawable-ldpi-v4/ic_call_answer.png": "6d34a8bb29be26e343781603588506f33bd1b93732a1c1bc9fd84678aa36b178", + "res/drawable-ldpi-v4/ic_call_answer_low.png": "6d34a8bb29be26e343781603588506f33bd1b93732a1c1bc9fd84678aa36b178", + "res/drawable-ldpi-v4/ic_call_answer_video.png": "66356f564f051a568e25071f60da312c418309f9129773aceb2246773458681c", + "res/drawable-ldpi-v4/ic_call_answer_video_low.png": "66356f564f051a568e25071f60da312c418309f9129773aceb2246773458681c", + "res/drawable-ldpi-v4/ic_call_decline.png": "a18cdaaf3742b1a3d4f484fa15d00fa34afb21495884301aafa3213338661ed6", + "res/drawable-ldpi-v4/ic_call_decline_low.png": "a18cdaaf3742b1a3d4f484fa15d00fa34afb21495884301aafa3213338661ed6", + "res/drawable-mdpi-v4/ic_call_answer.png": "f2ff62f473d8a5e00a8b6c81c15be9a0536471c3d5a81e37d04bc3356ea81ca0", + "res/drawable-mdpi-v4/ic_call_answer_low.png": "f2ff62f473d8a5e00a8b6c81c15be9a0536471c3d5a81e37d04bc3356ea81ca0", + "res/drawable-mdpi-v4/ic_call_answer_video.png": "6306048ba5f7eca43e7bdadeefa9412180508486fd543e02de93d2a013e223f0", + "res/drawable-mdpi-v4/ic_call_answer_video_low.png": "6306048ba5f7eca43e7bdadeefa9412180508486fd543e02de93d2a013e223f0", + "res/drawable-mdpi-v4/ic_call_decline.png": "7e87b3e0229126dc3c2bdaddcd8f330f3bb5f7613a05024c3cd6445dd161f788", + "res/drawable-mdpi-v4/ic_call_decline_low.png": "7e87b3e0229126dc3c2bdaddcd8f330f3bb5f7613a05024c3cd6445dd161f788", + "res/drawable-mdpi-v4/notification_bg_low_normal.9.png": "2f7fbda0ba6e53e9a47e2fc0e24e32c447c613a5808c2d6285dc651e83a07ad7", + "res/drawable-mdpi-v4/notification_bg_low_pressed.9.png": "e17761ed280edd93d7141bd504b70f9e9e15a8652288d9e6333bf4ce964ef844", + "res/drawable-mdpi-v4/notification_bg_normal.9.png": "a8676a1793ac8310ffb12986232df66df092d29c242aeedc2b73556c010d38dc", + "res/drawable-mdpi-v4/notification_bg_normal_pressed.9.png": "99c14d6855b8be296d58017d3751b8dc849c47b6d1d80ab614ff9075080e461b", + "res/drawable-mdpi-v4/notify_panel_notification_icon_bg.png": "0d773e62c756422313262846c787e58f67e0ee87e45e1ae9942002e816c4cb9e", + "res/drawable-v21/notification_action_background.xml": "2f768c089cefa18cf7f1fde7f602410bf38998de5f9073a15ea83106c25e3c30", + "res/drawable-xhdpi-v4/ic_call_answer.png": "e64c2e57627e24ec1ed37e67344c2bf31d1d6bdd2d8d715840c1edf0bd1425b6", + "res/drawable-xhdpi-v4/ic_call_answer_low.png": "e64c2e57627e24ec1ed37e67344c2bf31d1d6bdd2d8d715840c1edf0bd1425b6", + "res/drawable-xhdpi-v4/ic_call_answer_video.png": "5d02a81102644428ca639aec3df626eeb4a839a9ddc76fc2b158b04461d7f00f", + "res/drawable-xhdpi-v4/ic_call_answer_video_low.png": "5d02a81102644428ca639aec3df626eeb4a839a9ddc76fc2b158b04461d7f00f", + "res/drawable-xhdpi-v4/ic_call_decline.png": "9a9a30c305022a2f8e075d2ed7d33f5c7711bba8d0d0385511fdb62f89f208e3", + "res/drawable-xhdpi-v4/ic_call_decline_low.png": "9a9a30c305022a2f8e075d2ed7d33f5c7711bba8d0d0385511fdb62f89f208e3", + "res/drawable-xhdpi-v4/notification_bg_low_normal.9.png": "3e09afa21c45372c035598c017c8fb405a6d678e6cb84dc857581cb3b40e482d", + "res/drawable-xhdpi-v4/notification_bg_low_pressed.9.png": "20343222f9f79dd565c3a2248494d452e70820ac1c437173c38badd45f962afd", + "res/drawable-xhdpi-v4/notification_bg_normal.9.png": "559bf783d765c02338e97952bdc9c6689c7ff99090b8c9813369118da8b080f0", + "res/drawable-xhdpi-v4/notification_bg_normal_pressed.9.png": "d27af435101ca4cbec0c840bd30687918cd39eb83aab1487420855623a45998b", + "res/drawable-xhdpi-v4/notify_panel_notification_icon_bg.png": "b44eeda34d7a529c2fe55719eb098fa29707caa91d18de06a7a775d6e6bcf973", + "res/drawable-xxhdpi-v4/ic_call_answer.png": "86763a30af2a934c7c13b123b36443d1d17918b71c6149bc6ee80115b872593d", + "res/drawable-xxhdpi-v4/ic_call_answer_low.png": "86763a30af2a934c7c13b123b36443d1d17918b71c6149bc6ee80115b872593d", + "res/drawable-xxhdpi-v4/ic_call_answer_video.png": "ca48f604262f2b4ef8b100c73130efe2ad33ef8c2a2c1b3516f24f51b7b04665", + "res/drawable-xxhdpi-v4/ic_call_answer_video_low.png": "ca48f604262f2b4ef8b100c73130efe2ad33ef8c2a2c1b3516f24f51b7b04665", + "res/drawable-xxhdpi-v4/ic_call_decline.png": "87adad32e0ec19c4e920420bf3a06c9f94f6128ed0d866a1891628aeab2cef06", + "res/drawable-xxhdpi-v4/ic_call_decline_low.png": "87adad32e0ec19c4e920420bf3a06c9f94f6128ed0d866a1891628aeab2cef06", + "res/drawable-xxxhdpi-v4/ic_call_answer.png": "ec698a3217bce74d8bc4a44bb008f2dbd3d1aebff1af1e9641805143dbf9fa87", + "res/drawable-xxxhdpi-v4/ic_call_answer_low.png": "ec698a3217bce74d8bc4a44bb008f2dbd3d1aebff1af1e9641805143dbf9fa87", + "res/drawable-xxxhdpi-v4/ic_call_answer_video.png": "4c717ce1ffb551c765981add65d1956132d8f522337de2866b045f0a60485426", + "res/drawable-xxxhdpi-v4/ic_call_answer_video_low.png": "4c717ce1ffb551c765981add65d1956132d8f522337de2866b045f0a60485426", + "res/drawable-xxxhdpi-v4/ic_call_decline.png": "ab73b729bb95878120a3bdc8dc915f3aaa1d7070fc644a0de64d40941ad507ed", + "res/drawable-xxxhdpi-v4/ic_call_decline_low.png": "ab73b729bb95878120a3bdc8dc915f3aaa1d7070fc644a0de64d40941ad507ed", + "res/drawable/ic_launcher.xml": "65a462fe84c64e76de6f6999e09b195ca227a5232453356a4743a17dae08882f", + "res/drawable/ic_palette_tile.xml": "099260576b37718ecf049e1405bcb60d989584dda8710e0905dd00d97edb3440", + "res/drawable/notification_bg.xml": "65ef0869565cde9539d285ee8b5e0156e4ba3bfc7fde288b3d78a96ead8bed62", + "res/drawable/notification_bg_low.xml": "a349184bd1ffb192438415fa98cb2ea5b9294a656d6f276f365b9b2753552777", + "res/drawable/notification_icon_background.xml": "b143ee7fcbba209f17607a720502d755f085ec75380ad6fbd6f99de6583f0a40", + "res/drawable/notification_tile_bg.xml": "42fb6470d6c3d395ab726d928ca23ba8573011a646b7475a89c9b17ec8c0f9bb", + "res/layout-v21/notification_action.xml": "e07d16d0717fb7a1f030dd43f76be647125f9abd78ebcee3bbd861b8df02fe90", + "res/layout-v21/notification_action_tombstone.xml": "c2f8eb9372d806f5f6532e507f4e5767091f681f7d2e9b7f5a64d134e6ed7717", + "res/layout-v21/notification_template_custom_big.xml": "2bcb3cb25a65b175c9880f60411239a019c2ded7cbaf3701d3650ebd1fd971ea", + "res/layout-v21/notification_template_icon_group.xml": "97d5723ad66c683d88d57918e197cb33d2dc1628aa77299e42e132622c2c948e", + "res/layout/custom_dialog.xml": "edd4e27b3f2407a02248205a2eb50288170e4201249bfeac074749ea60390103", + "res/layout/ime_base_split_test_activity.xml": "37ff040591f96786bfaf9d3d937fedf2f2f97e218c06beb3e7fe8a2442a181a8", + "res/layout/ime_secondary_split_test_activity.xml": "0034556846afe7278a6d1264855405a0c3ae65a81a6a05f9ba4dc0136a589685", + "res/layout/notification_template_part_chronometer.xml": "8bd30447bb9347f4c3dd38ff034f141000c7a952ac25760fc8a0c67f76b5bdb7", + "res/layout/notification_template_part_time.xml": "a8664275b4a0fad8ac25724d8d577fb5cd98c4e99a24fc362dbb56fb960aee84", + "res/xml/assistant_service.xml": "461b22a285e6d4cc97c23a8aa9f13802c16f20eff91d1ce1ca4739a527b6c99d", + "res/xml/data_extraction_rules.xml": "1d2dc5515fa0bfac79b6a028056f23ef2e9fd0c9091c9b13c15b52b78a751ab0", + "res/xml/keyboard_service.xml": "688f6294b5c093499f1253d5eb72c5fef80324d0c7e3bdcdff193c8ad9e851e6", + "resources.arsc": "5f13aba27cdb9bef26e38933801042374f3cba444e3fa3c145c99166eace2fb2", + "DebugProbesKt.bin": "ae8a082dd609313835ba93c3ef479a3af9903977d7bdc81df45bbd209ec7d0da", + "META-INF/LICENSE.txt": "523bfd872d038632d258f340a482d067a10e8d82b8e8ff3081755c5f8ccc1658", + "META-INF/androidx.activity_activity-compose.version": "118705d21506adb8d7c06a51156bb59497679f644fb4ae3d14bbbfc366643124", + "META-INF/androidx.activity_activity-ktx.version": "118705d21506adb8d7c06a51156bb59497679f644fb4ae3d14bbbfc366643124", + "META-INF/androidx.activity_activity.version": "118705d21506adb8d7c06a51156bb59497679f644fb4ae3d14bbbfc366643124", + "META-INF/androidx.annotation_annotation-experimental.version": "7d072b48526b023950e4c48db01e8c273554a6401119f5691e7589ba9bc65d9d", + "META-INF/androidx.arch.core_core-runtime.version": "1b7c606370188534dac5561fba2b2988093829697fce9e6e8832e9291d24ed00", + "META-INF/androidx.autofill_autofill.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03", + "META-INF/androidx.compose.animation_animation-core.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.animation_animation.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.foundation_foundation-layout.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.foundation_foundation.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.material3_material3.version": "10e2e117b01523891ca271a615ae36e9d5e52348fd7d642f66727602c1b8dcbe", + "META-INF/androidx.compose.material_material-icons-core.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.material_material-ripple.version": "bb7320d831e7a151aa901c35e7326c752fa2ef5024f30768c42319b8bed171ed", + "META-INF/androidx.compose.material_material.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03", + "META-INF/androidx.compose.runtime_runtime-saveable.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.runtime_runtime.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-geometry.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-graphics.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-test-manifest.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-text.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-tooling-data.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-tooling-preview.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-tooling.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-unit.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-util.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.core_core-ktx.version": "ca0bc79c4cde0ad64e1ec9df2882425197b5ba85704a4ac6bd67f8f99936eb25", + "META-INF/androidx.core_core-viewtree.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03", + "META-INF/androidx.core_core.version": "ca0bc79c4cde0ad64e1ec9df2882425197b5ba85704a4ac6bd67f8f99936eb25", + "META-INF/androidx.customview_customview-poolingcontainer.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03", + "META-INF/androidx.emoji2_emoji2.version": "64d23f858ef51b0f996e4966d4e27c0371b437e2d2787890b1f7ad22d4ec5663", + "META-INF/androidx.graphics_graphics-path.version": "44e161e4495cac2cf7858043e9e6418e9579f0ddcfae826f9a372622968ce066", + "META-INF/androidx.interpolator_interpolator.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03", + "META-INF/androidx.lifecycle_lifecycle-livedata-core.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-process.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-runtime-compose.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-runtime-ktx.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-runtime.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-viewmodel-compose.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-viewmodel-ktx.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-viewmodel-savedstate.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-viewmodel.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.profileinstaller_profileinstaller.version": "78b591400c56b7b67b8cb3b2b8a8e65e9093897f02ce0878e6b5405c68620fa7", + "META-INF/androidx.savedstate_savedstate-ktx.version": "6cf4e084b47f33c9b02ef79279d157833868f8f70514169a768be353ee328fea", + "META-INF/androidx.savedstate_savedstate.version": "6cf4e084b47f33c9b02ef79279d157833868f8f70514169a768be353ee328fea", + "META-INF/androidx.startup_startup-runtime.version": "cc52f678848b814373757b460383bf61960e4943c203735adde0a350b3e50989", + "META-INF/androidx.tracing_tracing.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03", + "META-INF/androidx.versionedparcelable_versionedparcelable.version": "cc52f678848b814373757b460383bf61960e4943c203735adde0a350b3e50989", + "META-INF/kotlinx_coroutines_android.version": "179f9b723b6508aa1d6ce99991e8cd549ca819ee1b9b6102396c47815beffaaf", + "META-INF/kotlinx_coroutines_core.version": "179f9b723b6508aa1d6ce99991e8cd549ca819ee1b9b6102396c47815beffaaf", + "META-INF/services/kotlinx.coroutines.CoroutineExceptionHandler": "3129b8edf6db07de6f8ff47695e2177c8bba4eed2962d3085c719e5acbb58a33", + "META-INF/services/kotlinx.coroutines.internal.MainDispatcherFactory": "a1ea77ea8f93f419256b6e66f29713f950d8d6e90442b608d880a48003b5eb72", + "kotlin/annotation/annotation.kotlin_builtins": "5f75d4352e432664b2a235c472b991cf88365c73f5fcb5e1f9cc2cbe4b410abe", + "kotlin/collections/collections.kotlin_builtins": "0e654e03a38e119de0f4d11633711bd57e1e8b1a876eda74a90100a2a6e7daa4", + "kotlin/concurrent/atomics/atomics.kotlin_builtins": "955035527393d165a22da4cb9d992f42b4a30b6f070918f3e2b1f2678f83cc9d", + "kotlin/coroutines/coroutines.kotlin_builtins": "98ab3a3c18fcb237528dd63fa489815c583e1d6c13debd2a27ac6d74ccf8717b", + "kotlin/internal/internal.kotlin_builtins": "64712f94840e6b3f8123f522f32d08c46f083d87c312a74901f7c00224de775e", + "kotlin/kotlin.kotlin_builtins": "c4240215bc20e71b01cc62b43edebd02749b3249d7daa8e7f1dc1514f064c274", + "kotlin/ranges/ranges.kotlin_builtins": "f9d35b836ccb5380803aab5e6c76d708b1536fc6c82f27185e8cff5913824e1c", + "kotlin/reflect/reflect.kotlin_builtins": "23ecbc7cbb354f31ba37a1be1793d3bb53c00c92cdcf3867759d09d938a1d7c3", + "org/commonmark/internal/util/entities.txt": "fea6cf4d3bd2aa7ffd421116551654e2a22e40a17e4cd087c8725138113bad69", + "classes3.dex": "b044333790aafbd6d6f64f153f55162b7b4e4a5d1879614f34a61a735c7ce7bc", + "classes4.dex": "c4dd4c2cba62e5b6bb390e448d03eb7add876ac3545fc0ffb173c6ee8898287b", + "AndroidManifest.xml": "2fb0968ec1da4373203cf317199cdcc7deb289dee1af0b50bfd5a7e92114bbb1" + }, + "app-debug-androidTest.apk": { + "classes.dex": "35f32eb3c6a38b451d1d47b53e49faa8fdca4db12df6e8e6385f44f1f5c1d403", + "classes2.dex": "468450c6993a81875894c0a142093a2e6dad1778f192763895e927a2f07c1d71", + "classes5.dex": "4cb87f7ace7c665d16755b3466eca73c87cc7167104d4b901b704bb2a4c9d30b", + "assets/owned-detail-fixture.js": "873d3f25f95271029e31779b0920b5955a2908a820a07652b58efa21a2358cfd", + "AndroidManifest.xml": "caff3c10989799f80e8bea4722a1e2e143b75cef522c7aff7211e7c79704f416", + "res/color/vector_tint_color.xml": "4bbb4ef3e0e3db260a05d794047a1765e420d699ee5673e90b57ff682a2fe34e", + "res/color/vector_tint_theme_color.xml": "cf34dc5bdb4a6d1568143e115ac4e34448383ac772862ef0fdbb7fe8936c6dd3", + "res/drawable-anydpi-v21/ic_call_answer.xml": "5f6376dfe199d8a6e40033d3e623989d052c9b2f974d00c824fbb8b76fc6fde8", + "res/drawable-anydpi-v21/ic_call_answer_low.xml": "8f9acacabaf2dfb4bb53dab7ce7bec9c1451ce0a0219ffaa41760ea82da3d2d6", + "res/drawable-anydpi-v21/ic_call_answer_video.xml": "5d4cdaae5838ad9442c085f951b766b2808bff13b8c85a14e0bcf8571514492c", + "res/drawable-anydpi-v21/ic_call_answer_video_low.xml": "4a959580080ebb1d822a2459a4234d2abf0dd0b65d9c28bda8c258dafc888c51", + "res/drawable-anydpi-v21/ic_call_decline.xml": "2d825b79cce60203492ff09a04826db0ac8d9eb9bc0fb9fb139ae1aa5cde0f67", + "res/drawable-anydpi-v21/ic_call_decline_low.xml": "c8321364802409baf4d76e2a84e303871585bdc95b0395040c5ecea0e2051105", + "res/drawable-hdpi-v4/ic_call_answer.png": "5c80d88a7b82ef5833255bf70ff1c26c3efb2a92ae90cac222f3200f59e0b1ea", + "res/drawable-hdpi-v4/ic_call_answer_low.png": "5c80d88a7b82ef5833255bf70ff1c26c3efb2a92ae90cac222f3200f59e0b1ea", + "res/drawable-hdpi-v4/ic_call_answer_video.png": "6adcfc9dd1e1b82b985d223fc8a01c8e8f0dd3b9051d38062674b2380af79a50", + "res/drawable-hdpi-v4/ic_call_answer_video_low.png": "6adcfc9dd1e1b82b985d223fc8a01c8e8f0dd3b9051d38062674b2380af79a50", + "res/drawable-hdpi-v4/ic_call_decline.png": "12ec9f9ad5fa3d7d897114af6c2297b66f31cb056e43daffbe80d23f6f66396d", + "res/drawable-hdpi-v4/ic_call_decline_low.png": "12ec9f9ad5fa3d7d897114af6c2297b66f31cb056e43daffbe80d23f6f66396d", + "res/drawable-hdpi-v4/notification_bg_low_normal.9.png": "21f0b55280be10b187ceff8edef4a5a7047683e6e9fcf47de410aa3839f41094", + "res/drawable-hdpi-v4/notification_bg_low_pressed.9.png": "42aee0b03883e94df5e543348a397d1302c1b8221895871a83b81899f5a9647b", + "res/drawable-hdpi-v4/notification_bg_normal.9.png": "0c6328c7b2420570a7ec38b3beb3bac9a29d895ac1ab7239315aba7266418593", + "res/drawable-hdpi-v4/notification_bg_normal_pressed.9.png": "18b328d8017e677d5aad3dbd66bae356b5cac978c6f0670938ea648e51d0eb66", + "res/drawable-hdpi-v4/notification_oversize_large_icon_bg.png": "aa00088d0d9fd97bd92ed9ffd29b54bb69a48a984aa73448ce553fb9d812be41", + "res/drawable-hdpi-v4/notify_panel_notification_icon_bg.png": "8430ec003e003f3f2ba2f78d48fd150e25407667e530e82e87a7d4841c0fd676", + "res/drawable-ldpi-v4/ic_call_answer.png": "6d34a8bb29be26e343781603588506f33bd1b93732a1c1bc9fd84678aa36b178", + "res/drawable-ldpi-v4/ic_call_answer_low.png": "6d34a8bb29be26e343781603588506f33bd1b93732a1c1bc9fd84678aa36b178", + "res/drawable-ldpi-v4/ic_call_answer_video.png": "66356f564f051a568e25071f60da312c418309f9129773aceb2246773458681c", + "res/drawable-ldpi-v4/ic_call_answer_video_low.png": "66356f564f051a568e25071f60da312c418309f9129773aceb2246773458681c", + "res/drawable-ldpi-v4/ic_call_decline.png": "a18cdaaf3742b1a3d4f484fa15d00fa34afb21495884301aafa3213338661ed6", + "res/drawable-ldpi-v4/ic_call_decline_low.png": "a18cdaaf3742b1a3d4f484fa15d00fa34afb21495884301aafa3213338661ed6", + "res/drawable-mdpi-v4/ic_call_answer.png": "f2ff62f473d8a5e00a8b6c81c15be9a0536471c3d5a81e37d04bc3356ea81ca0", + "res/drawable-mdpi-v4/ic_call_answer_low.png": "f2ff62f473d8a5e00a8b6c81c15be9a0536471c3d5a81e37d04bc3356ea81ca0", + "res/drawable-mdpi-v4/ic_call_answer_video.png": "6306048ba5f7eca43e7bdadeefa9412180508486fd543e02de93d2a013e223f0", + "res/drawable-mdpi-v4/ic_call_answer_video_low.png": "6306048ba5f7eca43e7bdadeefa9412180508486fd543e02de93d2a013e223f0", + "res/drawable-mdpi-v4/ic_call_decline.png": "7e87b3e0229126dc3c2bdaddcd8f330f3bb5f7613a05024c3cd6445dd161f788", + "res/drawable-mdpi-v4/ic_call_decline_low.png": "7e87b3e0229126dc3c2bdaddcd8f330f3bb5f7613a05024c3cd6445dd161f788", + "res/drawable-mdpi-v4/notification_bg_low_normal.9.png": "2f7fbda0ba6e53e9a47e2fc0e24e32c447c613a5808c2d6285dc651e83a07ad7", + "res/drawable-mdpi-v4/notification_bg_low_pressed.9.png": "e17761ed280edd93d7141bd504b70f9e9e15a8652288d9e6333bf4ce964ef844", + "res/drawable-mdpi-v4/notification_bg_normal.9.png": "a8676a1793ac8310ffb12986232df66df092d29c242aeedc2b73556c010d38dc", + "res/drawable-mdpi-v4/notification_bg_normal_pressed.9.png": "99c14d6855b8be296d58017d3751b8dc849c47b6d1d80ab614ff9075080e461b", + "res/drawable-mdpi-v4/notify_panel_notification_icon_bg.png": "0d773e62c756422313262846c787e58f67e0ee87e45e1ae9942002e816c4cb9e", + "res/drawable-v21/notification_action_background.xml": "2f768c089cefa18cf7f1fde7f602410bf38998de5f9073a15ea83106c25e3c30", + "res/drawable-xhdpi-v4/ic_call_answer.png": "e64c2e57627e24ec1ed37e67344c2bf31d1d6bdd2d8d715840c1edf0bd1425b6", + "res/drawable-xhdpi-v4/ic_call_answer_low.png": "e64c2e57627e24ec1ed37e67344c2bf31d1d6bdd2d8d715840c1edf0bd1425b6", + "res/drawable-xhdpi-v4/ic_call_answer_video.png": "5d02a81102644428ca639aec3df626eeb4a839a9ddc76fc2b158b04461d7f00f", + "res/drawable-xhdpi-v4/ic_call_answer_video_low.png": "5d02a81102644428ca639aec3df626eeb4a839a9ddc76fc2b158b04461d7f00f", + "res/drawable-xhdpi-v4/ic_call_decline.png": "9a9a30c305022a2f8e075d2ed7d33f5c7711bba8d0d0385511fdb62f89f208e3", + "res/drawable-xhdpi-v4/ic_call_decline_low.png": "9a9a30c305022a2f8e075d2ed7d33f5c7711bba8d0d0385511fdb62f89f208e3", + "res/drawable-xhdpi-v4/notification_bg_low_normal.9.png": "3e09afa21c45372c035598c017c8fb405a6d678e6cb84dc857581cb3b40e482d", + "res/drawable-xhdpi-v4/notification_bg_low_pressed.9.png": "20343222f9f79dd565c3a2248494d452e70820ac1c437173c38badd45f962afd", + "res/drawable-xhdpi-v4/notification_bg_normal.9.png": "559bf783d765c02338e97952bdc9c6689c7ff99090b8c9813369118da8b080f0", + "res/drawable-xhdpi-v4/notification_bg_normal_pressed.9.png": "d27af435101ca4cbec0c840bd30687918cd39eb83aab1487420855623a45998b", + "res/drawable-xhdpi-v4/notify_panel_notification_icon_bg.png": "b44eeda34d7a529c2fe55719eb098fa29707caa91d18de06a7a775d6e6bcf973", + "res/drawable-xxhdpi-v4/ic_call_answer.png": "86763a30af2a934c7c13b123b36443d1d17918b71c6149bc6ee80115b872593d", + "res/drawable-xxhdpi-v4/ic_call_answer_low.png": "86763a30af2a934c7c13b123b36443d1d17918b71c6149bc6ee80115b872593d", + "res/drawable-xxhdpi-v4/ic_call_answer_video.png": "ca48f604262f2b4ef8b100c73130efe2ad33ef8c2a2c1b3516f24f51b7b04665", + "res/drawable-xxhdpi-v4/ic_call_answer_video_low.png": "ca48f604262f2b4ef8b100c73130efe2ad33ef8c2a2c1b3516f24f51b7b04665", + "res/drawable-xxhdpi-v4/ic_call_decline.png": "87adad32e0ec19c4e920420bf3a06c9f94f6128ed0d866a1891628aeab2cef06", + "res/drawable-xxhdpi-v4/ic_call_decline_low.png": "87adad32e0ec19c4e920420bf3a06c9f94f6128ed0d866a1891628aeab2cef06", + "res/drawable-xxxhdpi-v4/ic_call_answer.png": "ec698a3217bce74d8bc4a44bb008f2dbd3d1aebff1af1e9641805143dbf9fa87", + "res/drawable-xxxhdpi-v4/ic_call_answer_low.png": "ec698a3217bce74d8bc4a44bb008f2dbd3d1aebff1af1e9641805143dbf9fa87", + "res/drawable-xxxhdpi-v4/ic_call_answer_video.png": "4c717ce1ffb551c765981add65d1956132d8f522337de2866b045f0a60485426", + "res/drawable-xxxhdpi-v4/ic_call_answer_video_low.png": "4c717ce1ffb551c765981add65d1956132d8f522337de2866b045f0a60485426", + "res/drawable-xxxhdpi-v4/ic_call_decline.png": "ab73b729bb95878120a3bdc8dc915f3aaa1d7070fc644a0de64d40941ad507ed", + "res/drawable-xxxhdpi-v4/ic_call_decline_low.png": "ab73b729bb95878120a3bdc8dc915f3aaa1d7070fc644a0de64d40941ad507ed", + "res/drawable/notification_bg.xml": "20a1a2e83aa9806faeb234fc0a1094bc079adf5a25ef4cfef1491c5ca3b3c745", + "res/drawable/notification_bg_low.xml": "49041ec87bb2ec2a8bc23685c8eb2c2d5297aa39f1412dc7aa6639aeec12ee49", + "res/drawable/notification_icon_background.xml": "b143ee7fcbba209f17607a720502d755f085ec75380ad6fbd6f99de6583f0a40", + "res/drawable/notification_tile_bg.xml": "fb5d113d15ff98da0eab3cb9e178e909ad5e261f30a24add0267e2827b4c7774", + "res/layout-v21/notification_action.xml": "4e046a162878e2f8796c6380f0c5a9a7b40f1ffb251478ecfcbbe3b434bd1178", + "res/layout-v21/notification_action_tombstone.xml": "a9657e68fd0c10ced5011b67b9e37a5ebe262957ef15fa3679a9a1f8784fee21", + "res/layout-v21/notification_template_custom_big.xml": "4879194cce032a3c5ea58d2ec796766b00bb057a4ca4bc11c56ed1830a61c7d2", + "res/layout-v21/notification_template_icon_group.xml": "97d5723ad66c683d88d57918e197cb33d2dc1628aa77299e42e132622c2c948e", + "res/layout/custom_dialog.xml": "edd4e27b3f2407a02248205a2eb50288170e4201249bfeac074749ea60390103", + "res/layout/ime_base_split_test_activity.xml": "37ff040591f96786bfaf9d3d937fedf2f2f97e218c06beb3e7fe8a2442a181a8", + "res/layout/ime_secondary_split_test_activity.xml": "0034556846afe7278a6d1264855405a0c3ae65a81a6a05f9ba4dc0136a589685", + "res/layout/notification_template_part_chronometer.xml": "9ae2b91ed155032cb90ee4cfead57eba2728d0e6ff262d2275ff63516604fc94", + "res/layout/notification_template_part_time.xml": "4a838e479642de5ee2cd1d0785b35d195995fcf27b0b9561140a6cdccbfe3ad6", + "res/xml/native_input_test_ime.xml": "d560413501650fb393941eb5e8e36b30aed25a309dc294cc0435f74d6dfe326d", + "resources.arsc": "a743d0f25129f83afc5a9790dfabdd4c6937b071c930014b432aa9a2fd74e4eb", + "LICENSE-junit.txt": "9648bb2891b9813970bddb68d4be8a5e6ec8280d0180a53dfb29236b579c55bb", + "META-INF/androidx.compose.ui_ui-test-junit4.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-test.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.test.uiautomator_uiautomator.version": "a42caf4a54bbbe27aa45b6efbc6356c5e299b19763e728b6cdb7201b02ebbe36", + "META-INF/kotlinx_coroutines_test.version": "179f9b723b6508aa1d6ce99991e8cd549ca819ee1b9b6102396c47815beffaaf", + "META-INF/services/kotlinx.coroutines.CoroutineExceptionHandler": "1b8e1a088e38c9bc8dd36517de1202651f06a9ca9eb0e6adad7305392289a94c", + "META-INF/services/kotlinx.coroutines.internal.MainDispatcherFactory": "90d3bc46060b2a33332bd2bc8122d5b03dd1a507718db830d5e809cc62c4490d", + "javax/annotation/CheckForNull.java": "4807942043605b325f0fefa243344db0d11e32cebd8f133df2b7c5d8486f2312", + "javax/annotation/CheckForSigned.java": "9c3d742fe9ab8e5fb08d5562ab0cb0255e2960facf94f83349be542b6557f3c1", + "javax/annotation/CheckReturnValue.java": "fc328c2dbc79fb3bc25d47a7f0486410fe8a04e6d6ceadf97f7ed44fa6dc0ebb", + "javax/annotation/Detainted.java": "7d272cf814d47c8cf89dd0d2f283ddfc88a26405122fd98f2842dbcb0789ed0e", + "javax/annotation/MatchesPattern.java": "ff2ffbca3823c1a3f5333630878068c724f67058264cca7396d9abef821897dd", + "javax/annotation/Nonnegative.java": "73b83d783bc7cdf7b5c9f4331a928154c6dc4e97ba349a5e5124e026ba4221b0", + "javax/annotation/Nonnull.java": "eb2d5ac7cd628dd3c59e5f7b14378fea531d5c76857df837cfe8f9a2ece1dddc", + "javax/annotation/Nullable.java": "511c9e8888bbdc13e0388eb5c3a882f43ff21160093b404c870ce94e83a1f509", + "javax/annotation/OverridingMethodsMustInvokeSuper.java": "5d786c4fff3f381babab9f745252dd80ba10210c402bd4c15161ce9b63decca6", + "javax/annotation/ParametersAreNonnullByDefault.java": "94233ca1ca4fb6d457bed883f8369019d4f0016be81d4e5ccfc01f5d50bf946e", + "javax/annotation/PropertyKey.java": "5559001d0f69e49487f1cc0cfa82d37e064b04436ccc7026a3d8a5aa30215d7d", + "javax/annotation/RegEx.java": "7b08d091734672f8f8f320fdaa7cde6ba48c786a2fdca94c9e2407e1e2af2aba", + "javax/annotation/Signed.java": "76633adce590e7c771ef7f727b575f9ae54389539d666677a9ca1a9e4256e374", + "javax/annotation/Syntax.java": "63c05bd38c7c279d147058d6e154a44ee1da62c92cc6849a573bdc6c345869e0", + "javax/annotation/Tainted.java": "9b755d095cf2c4a41a8e064b5bd0ab3e556845048b705d2cc98e8635b8bda6f2", + "javax/annotation/Untainted.java": "e44096a654f825c9f8f3fb9ba099f805155b3daf41918c177d7193558bb11981", + "javax/annotation/WillClose.java": "1c81ea1c7284c37c5d66b436fc63267877667da03b2b646fc6c11ea2a8dfac08", + "javax/annotation/WillCloseWhenClosed.java": "b3c6e342b4dfc4c62d33857f8920cfe077e9f2c31379d8f627495e0c4a06cb13", + "javax/annotation/WillNotClose.java": "6c258758fcf54c9657052dc9e86d0abc780f8a4580804e3a0a8b8b376529e453", + "javax/annotation/concurrent/GuardedBy.java": "f2650971001cbfd4c127487e0115e7a9539d64fd6a98dd8dd0675330ae3b790d", + "javax/annotation/concurrent/Immutable.java": "47f9a076a4396c492a373eec9622a15497b56b633a67af97ca51bd3b1142a08d", + "javax/annotation/concurrent/NotThreadSafe.java": "73060a8907c01ee7a72bfbd9c74a037ff1953bd7a4510b8997fdcec0a5741a19", + "javax/annotation/concurrent/ThreadSafe.java": "bcfd9f7a27af49a6505734ab03259f02a7222d3bd052821caa6d94d930bdfc9a", + "javax/annotation/meta/Exclusive.java": "0b0405f1dc140ac2ebdb4cdd3bbbfdcf19e22d724bc57a89d530b33e8c9b7ff5", + "javax/annotation/meta/Exhaustive.java": "c9b4085041acd1602691ee49535a6a91afc2b67d6bd9d9fb4e1ab2169d627a6f", + "javax/annotation/meta/TypeQualifier.java": "828fffa618ac1cda2fc07fcc0e5e58785aadfe4bc481c0e4e8dc5fc23d662ce5", + "javax/annotation/meta/TypeQualifierDefault.java": "27faa048d7c23bd6d79d3515816ec1f356758ae140c0edc702a74b91f9215395", + "javax/annotation/meta/TypeQualifierNickname.java": "309cf58e837f1bc63183fc9443b231904157f1ac25bfee0e5cebcae52f44eb51", + "javax/annotation/meta/TypeQualifierValidator.java": "4d1e2ca6f465ce130a8233086053acc991e5fd389f7e31c88a0cd19ef32c666a", + "javax/annotation/meta/When.java": "d79dfa99e03fa1eb6d0e6f024833ef16c1029b98975e2e767f760b2dbf4d8790", + "junit/runner/logo.gif": "345b5e2207a524e0019779d13f0f8ae51359f894a230479467761331e3d1ca16", + "junit/runner/smalllogo.gif": "b4819008f181bf3e0b47254f72149c62a556a56fc0358d3143e405b191de2081", + "classes3.dex": "cfb071a5a947773b36c962733989d4b990068d049d6e92ae9d4c480b3220c3fd", + "classes4.dex": "45f9544c81ca1ebbdc54330ee99a5ab90face0bfb97eec95456d9774a0beb6c3" + } + }, + "unchanged_assets": { + "assets/ANDROIDSVG-LICENSE": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30", + "assets/ANDROIDSVG-NOTICE": "2e61b715e3553494f46f43e5a88e8d26c56201e0558c8d5ab02946edb4f7dedf", + "assets/COMMONMARK-LICENSE": "11cfcf6da0142fb1971c1f40f5924ddded14454e2793d7f1dd87c9f4abe42dfd", + "assets/COPYING": "14609801e0e520dac851e75d993ca4c75c3842a3be468f6f7f04a16c03c824db", + "assets/GEMOJI-LICENSE": "7ea1d1fd0602e6623b9a65e791499a0ea5a2f5f60f91bfad78cbaeee19da26e6", + "assets/NOTICE.md": "c263e44ea9a845c4e4ec564eeca46ae0fc343f63ffd10685afbf74586647e0f6", + "assets/REACT-LICENSE": "da6d3703ed11cbe42bd212c725957c98da23cbff1998c05fa4b3d976d1a58e93", + "assets/RaycastRuntime.generated.js": "b306b45453cc8507037ff2822066475aae17def757a8ef72d4a4fc64c6494bb7", + "assets/android-runtime.js": "1b5dfa3f5b512f55322f27703bbebf15d1a8c4569c4c1712a6dd64541dd552aa", + "assets/emoji-catalog.tsv": "e49f1cc09c6f487a6e7b55590ecc171dcff390f720a9ce3820fe2038810d5d66", + "assets/extension-workflow-evidence-v1.json": "4e8adc22b7887996140190a999f1c7272556f2dd379d219c88e276e48aea0fa5" + }, + "old_app": { + "source": "fec0a4bf1155c08c141606f92ae8fb1feab4bba0", + "sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "scope": "Retained immutable pre-change app; common final instrumentation used for missing-Clear controls" + }, + "build_log_sha256": "2aa00ec14f66fbe7a2eb53df453eef6f59943d9355af78ff1fe7018a8880ce34", + "build_log_scope": "Immutable build-log prefix through AndroidTest packaging; complete host-check results recorded separately", + "retained_failed_build_log_sha256": "269d41ed003ab17ceee2f4ec2de5b23bf2c9243a72e2a66064c71218ee7140e0", + "preliminary_successful_build_log_sha256": "e41b9f6bb86ebf45b5328653c28417f2b64feb1bd0bf1abea810b9dd0c4ef686", + "initial_failure": "Kotlin output write failed; Gradle also reported No space left on device. No device execution." +} diff --git a/docs/validation/touch-search/identities/candidate-v2/python-source-identity.json b/docs/validation/touch-search/identities/candidate-v2/python-source-identity.json new file mode 100644 index 00000000..0165d52b --- /dev/null +++ b/docs/validation/touch-search/identities/candidate-v2/python-source-identity.json @@ -0,0 +1,45 @@ +{ + "execution_source": "e4d8bb16e8e5210770ca4f41c224e06ce5d1325c", + "current_source": "07a2de6df0403ed15b03d3712cdd7724b4946f10", + "cases_per_mode": 132, + "source_sha256": { + "scripts/android_clipboard_recovery.py": "4aa2d03a100791544d282de37a2f62b6f7bfd94c47cc5611b6b6448ed8a946c1", + "scripts/android_form_documents_fixture.py": "ef44f5a9af1397fc8e8ea1924e36c2dec18d5c56c02e22f4925752daf1034841", + "scripts/android_test_cleanup.py": "1f4a1d70d251ec0a8294932388ce881da144c9c7d1c05df54df2c5b246d46373", + "scripts/extension_bundle_snapshot.py": "08ae0408a22e4f4c3c8a8b22af31b6a6a16d304dc0d14d5e489596dd9731a950", + "scripts/extension_manifest_catalog.py": "18c6048a0690e68dba3da1e8d11c5abccac16c3c26aa8803ff80abfd1dabe7e4", + "scripts/generate-emoji.py": "98f43c9a5941b4e65533e31ff7d7eaa4e697d8fecd4c7424297e6957e07abd53", + "scripts/generate-tinycast-grid-oracle.py": "bd53975673883b624d2553cd47687c5a3a760b17181a8c0621715ed1599b3118", + "scripts/package-nightly-update.py": "2a650baee0c7c76eadd360171e19686aad7b960fe34ebc780638c6b231032420", + "scripts/summarize-readiness.py": "e63d9d2ec435d2c369ae0be126bafb0b0507e903b03674f11a77ee10b428fe64", + "scripts/test-api-compatibility.py": "1ba4bf24535130bfd59a5f1d9d4830ca075e7158fc2cbe316696fcadb6108065", + "scripts/test-assistant-touch.py": "fd5a4acfdd19ddc60eb467fea3c7d2e8ab7ac717bea35c76d007577c23235a54", + "scripts/test-calculator-intent.py": "93ef5653c4d0c153d8f216c9fd74557089a964eaab80c84c85ab5460ec58f1a1", + "scripts/test-configurable-shortcuts.py": "56f4581f78265ec2c28faa1da115ae10a8349cf47e10db60bfba3e88f0cc3e73", + "scripts/test-extension-grid.py": "26f15b12f40277cbd3b6b874c58e41ab7e26735ef8e70634e5b5eb53b5652560", + "scripts/test-extension-workflows.py": "c6cce4d533b45655a7763305379107840a93a1a953be0322a869c7505ffc0997", + "scripts/test-global-shortcut.py": "4a0f57d16dfccbd0c7b33d6b78a841ccad030c4bad6fb108ac80f15dc89f6d6a", + "scripts/test-modifier-taps-hardware.py": "b0d2da7fd2410095d65ef20e25cd9b8e90f9b480849dfd5e497f75d4d713139c", + "scripts/test-modifier-taps.py": "8cb08d228371c90f995ae2246ef0a92daf6c81724c11a1ac67374ed0dd347dab", + "scripts/test-readiness-benchmark.py": "1f92dc1989f1ff36c82433d6eaab1e2c896abf7541a24a9b215c109e49d1a7d9", + "scripts/test-restart-files.py": "65f1c311df77634f746cb155d831acf1fa4d8cf05d0e1dabc9d372bf1e842065", + "scripts/test-reviewed-text-input.py": "4e9ab25f0b1bce00277d0dde5a37a29ab8cbbdb9900699c5bdfd9cfa4b9bb248", + "scripts/test-reviewed-text-process-recreation.py": "eecd547c48ad2bbce2d8bae62bbed26a2484e0b5d97ebb7cb989ba98d4de2a23", + "scripts/test-search-header.py": "772cb70442bbf28086beb8087ebce94d02ba6cc10e6acf8c2cf91a0d8d5b39d0", + "scripts/test-self-updates.py": "4ff148ea90c3a148a1eacf74116db288e5e9c282f69e0c331caa6f22b1a40889", + "scripts/test-startup-performance.py": "9ac605bf3347fde625d279767bb8fc4de76ae82f099e7d8351416fa5bc9250ae", + "scripts/test-touch-readability.py": "d9ae59ab3db56d63cb5c959c200263b71acd0e04c305dce4e9ceb8a395933fb6", + "scripts/test-webview-engine.py": "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4", + "scripts/tests/test_android_clipboard_recovery.py": "b260d3adcfa33e2641affebee9bebb1676097b4a24bbdbeb89cef7f3fc889176", + "scripts/tests/test_android_form_documents_fixture.py": "c2b573793d6c5d48fe9dc8e75ffc554e11818e319507080a4b96aa4e24e1fc03", + "scripts/tests/test_android_test_cleanup.py": "49c8831c517f0777f46952376f5d3b783322eeb25f063d69a9b1bc2f8cde01cf", + "scripts/tests/test_extension_bundle_snapshot.py": "382561907129ac58b7e20b963c1afcbc9bc1a03b7e18da64e7d61927a8b15783", + "scripts/tests/test_extension_manifest_catalog.py": "57af21edf39e3e4084453830eed62d3c052ba8d8a4f942d3d69807e2cd4b69a6", + "scripts/tests/test_extension_workflow_guards.py": "1cea982b85cf759e691471cad72b8e2cbdccdf3c2ccc6c483b1ef01b49002a3f", + "scripts/tests/test_private_path_observation.py": "3c0fff3062ac9b43aab67ed4ab2d53b92fa39f9af9e0ada9d197856a1df94e95", + "scripts/tests/test_reviewed_text_archives.py": "0308a50c148c97ed50381e894eabd43ec6e374878f99b810244c24e25f1a626e", + "scripts/tests/test_reviewed_text_runner_guards.py": "a3d489fe141be669374ecd0b3a6231afc5efdf4abfc6a74f7d25efec4e67038c", + "scripts/tests/test_webview_engine_runner.py": "846ee3b34578f92bd3f728eac4044c5ef4481478e3ec9d744e848e0094119168", + "scripts/verify-recorded-workflow-catalog.py": "fc0ec3b595b3a892238a4e0cc19b79ca092e8dcbe3e4af1d261e4874f984c2d5" + } +} diff --git a/docs/validation/touch-search/identities/candidate-v2/test-manifest.xml b/docs/validation/touch-search/identities/candidate-v2/test-manifest.xml new file mode 100644 index 00000000..ec741fb2 --- /dev/null +++ b/docs/validation/touch-search/identities/candidate-v2/test-manifest.xml @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/identities/candidate-v3/current-compiled-harness.json b/docs/validation/touch-search/identities/candidate-v3/current-compiled-harness.json new file mode 100644 index 00000000..88e9b7e2 --- /dev/null +++ b/docs/validation/touch-search/identities/candidate-v3/current-compiled-harness.json @@ -0,0 +1,11 @@ +{ + "compilation_source": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "current_compiled_test_apk_sha256": "9e80a40133bd14679d2620f95c536d6ad41cca4c35f0638333802c345619d431", + "common_device_test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "device_execution_uses_current_compiled_apk": false, + "scope": "Fresh current-source debug AndroidTest compilation only. Actual device executions use the immutable f79 common harness built at07a2de6. No APK equivalence is inferred.", + "changed_zip_payloads": [ + "classes3.dex", + "classes4.dex" + ] +} diff --git a/docs/validation/touch-search/identities/candidate-v3/identity.json b/docs/validation/touch-search/identities/candidate-v3/identity.json new file mode 100644 index 00000000..8f72e8ab --- /dev/null +++ b/docs/validation/touch-search/identities/candidate-v3/identity.json @@ -0,0 +1,543 @@ +{ + "source_commit": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "app_source_commit": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "test_source_commit": "07a2de6df0403ed15b03d3712cdd7724b4946f10", + "test_scope": "Exact reused f79 common instrumentation APK, not a rebuilt-equivalence claim. All current AndroidTest sources match its build revision. Generated build inputs retain their historical identity.", + "source_sha256": { + "app/build.gradle.kts": "28f41ac518c91f15c98221d0511870a5409b9f35ae008acfdd5f667db06bcadf", + "app/src/androidTest/AndroidManifest.xml": "63c98a685e9dd67d8150af8981832d34271fb37a92e46444eec52728f559d609", + "app/src/androidTest/assets/owned-detail-fixture.js": "873d3f25f95271029e31779b0920b5955a2908a820a07652b58efa21a2358cfd", + "app/src/androidTest/java/dev/tinycast/android/ActivationDeviceTest.kt": "2f2fe66a5c3628433feeb6db33e02be43ca3f267b39ec541f2e3330fc1142974", + "app/src/androidTest/java/dev/tinycast/android/AssistantDeviceTest.kt": "1ecebcf20fe9aa7aa63701c81500195eddd1ae88618d89f31105fecc58189b6b", + "app/src/androidTest/java/dev/tinycast/android/AssistantTouchDeviceTest.kt": "1f33a283e5b1f05a5a74dbb76bc3ff8920193cd761edd1cce1e61cb733cb9874", + "app/src/androidTest/java/dev/tinycast/android/BackupDeviceTest.kt": "56c56d6a652524f7fc7952b1478552314b1e465ace5c7216385d7f2ea3cf4b6c", + "app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt": "e738e5b09aa6128343abe628ed7f93571b9a87c1eb95e78f00c617aadcf348b4", + "app/src/androidTest/java/dev/tinycast/android/CalculatorIntentDeviceTest.kt": "628ddcef4b50880170fba97cd925fefc5f463f632799d9e2686e7512b2bbc15f", + "app/src/androidTest/java/dev/tinycast/android/ClipboardApiDeviceTest.kt": "e53bbc080d17b59aae6280b7b817a3c81b4df684dcfd5ca787a993d89caf5de4", + "app/src/androidTest/java/dev/tinycast/android/ClipboardEvidence.kt": "c882a7435cdca3bbdf68da66a6e8ef23bce932fb5746ba09c61bded5b9c98e9d", + "app/src/androidTest/java/dev/tinycast/android/ClipboardEvidenceDeviceTest.kt": "dfdb64344886b7e5d4b54f04fa4560f169e8cb8d7b7b238ba08358dcde73f854", + "app/src/androidTest/java/dev/tinycast/android/ClipboardRecoveryActivity.java": "48627f465b10c316cca7fdfa735928095328241b4fb98bf90e5c247add17345d", + "app/src/androidTest/java/dev/tinycast/android/DocumentProviderDeviceTest.kt": "13895d23b8758affd8889461ef660c442d3bfd1bb111fce08a064aa4b582aea2", + "app/src/androidTest/java/dev/tinycast/android/EmojiDeviceTest.kt": "ab9907d4e4acd7e52ed26f12ac14648271e5740784cdba678671ca8ad42fb415", + "app/src/androidTest/java/dev/tinycast/android/EnduranceDeviceTest.kt": "4802d3755ce6bc1cdf8e60c7cf9998a09ced8e0be6d9888f0b9d9a32ee332dc4", + "app/src/androidTest/java/dev/tinycast/android/ExtensionCommandHandoffDeviceTest.kt": "8c47f08b1d49a94dfd520840a0b0349199459da4ece8ff1adcacc46516b37f7b", + "app/src/androidTest/java/dev/tinycast/android/ExtensionDetailDeviceTest.kt": "d5bd83f6d174ca5d5c3c9d68551cc3a78bc90763060410bd5f3b67d9d9642025", + "app/src/androidTest/java/dev/tinycast/android/ExtensionDeviceTest.kt": "3087ff055f70cdf43d2565e22703b9c57445b5c3e1594126d60b0279c32b2640", + "app/src/androidTest/java/dev/tinycast/android/ExtensionEmptyViewDeviceTest.kt": "64e6b1e68c61cf67b24ba02d1e14a72d297b1bdeebbdf1008905d5619ce2558f", + "app/src/androidTest/java/dev/tinycast/android/ExtensionFormDeviceTest.kt": "6418f6ab517ead50a102b4834bff9c40988849fb3a2a1ef20f575d162b32e11b", + "app/src/androidTest/java/dev/tinycast/android/ExtensionGridDeviceTest.kt": "952b4f2988379c1545575d1332f8358acc9053e257a382b7549a27f6b4b40de3", + "app/src/androidTest/java/dev/tinycast/android/ExtensionMarkdownDeviceTest.kt": "e4b7daa9fd914335f572ef41665595104cdae5434682977a2d806ff63ef36c4f", + "app/src/androidTest/java/dev/tinycast/android/ExtensionPasteCopyDeviceTest.kt": "7bdd8e876153d4d46357402eab58cf89c0e8885823d21894c70882ed55b1da8e", + "app/src/androidTest/java/dev/tinycast/android/ExtensionRecordedTestsDeviceTest.kt": "1aa11011270b01a235bb052c6063da7eb5f7f726a7bb19f79aa54e7b8aa4ca42", + "app/src/androidTest/java/dev/tinycast/android/ExtensionSandboxDiagnosticDeviceTest.kt": "3e192cb65d011e021d5b47b6bde765e1136c2ddf7e039b5c9dce6dedbf39da15", + "app/src/androidTest/java/dev/tinycast/android/FeedbackReadabilityDeviceTest.kt": "86096d428b6554bcb6b8c9d7bc39b981baf1fd53f9367a33c97ce03c89020a82", + "app/src/androidTest/java/dev/tinycast/android/FolderDeviceTest.kt": "f3d54b0d788459d34470d2d87c8882cdfe30e8956a8886cd324dd63160f5628d", + "app/src/androidTest/java/dev/tinycast/android/FormDocumentsFixtureActivity.java": "434e72d8a0c977a83cbe6524cc51638eaff9cca5581c570ea58d4068ad2156a9", + "app/src/androidTest/java/dev/tinycast/android/FrozenBundleWorkflowDeviceTest.kt": "9d31d56f739caa2509610cf4c07abf70dfd5ea0aead7ec5c5673bde1ca04bc45", + "app/src/androidTest/java/dev/tinycast/android/InlinePaletteDeviceTest.kt": "ed2cfb9dc3c5218adfe0ae7b3cc1c60a69e6cf8c83ad434c2fc6b87d23bb2727", + "app/src/androidTest/java/dev/tinycast/android/LegacyInputDiagnosticDeviceTest.kt": "4966fac20af96b8597fb38a278d8f3ef89b7e335f3d3b6e5df00fb349ebabc55", + "app/src/androidTest/java/dev/tinycast/android/ModifierHardwareClipboardTest.kt": "141499cea10d4c80b8ef690fd43e985c066d1b420afa23895c32e75de737ec8d", + "app/src/androidTest/java/dev/tinycast/android/ModifierTapDeviceTest.kt": "d33bafba795569c15bab709a9830ca06ecffda9feb754492ec437d55c1d1cae1", + "app/src/androidTest/java/dev/tinycast/android/NativeEditableAssertions.kt": "be979c8e0f3e78b8d0e4482c2653769d732d24871a822b3761f5708a1e6a230b", + "app/src/androidTest/java/dev/tinycast/android/NativeInputCompatibilityDeviceTest.kt": "484dcb406a6b9fbc7851efd883029a43b303bdab799c9385e51a678ab91a51fc", + "app/src/androidTest/java/dev/tinycast/android/NativeInputTestIme.kt": "c3a766ae381e6e4a1b514b3890cdd220616df8e9b88208cdb9aa562ebd8f45ce", + "app/src/androidTest/java/dev/tinycast/android/OwnedFormDocumentsProvider.java": "67c22d543cb2136d81dc3544d8f63df94ce67f9524c7f19dc9c6b1b586713e89", + "app/src/androidTest/java/dev/tinycast/android/PaletteDeviceTest.kt": "7f5861ffec2e762c1e629519802c10d4b31e3bebd49a3c5867013c6aad77f3f4", + "app/src/androidTest/java/dev/tinycast/android/PaletteOverlayTest.kt": "0755f9aa38bdb5785d2cb8902157ce990b5b9825db0ae71847e11c8b1bd4b7aa", + "app/src/androidTest/java/dev/tinycast/android/PaletteStabilityDeviceTest.kt": "87896693541425799e7815d2fc1e3988e29afd9bba346da48183a91fa91be9c9", + "app/src/androidTest/java/dev/tinycast/android/ReadinessDeviceTest.kt": "c6f3ea767e9adc8384a3b662223ab57bef067fca8501509e0415111b711589f3", + "app/src/androidTest/java/dev/tinycast/android/ReadinessRegressionDeviceTest.kt": "3815d7aef28c0943999782217eabe14dd80fdd464476798bd0bf12a1d0be3c4a", + "app/src/androidTest/java/dev/tinycast/android/RecentDocumentDeviceTest.kt": "85af5ed0fd05c0716b8ac14b24e98397829ff8d241695999a0cfc68727923e40", + "app/src/androidTest/java/dev/tinycast/android/ReviewedTextCallerActivity.java": "640609575a0711566bf23f3028a5144e8aeae912604f9b7180912fd2c9b96200", + "app/src/androidTest/java/dev/tinycast/android/ReviewedTextClipboardCrashDeviceTest.kt": "6a1ebc4d90c8b5fa9a07f4b288c20b361297efbeaf7d4423eb211da47b4cf0c0", + "app/src/androidTest/java/dev/tinycast/android/ReviewedTextDeviceTest.kt": "31040a9d92e7e60d8026dda7119a9f7eedd2127ea6f50bfb308849f56b6fc0ac", + "app/src/androidTest/java/dev/tinycast/android/ReviewedTextLifecycleDeviceTest.kt": "2190f43dca4d7a7eca162a7e34f46d6091cfd114d83a5e4509946c1b912ce76f", + "app/src/androidTest/java/dev/tinycast/android/SettingsDeviceTest.kt": "dd9b9a2492c497a2a3ac3218d0833d2e8b536eb904975aa536b08361acc323a9", + "app/src/androidTest/java/dev/tinycast/android/SettingsRouteDeviceTest.kt": "8f6991670e740a07d3a6b30aea270b60e19f6d237c4b7b6afaf25200962ad736", + "app/src/androidTest/java/dev/tinycast/android/ShortcutDeviceTest.kt": "5376ede8474d5eaa4ec7ecb628d1056a5bfc963bd2a292d17d9b86eead8a5415", + "app/src/androidTest/java/dev/tinycast/android/ShortcutReadinessDeviceTest.kt": "41bdf7ab67a6899dc8a0b1b0f697135bc587dc401c9234eb56d25385eadf3dcf", + "app/src/androidTest/java/dev/tinycast/android/SystemSettingsDeviceTest.kt": "80e0c919fbf04916d2441aa3fbc4cccfac534f56c29dfd908e5ae2d917cfe13b", + "app/src/androidTest/java/dev/tinycast/android/TestAutomation.kt": "faad509cd41b06c4cc1087e5de8e0218abca78773603b2050bb2825c880588fb", + "app/src/androidTest/java/dev/tinycast/android/TouchReadabilityDeviceTest.kt": "6801d25bb0d9bc45899b04aeedba474e2ac8e5cc8cb168b6268e0305fb49345e", + "app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt": "97ebfc6598b7e9fd32ea52e77ec57f642c41d27ca140914a73240e690195a704", + "app/src/androidTest/java/dev/tinycast/android/UpdateDeviceTest.kt": "380e4d7702d2f8c68fd575581309113bc67abf3e5713bdb177cc3b920c4e2787", + "app/src/androidTest/java/dev/tinycast/android/UpdateSelfInstallDeviceTest.kt": "fc94ef400b54ee2cf8378d2b1632fff1521299f188a132f0330e930b40f80ed3", + "app/src/androidTest/java/dev/tinycast/android/UpdateSourceDeviceTest.kt": "76d91931dc044fdeb001a8325a321306011f2b0c54aa631bea25751c59f3ea50", + "app/src/androidTest/java/dev/tinycast/android/UpdateVerificationDeviceTest.kt": "cebe3033132db567affccc5419ec59a9639c87ceb88b20c38ffbba16c13b4592", + "app/src/androidTest/java/dev/tinycast/android/WebViewCompatibilityDeviceTest.kt": "ce5842cad291b9cb77aed19ecb9436dc80de24beb27e018797a7f84fb4a84895", + "app/src/androidTest/java/dev/tinycast/android/WebViewRecoveryDeviceTest.kt": "dd6ccf056187d184dd7fb6aa1eddeb76bd7037f4af21f749dbe379a7a2eeecde", + "app/src/androidTest/res/xml/native_input_test_ime.xml": "4aafc899939ff4b8883a80c6e00f7ff7413a08a603d485a15f1035c07760b50c", + "app/src/main/AndroidManifest.xml": "65fefcf86296b7103c2237f1e29bca7890bf33f6b5056f860c2e39ede371a55b", + "app/src/main/assets/ANDROIDSVG-LICENSE": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30", + "app/src/main/assets/ANDROIDSVG-NOTICE": "2e61b715e3553494f46f43e5a88e8d26c56201e0558c8d5ab02946edb4f7dedf", + "app/src/main/assets/COMMONMARK-LICENSE": "11cfcf6da0142fb1971c1f40f5924ddded14454e2793d7f1dd87c9f4abe42dfd", + "app/src/main/assets/COPYING": "14609801e0e520dac851e75d993ca4c75c3842a3be468f6f7f04a16c03c824db", + "app/src/main/assets/GEMOJI-LICENSE": "7ea1d1fd0602e6623b9a65e791499a0ea5a2f5f60f91bfad78cbaeee19da26e6", + "app/src/main/assets/NOTICE.md": "c263e44ea9a845c4e4ec564eeca46ae0fc343f63ffd10685afbf74586647e0f6", + "app/src/main/assets/REACT-LICENSE": "da6d3703ed11cbe42bd212c725957c98da23cbff1998c05fa4b3d976d1a58e93", + "app/src/main/assets/RaycastRuntime.generated.js": "b306b45453cc8507037ff2822066475aae17def757a8ef72d4a4fc64c6494bb7", + "app/src/main/assets/android-runtime.js": "1b5dfa3f5b512f55322f27703bbebf15d1a8c4569c4c1712a6dd64541dd552aa", + "app/src/main/assets/emoji-catalog.tsv": "e49f1cc09c6f487a6e7b55590ecc171dcff390f720a9ce3820fe2038810d5d66", + "app/src/main/assets/extension-workflow-evidence-v1.json": "4e8adc22b7887996140190a999f1c7272556f2dd379d219c88e276e48aea0fa5", + "app/src/main/java/dev/tinycast/android/AndroidShortcuts.kt": "1738bc2fe26a117f3d00edddf2639cd49d118f9d91bd5f6eff86d6ee6804b68c", + "app/src/main/java/dev/tinycast/android/AssistantActivation.kt": "b5855f87a029362bd06a63136dea7a1572fff716d0c302056f2a3647d9d95560", + "app/src/main/java/dev/tinycast/android/Backup.kt": "97f09aa4c2cf7ef42473be8728be28cadd3f3ab14930a6804590c0544a7c104b", + "app/src/main/java/dev/tinycast/android/BackupUi.kt": "d13aabc798d7fb19746b09d28a38593792792b67e916824776413d2fbe82870f", + "app/src/main/java/dev/tinycast/android/CalculatorActions.kt": "e03e5645069dafb156556efac7bd465f632938f8a5a24a78be72dff0ee5d3947", + "app/src/main/java/dev/tinycast/android/CommandEngine.kt": "b6be72c82b19fb09e1bf44cd4dd4148b3dbb0c39098eb42f89e80f9ffa034f78", + "app/src/main/java/dev/tinycast/android/EmojiCatalog.kt": "4dd39955ec38adea02d0c1974ace2b33d86ae738efea0e59d3e62b9072c10b81", + "app/src/main/java/dev/tinycast/android/EmojiStore.kt": "f7f5dd63af030b9d179c70336f4b52789d23a318020b6f19ac0c24d20ba8cd8e", + "app/src/main/java/dev/tinycast/android/EmojiUi.kt": "5c63356a2a814c04aea44d1ef677e2b818a11ed0bd7e2b9f945f311a901d6561", + "app/src/main/java/dev/tinycast/android/FolderGrantTransaction.kt": "11361d342e1e1598c85b5ea630f174c3a4590cbfaf9b430a30fbea2b9686a5c7", + "app/src/main/java/dev/tinycast/android/FolderIndex.kt": "6f1b1617a39c0c6e954a1b9b4da0d0d6af3ab7eeac25f2619e299621eec83a99", + "app/src/main/java/dev/tinycast/android/FolderSearch.kt": "4fcf90368ed70b49c192ab1b92b6e367d0a61643f928245f8447f542e745b60d", + "app/src/main/java/dev/tinycast/android/FolderSearchUi.kt": "dad0f473544f8e459aa301ad8eb91ec7380cebbe572e3e2be3f94443585a75c6", + "app/src/main/java/dev/tinycast/android/FolderStorageCoordinator.kt": "ff5491baf9d81ff19b04b35e33a503fc1656bfee9d8eb066453fdbe7e0f83bfb", + "app/src/main/java/dev/tinycast/android/MainActivity.kt": "2bc08e693d69ba4668a675c42dbcabb507755f8e3daf9ee01eaf62fd5744efe0", + "app/src/main/java/dev/tinycast/android/PaletteActionCapsule.kt": "f7228cdd6b6988fb049f0aaf1048d69cc8489e802b4cc42a2b4d6f9e7ceea3e0", + "app/src/main/java/dev/tinycast/android/PaletteColumn.kt": "cd6cdc348752bcc20bd631e2216abdd4ee0c91d9606aaab62ce0c01a145dd6aa", + "app/src/main/java/dev/tinycast/android/PaletteDialogs.kt": "99055192ab85f645a9d9c77d96064b06bba2f1435de503bc45be8f56b4de2dc5", + "app/src/main/java/dev/tinycast/android/PaletteFooter.kt": "5b62c907b46e5075975fc22d01771f5ab7c7f53e433692de55d92865231e967f", + "app/src/main/java/dev/tinycast/android/PaletteFrame.kt": "bfbc139e01a4276770644d5f4c1242016839fd98f5e2f21fa8afb31c886bc763", + "app/src/main/java/dev/tinycast/android/PaletteMenuOwnership.kt": "0be25f335246b8e47bf07ea057adf2045a20f9db5bee90a396109adfa7426174", + "app/src/main/java/dev/tinycast/android/PaletteMenus.kt": "43bc24a46a1ea0bac20f096a7d5d5256250c1c1069e0990bc958881830533dd3", + "app/src/main/java/dev/tinycast/android/PaletteScrollHistory.kt": "84e26b8544adc069c9f86e3273acd2254e2189f1680dec592570a261cdf87602", + "app/src/main/java/dev/tinycast/android/PaletteStore.kt": "7434fd21d100108a267e5790ecb705f4ca76c5dd0c86cc5b14bd9644ed58f57d", + "app/src/main/java/dev/tinycast/android/PaletteTheme.kt": "7afa29642b2bda9c9f669eaf6cdefcb977d14417d313547aff1ff807f4e37471", + "app/src/main/java/dev/tinycast/android/PaletteTileService.kt": "6f29825b3560944aae77935bc3abfb6a53e9577735dc622bf80e5ea1a1fbad00", + "app/src/main/java/dev/tinycast/android/PaletteUi.kt": "af59fe802198cf9c3602ef8ee6ba1d3fbd3c2df3f31d60bece8ce30d3b0e45b5", + "app/src/main/java/dev/tinycast/android/PaletteViewport.kt": "7008b8535ec3e754450ce446f34b6d8e50e9b2f5a9de64f436583144f8dd83dc", + "app/src/main/java/dev/tinycast/android/RecentDocumentQueries.kt": "b60f5f6ac3458eb3659dd41aef01bcd20be9d59f3841ff0fa77c3eb6ee82c92b", + "app/src/main/java/dev/tinycast/android/ReviewedTextFlow.kt": "7daf246a7b8a608fe61e06f078bf3167c17df8f784f8779977ba6e87914526ea", + "app/src/main/java/dev/tinycast/android/ReviewedTextInput.kt": "ca681bb2c4eb91188a1550650bf5fb5f83569bf8ac954ab22abc0ce05ed17e73", + "app/src/main/java/dev/tinycast/android/ReviewedTextUi.kt": "5ded41175e114968aa1994c93ade551b21121db15c4a4a7ea5ff87deaff00d86", + "app/src/main/java/dev/tinycast/android/SearchClearButton.kt": "0d4b0bc74a48d1c2d13a62fcaec60adfa51c8966199ea71465dd3ecf40510229", + "app/src/main/java/dev/tinycast/android/SettingsActivity.kt": "6c8a09cf51abdfc1f61c305b17e613f7b40f9960168aad2fafebdc31155a3601", + "app/src/main/java/dev/tinycast/android/SettingsUi.kt": "55886d17261a019fcddac77f25e655896217dadd081db6da23a2e519a6bad35b", + "app/src/main/java/dev/tinycast/android/ShortcutReadiness.kt": "83a422a837edc657f1f3faf94c155019eae73f1abcc8761379dcb2051ceed505", + "app/src/main/java/dev/tinycast/android/ShortcutUi.kt": "394fadd7890bbb2dd5f851bd5a290ebf19ad4e05fae64c321e529eeccd35c632", + "app/src/main/java/dev/tinycast/android/Shortcuts.kt": "14e08d112e3cc5689a5717f68dce1334d3c2bf92f4a7cfbc2057fdc96418a9b2", + "app/src/main/java/dev/tinycast/android/SystemSettings.kt": "c5c1535d12627b975f8f582437e53d02b4110f4bfb185d5c8d1e9307debc319a", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionCatalog.kt": "4427ae6610fcf75bc8f7ddeec9b869ab5b6698c9042280f9f0efff7ea3422e1e", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionCommandLaunch.kt": "2b253982bfcaa9c2b04178fcd38a04492e450352a459bdf375abc7948e6950c6", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImageInformation.kt": "8a5d61b8f7d594933c6797d12c60f1888b4f4f4ad7de35a306c206406733b5e0", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImagePolicy.kt": "f393349926cd371a67e3e59af0d0eb4db66d124e035259622c5558efb0035529", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImageTimeout.kt": "16e0fb6b411c4cf30fcbcafc7df536f72da84c1a208f0ea47ba1a0b612d762a8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImageUi.kt": "6da7920fd357a8106015a8a6da6d085fd2b8ae2bf26269c4aee670c84f7b0af0", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImages.kt": "a87f8cf7d311baefd09c62f8a09e282764561bc2fe27b61abe0aec14d8c273f4", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailUi.kt": "15be7bc728b4fa72841db59a6e72e9acece275a5a6315d4ba6b19af22fc06f21", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionEmptyView.kt": "4ab1b0093364ad790235b666fc70ec2642bb40692f3ce7fdb830e6bc514c61dd", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionEngineCompatibility.kt": "36a9b4b35d22bc364ecb1f46d2d9f029e3807315a2d35d2fd231b2a86e8b49c8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionEngineUi.kt": "6972248240f701edcc038ce70428dfd1a716e40894d616918469af3270aaa9cb", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormContract.kt": "6eba4aa3f33b19d4c452212b3bbb33c8ac0cbb8ae8e61963867e83094d6778ed", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormDateUi.kt": "e052fc6c27a78ac0df119c954f7ef43f720ce8ab72462bb712832b6dfdeae18f", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormDocuments.kt": "1071c99bd42ec6265991731022662729fd1ccc0269fee924b229f9ab8c2980fc", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormFileImport.kt": "c91ee69d460190918ee649a61a340429ac0478a59ab5e7ca824db8c17d1f5d00", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormFileUi.kt": "4241a498c65c255db94f833038a1f86a8cb06f27b4cecb3838cc20e953262b01", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormPickerBackdrop.kt": "dff8e4e37d38c1387bfd221f6c43c29272abfa144fff34ada0a0734a9c0f946d", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormSubmission.kt": "7f89b0ef7216cafb22c72a636b3b2998e5d71c9933bcd87d7c65a25b9a2bd9d8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormTagUi.kt": "509187d014c00ca027720e16d22934686d1c0491f10e5e151a27b574cde86a96", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormTypedValues.kt": "bd6b1c9b3e45101715916ee145ad41cfb1b74e206ae733f97d375c119f86af97", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormUi.kt": "bdb8f813a82e1e1860ebb08047b4a449a440ffe6d2a005d97c06debcbf4438c2", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionGridImages.kt": "777de62995b645310418d2f0da8adf87c450d8b7459d1c9abab0e9a02ce84258", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionGridModel.kt": "5b104c726a950f09a7cf890a14c0e4e654dfe8f5ea8b1b41468a0822f42a2f48", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionGridUi.kt": "c66cd6ee6d29cd2cc43d45ddbdc15f175ac5a5a39b332736b4cbddecdbf9e6bf", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionHttp.kt": "88ed57ca318c3e0c45e50f85e3157692d479bdae9636127869556cfb553abfe8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionLinks.kt": "cebfba7010fd2a20423527f8025413c21257ecd8e97ddc0dcb321b1c74db71f1", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionListUi.kt": "b02b632904d5d6be8f7b967cd10ccbc72d7e3d8fff3caf66c4fb444bce7de136", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionMarkdownModel.kt": "723a518700e335179c296e8b9b05ae9a899c8aaf93b8ca02b76476a46879d6ea", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionMarkdownUi.kt": "54d1b8dc6b09e55a7b0adf7d23903c9fb97551673a5695196e2e6f89259e304d", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionMetadataVisuals.kt": "882b7080d8f46cc9c9e2fd96fd1cc5cb0565cbb282bf3b04cad1c31b77a32290", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionPasteCopy.kt": "3ee4dfbb356c6ec02f50d8d525ca805c0d21468f49529b002e054ff9c03c71b8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionPayloadIdentity.kt": "66037b60818bc4941f58551e6c1401c18641a6da43f9f2477db9c9f7838e29f0", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionRuntime.kt": "8df6a1a357a7133ce451930cc174b7382d70db75906724358ae40db664f6402e", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionSelectionDelivery.kt": "f13388787b615343c214a861a619bdba88b6327dc939365a130e9e799169c397", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionSvgPolicy.kt": "1bed94b2ea8e6d2475526a0ed83d85724e32893fafc8b27bd8f2b58a95cd868a", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionUi.kt": "009e3b23953be18ae09c76a849dd6ce3943dff6b4f2d4b40d846385044851b3f", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionWorkflowEvidence.kt": "98f65f5dbe1578b11fbb20d80f477a63b03659f7b11b1a7a6f526a4d6fe94379", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionWorkflowInspection.kt": "650fdb495d2e1e0ab5331fe8c517baaaffcfe7d15e7f56b5b3f6247a650d01ed", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionWorkflowUi.kt": "93e9af8898ccce7fa1ab8169f08926b1d9fa95ba5657c517d7224f9356488c3d", + "app/src/main/java/dev/tinycast/android/extensions/NodeCpuInfo.kt": "eea176a7259e8f3736878886350610a84a23a6d2799f5337f5c8b07a8fefa398", + "app/src/main/java/dev/tinycast/android/extensions/WeakValueTokens.kt": "5c4d6f5c5b0d7170b554091e1b9cd9d551119ea60d7fe7f03946eb70f498c34d", + "app/src/main/java/dev/tinycast/android/updates/AppUpdates.kt": "63ace29d7dc29e005ffbbdde31cbac4e1d923732604b1e43e6a4db8a3285b508", + "app/src/main/java/dev/tinycast/android/updates/UpdatePolicy.kt": "350a9142ebfc663cd4a0c982ab220fb5f1e3399bfb3207c980ea20fd4c5c4e6e", + "app/src/main/java/dev/tinycast/android/updates/UpdateSource.kt": "aa860f14bd3a9f39e19899f1927fb7a790c54bb4f2704651253d8f867bb3c100", + "app/src/main/java/dev/tinycast/android/updates/UpdateUi.kt": "0bceb6a4221787a58dfb14ee1bcdcd266388720ca8862bd705cfeb10cfe52457", + "app/src/main/res/drawable/ic_launcher.xml": "104e38ffdf3214de23909b7896392f4a974e4fcbcc778c447d5d7a9ce56380af", + "app/src/main/res/drawable/ic_palette_tile.xml": "e063a6c4a1a25d6717a31bc355543d76c7d1babf8e9556e68b1b5e6a2b860748", + "app/src/main/res/values/styles.xml": "de4ad14f9ef41aaa4ffc824af155831579fa1194af5055edd112efee5042f5e1", + "app/src/main/res/xml/assistant_service.xml": "1e9e560563a7d0260fc83126d3a9bf027bf6357adfc811b43bc3224290c77ddf", + "app/src/main/res/xml/data_extraction_rules.xml": "cb4d1da1c1bd38761a9a08cc4d8d1b55839fcc14a6e19badb653f75b23c20eca", + "app/src/main/res/xml/keyboard_service.xml": "b1839c96988c03fea26ce4ed5932b1315013f3d2c16165993afc17368ab7bdd4", + "app/src/test/java/dev/tinycast/android/BackupPlannerTest.kt": "12a55d3644b5094b84cad2e88a5432738021fc8d7c59c232d4e5fc4c2c9a1454", + "app/src/test/java/dev/tinycast/android/CalculatorActionsTest.kt": "e803682a82b89c9703fcfbcbb82424eafef6bae6a13092953a3dc2c877816509", + "app/src/test/java/dev/tinycast/android/CommandEngineTest.kt": "65d9d198e8e1a188e4dcfd5551ced8f558f87a106f42b1d02a1432e8d6b7c234", + "app/src/test/java/dev/tinycast/android/CommonMarkPrimaryConformanceTest.kt": "ceb2ca14cc003385533bdd73b8beefffe92740887537b74c2146160621a23fcd", + "app/src/test/java/dev/tinycast/android/EmojiCatalogTest.kt": "9d70ef96696215e14e561d73f5a41f0b1a8272c3b58e5ad5a8438c31bc53aaa5", + "app/src/test/java/dev/tinycast/android/ExtensionCommandLaunchTest.kt": "f45df47e1740873ed7e771de72a650d9df88cd31bbcf2fd3abf67e3999700291", + "app/src/test/java/dev/tinycast/android/ExtensionDetailImagePolicyTest.kt": "7ec37a8870b70e3df0e3110f8b60ccc94185fedeaf1c39c76a00485dd4ca37d5", + "app/src/test/java/dev/tinycast/android/ExtensionDetailImageTimeoutTest.kt": "839216fc2d395cbd171676f32bfe77b894730a29a12127ec916c1d88b18dfb3d", + "app/src/test/java/dev/tinycast/android/ExtensionEngineCompatibilityTest.kt": "af9e76d4f6e7a6f193603f2db0169c95c7aadaca842d430c6178874f62840b1f", + "app/src/test/java/dev/tinycast/android/ExtensionFormContractTest.kt": "432d658e2a177312105e2ec86db2c59d0625086e86464a7ff946acb61c07e283", + "app/src/test/java/dev/tinycast/android/ExtensionFormFileImportTest.kt": "784f5b78f1dfd0d23ca653b36fc59bd13cba42e68c708c499678ac1ce474b673", + "app/src/test/java/dev/tinycast/android/ExtensionFormSubmissionTest.kt": "4bbdd8068cd95c314f7cf7aa156c7928cd815c5da11ef5f2cab1b4c5d23dd7d5", + "app/src/test/java/dev/tinycast/android/ExtensionFormTypedValuesTest.kt": "3a485a387e1527163d4318c3f0863b743bff02fe4e485adfff490d95cd554395", + "app/src/test/java/dev/tinycast/android/ExtensionFormValuesTest.kt": "6bc5bc8caaa5763e12dc3136bbba1d99249db10387c163cb1efeb0ae03f09d2a", + "app/src/test/java/dev/tinycast/android/ExtensionGridContractTest.kt": "50681a34c624a01867f287c66523d653e1931cf759f5e2926dda60feb85fa2b3", + "app/src/test/java/dev/tinycast/android/ExtensionGridNavigationTest.kt": "94ffe218ed5f9411210c2599db2a10dcd20c1a94655ef53e8cac1c574318b68f", + "app/src/test/java/dev/tinycast/android/ExtensionHttpTest.kt": "76917bbbdcc33dcc90d9b152d5a3e478fd981139e1df1d9edc0916e4f81b8e76", + "app/src/test/java/dev/tinycast/android/ExtensionMarkdownModelTest.kt": "fbeee6a80280ec27b660cc53222ef42f0e9ff5f5ce7ec5e02dede9d6b1c9222b", + "app/src/test/java/dev/tinycast/android/ExtensionMetadataVisualsTest.kt": "6f8653f4ed71138ac4fb0353e427d5b6775f54ec3600177ec6eae49dbc81598e", + "app/src/test/java/dev/tinycast/android/ExtensionPasteCopyTest.kt": "582ebddff12c96a504dd12a502ca851fc5d037e92f1d3ce98240eb162002b3bc", + "app/src/test/java/dev/tinycast/android/ExtensionPayloadIdentityTest.kt": "f59183b3224aab2923d9eb1ae598d1fa5cd2598b9ba80fc9a0db135005ae4e04", + "app/src/test/java/dev/tinycast/android/ExtensionSelectionDeliveryTest.kt": "1ea1e17cf0ea43fa3418a61f71587dbee9ec341b288d17fdaba3c5d3d8da4cb7", + "app/src/test/java/dev/tinycast/android/ExtensionWorkflowEvidenceTest.kt": "cf1589d69a498166b5a5fddd45135cf5b8575ec1d42f13ed4e2927b062b966fd", + "app/src/test/java/dev/tinycast/android/ExtensionWorkflowInspectionTest.kt": "043617c0cb943d76ebcdb5d0cc5bcdcda300069827b9b87a7425a16d084c1255", + "app/src/test/java/dev/tinycast/android/FolderGrantTransactionTest.kt": "ef710edc4ed1eb45782f90c385bc73305217f26882b630cd3e79ee93c59ef118", + "app/src/test/java/dev/tinycast/android/FolderIndexTest.kt": "bd371b19d1678ea876889cfb25505d690a4296c37d042e4cabd38bc7c7e4eff4", + "app/src/test/java/dev/tinycast/android/ModifierTapTest.kt": "bc0f6191ef2837018ca33a71010c1582cd39d0b3713c55acec4f91406a74d4fd", + "app/src/test/java/dev/tinycast/android/PaletteMenuOwnershipTest.kt": "c3134a62d61b5cd7ed810b867a6b40219713f21b798fabf6e659129cfab55506", + "app/src/test/java/dev/tinycast/android/PaletteScrollHistoryTest.kt": "b1610e3c3818e5823f99ded35bc36325042da250cfd48d98c0d6381066cfad5f", + "app/src/test/java/dev/tinycast/android/ReviewedTextInputTest.kt": "4bff225dd9fc1963736ad1f992e3eda3ffff21554c3ebef63d25acfdb41a29f3", + "app/src/test/java/dev/tinycast/android/ShortcutReadinessTest.kt": "45d32b02d4f89f857867d2585f3f5968251e9580edd34d9312bbfc158adc12e1", + "app/src/test/java/dev/tinycast/android/ShortcutTest.kt": "ae8034901d8ca73d704d40992b85ed43a64a021a078ff4eb5b2b853c4f398610", + "app/src/test/java/dev/tinycast/android/SystemSettingsTest.kt": "cdfc38bed12779bb92b0ddaeb79d197733243b24da43ab89d8580ecfd1f1fb51", + "app/src/test/java/dev/tinycast/android/TinycastGridParityTest.kt": "df6ca13f0f0a1e4bfa1f0085e274ed87457a6aa1a69492afa1041128af99c5e3", + "app/src/test/java/dev/tinycast/android/UpdatePolicyTest.kt": "d87ee4f7d6aa7b39b998267bd4d042d0b494ec6a1280d18860f262355c25cbe3", + "app/src/test/java/dev/tinycast/android/WeakValueTokensTest.kt": "ced7bf72628d5dc18fc5fdd30a81e58bb4b4b7f40e4e8c7eb0e77500f7c73566", + "app/src/test/java/dev/tinycast/android/extensions/NodeCpuInfoTest.kt": "5f3a7aae9b24435a4dbca77f9132a4b203ea736b1c76fc9108a51251983c2797", + "app/src/test/js/android-fetch.test.cjs": "2842effb321a11a33816f176f3300cd27a61c1e2ac70c4ed32681d46a129e56e", + "app/src/test/js/android-form-focus.test.cjs": "dd065271386dfdb2552caef1ae6e0c6f30e32783571abd85be328b9864bff8b6", + "app/src/test/js/android-form-submit.test.cjs": "7cbbb553dc2e657951b9195593b11add03597adad2710b4daa3e2cb807f87334", + "app/src/test/resources/commonmark-0.31.2.NOTICE": "610241b963a1a958c9465d99ec3f5778e7c6ef7251f9e119fed4c306b51641de", + "app/src/test/resources/commonmark-0.31.2.tsv": "dc27be954caac0ed8961299ca581a62aa4c68312091e68e52ab1e2bfe6aa5f5f", + "app/src/test/resources/extension-payload-identities-v1.json": "e451cf6b8efa208708db43dcb3a0545db1e73c610b72f488203fb4f147a490ab", + "app/src/test/resources/tinycast-grid-navigation.tsv": "da620f314fc39300beb7a11436715809ac1a9fd230fa4640c7f4f9c34b69aaf7", + "build.gradle.kts": "780d597cbe0f80d0103221a566db7574d1e07b17adca5bdbe7d6c728d77df12a", + "gradle.properties": "e43a00491832254a35cf5a979ef6de17f78c4e159d446be39319d2e3d3e46325", + "gradle/wrapper/gradle-wrapper.jar": "55243ef57851f12b070ad14f7f5bb8302daceeebc5bce5ece5fa6edb23e1145c", + "gradle/wrapper/gradle-wrapper.properties": "13287ffad6cf3064056ddad80d95b855132348930b2dc6c91490588c55b3ac7d", + "gradlew": "aed171fb114f82e6eaea4970a245a200e0582a7dcc8ec0891ca41b6e4a62b754", + "scripts/android_test_cleanup.py": "1f4a1d70d251ec0a8294932388ce881da144c9c7d1c05df54df2c5b246d46373", + "scripts/test-webview-engine.py": "6df86c7a7d150331e4df7ce467977e7ba053f0fc7494b160c0adaba57d9c1cf4", + "scripts/tests/test_webview_engine_runner.py": "846ee3b34578f92bd3f728eac4044c5ef4481478e3ec9d744e848e0094119168", + "settings.gradle.kts": "6a8db88135b364d8bd2facb607fc4e9e9476c171d2b7f7f3a0892c57a9ee6487" + }, + "apk_sha256": { + "app-debug.apk": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "app-debug-androidTest.apk": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6" + }, + "zip_payload_sha256": { + "app-debug.apk": { + "META-INF/com/android/build/gradle/app-metadata.properties": "75bc66260aeed5c7da9ef86b1ee98fe13298d9dd0bc438ee5a963d5eb224f68d", + "classes.dex": "02040ff106a54d6dd8ed10f6192541cb671f62f166bf413798e0fca382d390b4", + "classes2.dex": "21fe524b9ec548ac16c1cd9813dee74787a7fee1b5bd0a7719f0a9807c43a39b", + "classes5.dex": "2b4eaca1be7a4156ef80f400b13d93c8a8f82de2b4f61ffbd2ea2080bfa20788", + "classes6.dex": "4cb87f7ace7c665d16755b3466eca73c87cc7167104d4b901b704bb2a4c9d30b", + "classes7.dex": "04459089f64d575513ce6b9ed9fdcc3cb12fb2817ed84a2b73e8b0d3f0392f68", + "lib/arm64-v8a/libandroidx.graphics.path.so": "41e9a793c43a0f4fddb19e33f346bace464f30f888ba7b9eaf96294ea115bfb6", + "lib/armeabi-v7a/libandroidx.graphics.path.so": "41399eba6fc2a60f6f14642375c1824f3cf25eb8fec7397d753730a3ceda3e2b", + "lib/x86/libandroidx.graphics.path.so": "eb0570b41fd3bff25d8204a967c03bd7550719e768b791f680cc40cbe35f29af", + "lib/x86_64/libandroidx.graphics.path.so": "4e56c996f13670e70082658de7880c4020eabf4f25e43387f88ed78a713fc9f0", + "assets/ANDROIDSVG-LICENSE": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30", + "assets/ANDROIDSVG-NOTICE": "2e61b715e3553494f46f43e5a88e8d26c56201e0558c8d5ab02946edb4f7dedf", + "assets/COMMONMARK-LICENSE": "11cfcf6da0142fb1971c1f40f5924ddded14454e2793d7f1dd87c9f4abe42dfd", + "assets/COPYING": "14609801e0e520dac851e75d993ca4c75c3842a3be468f6f7f04a16c03c824db", + "assets/GEMOJI-LICENSE": "7ea1d1fd0602e6623b9a65e791499a0ea5a2f5f60f91bfad78cbaeee19da26e6", + "assets/NOTICE.md": "c263e44ea9a845c4e4ec564eeca46ae0fc343f63ffd10685afbf74586647e0f6", + "assets/REACT-LICENSE": "da6d3703ed11cbe42bd212c725957c98da23cbff1998c05fa4b3d976d1a58e93", + "assets/RaycastRuntime.generated.js": "b306b45453cc8507037ff2822066475aae17def757a8ef72d4a4fc64c6494bb7", + "assets/android-runtime.js": "1b5dfa3f5b512f55322f27703bbebf15d1a8c4569c4c1712a6dd64541dd552aa", + "assets/emoji-catalog.tsv": "e49f1cc09c6f487a6e7b55590ecc171dcff390f720a9ce3820fe2038810d5d66", + "assets/extension-workflow-evidence-v1.json": "4e8adc22b7887996140190a999f1c7272556f2dd379d219c88e276e48aea0fa5", + "res/color/vector_tint_color.xml": "4bbb4ef3e0e3db260a05d794047a1765e420d699ee5673e90b57ff682a2fe34e", + "res/color/vector_tint_theme_color.xml": "cf34dc5bdb4a6d1568143e115ac4e34448383ac772862ef0fdbb7fe8936c6dd3", + "res/drawable-anydpi-v21/ic_call_answer.xml": "5f6376dfe199d8a6e40033d3e623989d052c9b2f974d00c824fbb8b76fc6fde8", + "res/drawable-anydpi-v21/ic_call_answer_low.xml": "8f9acacabaf2dfb4bb53dab7ce7bec9c1451ce0a0219ffaa41760ea82da3d2d6", + "res/drawable-anydpi-v21/ic_call_answer_video.xml": "5d4cdaae5838ad9442c085f951b766b2808bff13b8c85a14e0bcf8571514492c", + "res/drawable-anydpi-v21/ic_call_answer_video_low.xml": "4a959580080ebb1d822a2459a4234d2abf0dd0b65d9c28bda8c258dafc888c51", + "res/drawable-anydpi-v21/ic_call_decline.xml": "2d825b79cce60203492ff09a04826db0ac8d9eb9bc0fb9fb139ae1aa5cde0f67", + "res/drawable-anydpi-v21/ic_call_decline_low.xml": "c8321364802409baf4d76e2a84e303871585bdc95b0395040c5ecea0e2051105", + "res/drawable-hdpi-v4/ic_call_answer.png": "5c80d88a7b82ef5833255bf70ff1c26c3efb2a92ae90cac222f3200f59e0b1ea", + "res/drawable-hdpi-v4/ic_call_answer_low.png": "5c80d88a7b82ef5833255bf70ff1c26c3efb2a92ae90cac222f3200f59e0b1ea", + "res/drawable-hdpi-v4/ic_call_answer_video.png": "6adcfc9dd1e1b82b985d223fc8a01c8e8f0dd3b9051d38062674b2380af79a50", + "res/drawable-hdpi-v4/ic_call_answer_video_low.png": "6adcfc9dd1e1b82b985d223fc8a01c8e8f0dd3b9051d38062674b2380af79a50", + "res/drawable-hdpi-v4/ic_call_decline.png": "12ec9f9ad5fa3d7d897114af6c2297b66f31cb056e43daffbe80d23f6f66396d", + "res/drawable-hdpi-v4/ic_call_decline_low.png": "12ec9f9ad5fa3d7d897114af6c2297b66f31cb056e43daffbe80d23f6f66396d", + "res/drawable-hdpi-v4/notification_bg_low_normal.9.png": "21f0b55280be10b187ceff8edef4a5a7047683e6e9fcf47de410aa3839f41094", + "res/drawable-hdpi-v4/notification_bg_low_pressed.9.png": "42aee0b03883e94df5e543348a397d1302c1b8221895871a83b81899f5a9647b", + "res/drawable-hdpi-v4/notification_bg_normal.9.png": "0c6328c7b2420570a7ec38b3beb3bac9a29d895ac1ab7239315aba7266418593", + "res/drawable-hdpi-v4/notification_bg_normal_pressed.9.png": "18b328d8017e677d5aad3dbd66bae356b5cac978c6f0670938ea648e51d0eb66", + "res/drawable-hdpi-v4/notification_oversize_large_icon_bg.png": "aa00088d0d9fd97bd92ed9ffd29b54bb69a48a984aa73448ce553fb9d812be41", + "res/drawable-hdpi-v4/notify_panel_notification_icon_bg.png": "8430ec003e003f3f2ba2f78d48fd150e25407667e530e82e87a7d4841c0fd676", + "res/drawable-ldpi-v4/ic_call_answer.png": "6d34a8bb29be26e343781603588506f33bd1b93732a1c1bc9fd84678aa36b178", + "res/drawable-ldpi-v4/ic_call_answer_low.png": "6d34a8bb29be26e343781603588506f33bd1b93732a1c1bc9fd84678aa36b178", + "res/drawable-ldpi-v4/ic_call_answer_video.png": "66356f564f051a568e25071f60da312c418309f9129773aceb2246773458681c", + "res/drawable-ldpi-v4/ic_call_answer_video_low.png": "66356f564f051a568e25071f60da312c418309f9129773aceb2246773458681c", + "res/drawable-ldpi-v4/ic_call_decline.png": "a18cdaaf3742b1a3d4f484fa15d00fa34afb21495884301aafa3213338661ed6", + "res/drawable-ldpi-v4/ic_call_decline_low.png": "a18cdaaf3742b1a3d4f484fa15d00fa34afb21495884301aafa3213338661ed6", + "res/drawable-mdpi-v4/ic_call_answer.png": "f2ff62f473d8a5e00a8b6c81c15be9a0536471c3d5a81e37d04bc3356ea81ca0", + "res/drawable-mdpi-v4/ic_call_answer_low.png": "f2ff62f473d8a5e00a8b6c81c15be9a0536471c3d5a81e37d04bc3356ea81ca0", + "res/drawable-mdpi-v4/ic_call_answer_video.png": "6306048ba5f7eca43e7bdadeefa9412180508486fd543e02de93d2a013e223f0", + "res/drawable-mdpi-v4/ic_call_answer_video_low.png": "6306048ba5f7eca43e7bdadeefa9412180508486fd543e02de93d2a013e223f0", + "res/drawable-mdpi-v4/ic_call_decline.png": "7e87b3e0229126dc3c2bdaddcd8f330f3bb5f7613a05024c3cd6445dd161f788", + "res/drawable-mdpi-v4/ic_call_decline_low.png": "7e87b3e0229126dc3c2bdaddcd8f330f3bb5f7613a05024c3cd6445dd161f788", + "res/drawable-mdpi-v4/notification_bg_low_normal.9.png": "2f7fbda0ba6e53e9a47e2fc0e24e32c447c613a5808c2d6285dc651e83a07ad7", + "res/drawable-mdpi-v4/notification_bg_low_pressed.9.png": "e17761ed280edd93d7141bd504b70f9e9e15a8652288d9e6333bf4ce964ef844", + "res/drawable-mdpi-v4/notification_bg_normal.9.png": "a8676a1793ac8310ffb12986232df66df092d29c242aeedc2b73556c010d38dc", + "res/drawable-mdpi-v4/notification_bg_normal_pressed.9.png": "99c14d6855b8be296d58017d3751b8dc849c47b6d1d80ab614ff9075080e461b", + "res/drawable-mdpi-v4/notify_panel_notification_icon_bg.png": "0d773e62c756422313262846c787e58f67e0ee87e45e1ae9942002e816c4cb9e", + "res/drawable-v21/notification_action_background.xml": "2f768c089cefa18cf7f1fde7f602410bf38998de5f9073a15ea83106c25e3c30", + "res/drawable-xhdpi-v4/ic_call_answer.png": "e64c2e57627e24ec1ed37e67344c2bf31d1d6bdd2d8d715840c1edf0bd1425b6", + "res/drawable-xhdpi-v4/ic_call_answer_low.png": "e64c2e57627e24ec1ed37e67344c2bf31d1d6bdd2d8d715840c1edf0bd1425b6", + "res/drawable-xhdpi-v4/ic_call_answer_video.png": "5d02a81102644428ca639aec3df626eeb4a839a9ddc76fc2b158b04461d7f00f", + "res/drawable-xhdpi-v4/ic_call_answer_video_low.png": "5d02a81102644428ca639aec3df626eeb4a839a9ddc76fc2b158b04461d7f00f", + "res/drawable-xhdpi-v4/ic_call_decline.png": "9a9a30c305022a2f8e075d2ed7d33f5c7711bba8d0d0385511fdb62f89f208e3", + "res/drawable-xhdpi-v4/ic_call_decline_low.png": "9a9a30c305022a2f8e075d2ed7d33f5c7711bba8d0d0385511fdb62f89f208e3", + "res/drawable-xhdpi-v4/notification_bg_low_normal.9.png": "3e09afa21c45372c035598c017c8fb405a6d678e6cb84dc857581cb3b40e482d", + "res/drawable-xhdpi-v4/notification_bg_low_pressed.9.png": "20343222f9f79dd565c3a2248494d452e70820ac1c437173c38badd45f962afd", + "res/drawable-xhdpi-v4/notification_bg_normal.9.png": "559bf783d765c02338e97952bdc9c6689c7ff99090b8c9813369118da8b080f0", + "res/drawable-xhdpi-v4/notification_bg_normal_pressed.9.png": "d27af435101ca4cbec0c840bd30687918cd39eb83aab1487420855623a45998b", + "res/drawable-xhdpi-v4/notify_panel_notification_icon_bg.png": "b44eeda34d7a529c2fe55719eb098fa29707caa91d18de06a7a775d6e6bcf973", + "res/drawable-xxhdpi-v4/ic_call_answer.png": "86763a30af2a934c7c13b123b36443d1d17918b71c6149bc6ee80115b872593d", + "res/drawable-xxhdpi-v4/ic_call_answer_low.png": "86763a30af2a934c7c13b123b36443d1d17918b71c6149bc6ee80115b872593d", + "res/drawable-xxhdpi-v4/ic_call_answer_video.png": "ca48f604262f2b4ef8b100c73130efe2ad33ef8c2a2c1b3516f24f51b7b04665", + "res/drawable-xxhdpi-v4/ic_call_answer_video_low.png": "ca48f604262f2b4ef8b100c73130efe2ad33ef8c2a2c1b3516f24f51b7b04665", + "res/drawable-xxhdpi-v4/ic_call_decline.png": "87adad32e0ec19c4e920420bf3a06c9f94f6128ed0d866a1891628aeab2cef06", + "res/drawable-xxhdpi-v4/ic_call_decline_low.png": "87adad32e0ec19c4e920420bf3a06c9f94f6128ed0d866a1891628aeab2cef06", + "res/drawable-xxxhdpi-v4/ic_call_answer.png": "ec698a3217bce74d8bc4a44bb008f2dbd3d1aebff1af1e9641805143dbf9fa87", + "res/drawable-xxxhdpi-v4/ic_call_answer_low.png": "ec698a3217bce74d8bc4a44bb008f2dbd3d1aebff1af1e9641805143dbf9fa87", + "res/drawable-xxxhdpi-v4/ic_call_answer_video.png": "4c717ce1ffb551c765981add65d1956132d8f522337de2866b045f0a60485426", + "res/drawable-xxxhdpi-v4/ic_call_answer_video_low.png": "4c717ce1ffb551c765981add65d1956132d8f522337de2866b045f0a60485426", + "res/drawable-xxxhdpi-v4/ic_call_decline.png": "ab73b729bb95878120a3bdc8dc915f3aaa1d7070fc644a0de64d40941ad507ed", + "res/drawable-xxxhdpi-v4/ic_call_decline_low.png": "ab73b729bb95878120a3bdc8dc915f3aaa1d7070fc644a0de64d40941ad507ed", + "res/drawable/ic_launcher.xml": "65a462fe84c64e76de6f6999e09b195ca227a5232453356a4743a17dae08882f", + "res/drawable/ic_palette_tile.xml": "099260576b37718ecf049e1405bcb60d989584dda8710e0905dd00d97edb3440", + "res/drawable/notification_bg.xml": "65ef0869565cde9539d285ee8b5e0156e4ba3bfc7fde288b3d78a96ead8bed62", + "res/drawable/notification_bg_low.xml": "a349184bd1ffb192438415fa98cb2ea5b9294a656d6f276f365b9b2753552777", + "res/drawable/notification_icon_background.xml": "b143ee7fcbba209f17607a720502d755f085ec75380ad6fbd6f99de6583f0a40", + "res/drawable/notification_tile_bg.xml": "42fb6470d6c3d395ab726d928ca23ba8573011a646b7475a89c9b17ec8c0f9bb", + "res/layout-v21/notification_action.xml": "e07d16d0717fb7a1f030dd43f76be647125f9abd78ebcee3bbd861b8df02fe90", + "res/layout-v21/notification_action_tombstone.xml": "c2f8eb9372d806f5f6532e507f4e5767091f681f7d2e9b7f5a64d134e6ed7717", + "res/layout-v21/notification_template_custom_big.xml": "2bcb3cb25a65b175c9880f60411239a019c2ded7cbaf3701d3650ebd1fd971ea", + "res/layout-v21/notification_template_icon_group.xml": "97d5723ad66c683d88d57918e197cb33d2dc1628aa77299e42e132622c2c948e", + "res/layout/custom_dialog.xml": "edd4e27b3f2407a02248205a2eb50288170e4201249bfeac074749ea60390103", + "res/layout/ime_base_split_test_activity.xml": "37ff040591f96786bfaf9d3d937fedf2f2f97e218c06beb3e7fe8a2442a181a8", + "res/layout/ime_secondary_split_test_activity.xml": "0034556846afe7278a6d1264855405a0c3ae65a81a6a05f9ba4dc0136a589685", + "res/layout/notification_template_part_chronometer.xml": "8bd30447bb9347f4c3dd38ff034f141000c7a952ac25760fc8a0c67f76b5bdb7", + "res/layout/notification_template_part_time.xml": "a8664275b4a0fad8ac25724d8d577fb5cd98c4e99a24fc362dbb56fb960aee84", + "res/xml/assistant_service.xml": "461b22a285e6d4cc97c23a8aa9f13802c16f20eff91d1ce1ca4739a527b6c99d", + "res/xml/data_extraction_rules.xml": "1d2dc5515fa0bfac79b6a028056f23ef2e9fd0c9091c9b13c15b52b78a751ab0", + "res/xml/keyboard_service.xml": "688f6294b5c093499f1253d5eb72c5fef80324d0c7e3bdcdff193c8ad9e851e6", + "resources.arsc": "5f13aba27cdb9bef26e38933801042374f3cba444e3fa3c145c99166eace2fb2", + "DebugProbesKt.bin": "ae8a082dd609313835ba93c3ef479a3af9903977d7bdc81df45bbd209ec7d0da", + "META-INF/LICENSE.txt": "523bfd872d038632d258f340a482d067a10e8d82b8e8ff3081755c5f8ccc1658", + "META-INF/androidx.activity_activity-compose.version": "118705d21506adb8d7c06a51156bb59497679f644fb4ae3d14bbbfc366643124", + "META-INF/androidx.activity_activity-ktx.version": "118705d21506adb8d7c06a51156bb59497679f644fb4ae3d14bbbfc366643124", + "META-INF/androidx.activity_activity.version": "118705d21506adb8d7c06a51156bb59497679f644fb4ae3d14bbbfc366643124", + "META-INF/androidx.annotation_annotation-experimental.version": "7d072b48526b023950e4c48db01e8c273554a6401119f5691e7589ba9bc65d9d", + "META-INF/androidx.arch.core_core-runtime.version": "1b7c606370188534dac5561fba2b2988093829697fce9e6e8832e9291d24ed00", + "META-INF/androidx.autofill_autofill.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03", + "META-INF/androidx.compose.animation_animation-core.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.animation_animation.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.foundation_foundation-layout.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.foundation_foundation.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.material3_material3.version": "10e2e117b01523891ca271a615ae36e9d5e52348fd7d642f66727602c1b8dcbe", + "META-INF/androidx.compose.material_material-icons-core.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.material_material-ripple.version": "bb7320d831e7a151aa901c35e7326c752fa2ef5024f30768c42319b8bed171ed", + "META-INF/androidx.compose.material_material.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03", + "META-INF/androidx.compose.runtime_runtime-saveable.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.runtime_runtime.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-geometry.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-graphics.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-test-manifest.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-text.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-tooling-data.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-tooling-preview.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-tooling.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-unit.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-util.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.core_core-ktx.version": "ca0bc79c4cde0ad64e1ec9df2882425197b5ba85704a4ac6bd67f8f99936eb25", + "META-INF/androidx.core_core-viewtree.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03", + "META-INF/androidx.core_core.version": "ca0bc79c4cde0ad64e1ec9df2882425197b5ba85704a4ac6bd67f8f99936eb25", + "META-INF/androidx.customview_customview-poolingcontainer.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03", + "META-INF/androidx.emoji2_emoji2.version": "64d23f858ef51b0f996e4966d4e27c0371b437e2d2787890b1f7ad22d4ec5663", + "META-INF/androidx.graphics_graphics-path.version": "44e161e4495cac2cf7858043e9e6418e9579f0ddcfae826f9a372622968ce066", + "META-INF/androidx.interpolator_interpolator.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03", + "META-INF/androidx.lifecycle_lifecycle-livedata-core.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-process.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-runtime-compose.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-runtime-ktx.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-runtime.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-viewmodel-compose.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-viewmodel-ktx.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-viewmodel-savedstate.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.lifecycle_lifecycle-viewmodel.version": "f48da3d32b75f2a1f076aeb96afbffb54ee311bb42e7ff5952e818b275a60368", + "META-INF/androidx.profileinstaller_profileinstaller.version": "78b591400c56b7b67b8cb3b2b8a8e65e9093897f02ce0878e6b5405c68620fa7", + "META-INF/androidx.savedstate_savedstate-ktx.version": "6cf4e084b47f33c9b02ef79279d157833868f8f70514169a768be353ee328fea", + "META-INF/androidx.savedstate_savedstate.version": "6cf4e084b47f33c9b02ef79279d157833868f8f70514169a768be353ee328fea", + "META-INF/androidx.startup_startup-runtime.version": "cc52f678848b814373757b460383bf61960e4943c203735adde0a350b3e50989", + "META-INF/androidx.tracing_tracing.version": "59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03", + "META-INF/androidx.versionedparcelable_versionedparcelable.version": "cc52f678848b814373757b460383bf61960e4943c203735adde0a350b3e50989", + "META-INF/kotlinx_coroutines_android.version": "179f9b723b6508aa1d6ce99991e8cd549ca819ee1b9b6102396c47815beffaaf", + "META-INF/kotlinx_coroutines_core.version": "179f9b723b6508aa1d6ce99991e8cd549ca819ee1b9b6102396c47815beffaaf", + "META-INF/services/kotlinx.coroutines.CoroutineExceptionHandler": "3129b8edf6db07de6f8ff47695e2177c8bba4eed2962d3085c719e5acbb58a33", + "META-INF/services/kotlinx.coroutines.internal.MainDispatcherFactory": "a1ea77ea8f93f419256b6e66f29713f950d8d6e90442b608d880a48003b5eb72", + "kotlin/annotation/annotation.kotlin_builtins": "5f75d4352e432664b2a235c472b991cf88365c73f5fcb5e1f9cc2cbe4b410abe", + "kotlin/collections/collections.kotlin_builtins": "0e654e03a38e119de0f4d11633711bd57e1e8b1a876eda74a90100a2a6e7daa4", + "kotlin/concurrent/atomics/atomics.kotlin_builtins": "955035527393d165a22da4cb9d992f42b4a30b6f070918f3e2b1f2678f83cc9d", + "kotlin/coroutines/coroutines.kotlin_builtins": "98ab3a3c18fcb237528dd63fa489815c583e1d6c13debd2a27ac6d74ccf8717b", + "kotlin/internal/internal.kotlin_builtins": "64712f94840e6b3f8123f522f32d08c46f083d87c312a74901f7c00224de775e", + "kotlin/kotlin.kotlin_builtins": "c4240215bc20e71b01cc62b43edebd02749b3249d7daa8e7f1dc1514f064c274", + "kotlin/ranges/ranges.kotlin_builtins": "f9d35b836ccb5380803aab5e6c76d708b1536fc6c82f27185e8cff5913824e1c", + "kotlin/reflect/reflect.kotlin_builtins": "23ecbc7cbb354f31ba37a1be1793d3bb53c00c92cdcf3867759d09d938a1d7c3", + "org/commonmark/internal/util/entities.txt": "fea6cf4d3bd2aa7ffd421116551654e2a22e40a17e4cd087c8725138113bad69", + "classes3.dex": "b5fc72ec11f3f6fd4515fbe2e37d0e295c7ee77bba9d5dfa10a046b80d38bc70", + "classes4.dex": "62794fbc1e31b884e7df4682e7dadeee952be368fe487c188fed4944cee3fec2", + "AndroidManifest.xml": "ad00ec4b6aec26856e19a47b8481ca498ea1cd7902cc4c293e0da31c60af7e0c" + }, + "app-debug-androidTest.apk": { + "classes.dex": "35f32eb3c6a38b451d1d47b53e49faa8fdca4db12df6e8e6385f44f1f5c1d403", + "classes2.dex": "468450c6993a81875894c0a142093a2e6dad1778f192763895e927a2f07c1d71", + "classes5.dex": "4cb87f7ace7c665d16755b3466eca73c87cc7167104d4b901b704bb2a4c9d30b", + "assets/owned-detail-fixture.js": "873d3f25f95271029e31779b0920b5955a2908a820a07652b58efa21a2358cfd", + "AndroidManifest.xml": "caff3c10989799f80e8bea4722a1e2e143b75cef522c7aff7211e7c79704f416", + "res/color/vector_tint_color.xml": "4bbb4ef3e0e3db260a05d794047a1765e420d699ee5673e90b57ff682a2fe34e", + "res/color/vector_tint_theme_color.xml": "cf34dc5bdb4a6d1568143e115ac4e34448383ac772862ef0fdbb7fe8936c6dd3", + "res/drawable-anydpi-v21/ic_call_answer.xml": "5f6376dfe199d8a6e40033d3e623989d052c9b2f974d00c824fbb8b76fc6fde8", + "res/drawable-anydpi-v21/ic_call_answer_low.xml": "8f9acacabaf2dfb4bb53dab7ce7bec9c1451ce0a0219ffaa41760ea82da3d2d6", + "res/drawable-anydpi-v21/ic_call_answer_video.xml": "5d4cdaae5838ad9442c085f951b766b2808bff13b8c85a14e0bcf8571514492c", + "res/drawable-anydpi-v21/ic_call_answer_video_low.xml": "4a959580080ebb1d822a2459a4234d2abf0dd0b65d9c28bda8c258dafc888c51", + "res/drawable-anydpi-v21/ic_call_decline.xml": "2d825b79cce60203492ff09a04826db0ac8d9eb9bc0fb9fb139ae1aa5cde0f67", + "res/drawable-anydpi-v21/ic_call_decline_low.xml": "c8321364802409baf4d76e2a84e303871585bdc95b0395040c5ecea0e2051105", + "res/drawable-hdpi-v4/ic_call_answer.png": "5c80d88a7b82ef5833255bf70ff1c26c3efb2a92ae90cac222f3200f59e0b1ea", + "res/drawable-hdpi-v4/ic_call_answer_low.png": "5c80d88a7b82ef5833255bf70ff1c26c3efb2a92ae90cac222f3200f59e0b1ea", + "res/drawable-hdpi-v4/ic_call_answer_video.png": "6adcfc9dd1e1b82b985d223fc8a01c8e8f0dd3b9051d38062674b2380af79a50", + "res/drawable-hdpi-v4/ic_call_answer_video_low.png": "6adcfc9dd1e1b82b985d223fc8a01c8e8f0dd3b9051d38062674b2380af79a50", + "res/drawable-hdpi-v4/ic_call_decline.png": "12ec9f9ad5fa3d7d897114af6c2297b66f31cb056e43daffbe80d23f6f66396d", + "res/drawable-hdpi-v4/ic_call_decline_low.png": "12ec9f9ad5fa3d7d897114af6c2297b66f31cb056e43daffbe80d23f6f66396d", + "res/drawable-hdpi-v4/notification_bg_low_normal.9.png": "21f0b55280be10b187ceff8edef4a5a7047683e6e9fcf47de410aa3839f41094", + "res/drawable-hdpi-v4/notification_bg_low_pressed.9.png": "42aee0b03883e94df5e543348a397d1302c1b8221895871a83b81899f5a9647b", + "res/drawable-hdpi-v4/notification_bg_normal.9.png": "0c6328c7b2420570a7ec38b3beb3bac9a29d895ac1ab7239315aba7266418593", + "res/drawable-hdpi-v4/notification_bg_normal_pressed.9.png": "18b328d8017e677d5aad3dbd66bae356b5cac978c6f0670938ea648e51d0eb66", + "res/drawable-hdpi-v4/notification_oversize_large_icon_bg.png": "aa00088d0d9fd97bd92ed9ffd29b54bb69a48a984aa73448ce553fb9d812be41", + "res/drawable-hdpi-v4/notify_panel_notification_icon_bg.png": "8430ec003e003f3f2ba2f78d48fd150e25407667e530e82e87a7d4841c0fd676", + "res/drawable-ldpi-v4/ic_call_answer.png": "6d34a8bb29be26e343781603588506f33bd1b93732a1c1bc9fd84678aa36b178", + "res/drawable-ldpi-v4/ic_call_answer_low.png": "6d34a8bb29be26e343781603588506f33bd1b93732a1c1bc9fd84678aa36b178", + "res/drawable-ldpi-v4/ic_call_answer_video.png": "66356f564f051a568e25071f60da312c418309f9129773aceb2246773458681c", + "res/drawable-ldpi-v4/ic_call_answer_video_low.png": "66356f564f051a568e25071f60da312c418309f9129773aceb2246773458681c", + "res/drawable-ldpi-v4/ic_call_decline.png": "a18cdaaf3742b1a3d4f484fa15d00fa34afb21495884301aafa3213338661ed6", + "res/drawable-ldpi-v4/ic_call_decline_low.png": "a18cdaaf3742b1a3d4f484fa15d00fa34afb21495884301aafa3213338661ed6", + "res/drawable-mdpi-v4/ic_call_answer.png": "f2ff62f473d8a5e00a8b6c81c15be9a0536471c3d5a81e37d04bc3356ea81ca0", + "res/drawable-mdpi-v4/ic_call_answer_low.png": "f2ff62f473d8a5e00a8b6c81c15be9a0536471c3d5a81e37d04bc3356ea81ca0", + "res/drawable-mdpi-v4/ic_call_answer_video.png": "6306048ba5f7eca43e7bdadeefa9412180508486fd543e02de93d2a013e223f0", + "res/drawable-mdpi-v4/ic_call_answer_video_low.png": "6306048ba5f7eca43e7bdadeefa9412180508486fd543e02de93d2a013e223f0", + "res/drawable-mdpi-v4/ic_call_decline.png": "7e87b3e0229126dc3c2bdaddcd8f330f3bb5f7613a05024c3cd6445dd161f788", + "res/drawable-mdpi-v4/ic_call_decline_low.png": "7e87b3e0229126dc3c2bdaddcd8f330f3bb5f7613a05024c3cd6445dd161f788", + "res/drawable-mdpi-v4/notification_bg_low_normal.9.png": "2f7fbda0ba6e53e9a47e2fc0e24e32c447c613a5808c2d6285dc651e83a07ad7", + "res/drawable-mdpi-v4/notification_bg_low_pressed.9.png": "e17761ed280edd93d7141bd504b70f9e9e15a8652288d9e6333bf4ce964ef844", + "res/drawable-mdpi-v4/notification_bg_normal.9.png": "a8676a1793ac8310ffb12986232df66df092d29c242aeedc2b73556c010d38dc", + "res/drawable-mdpi-v4/notification_bg_normal_pressed.9.png": "99c14d6855b8be296d58017d3751b8dc849c47b6d1d80ab614ff9075080e461b", + "res/drawable-mdpi-v4/notify_panel_notification_icon_bg.png": "0d773e62c756422313262846c787e58f67e0ee87e45e1ae9942002e816c4cb9e", + "res/drawable-v21/notification_action_background.xml": "2f768c089cefa18cf7f1fde7f602410bf38998de5f9073a15ea83106c25e3c30", + "res/drawable-xhdpi-v4/ic_call_answer.png": "e64c2e57627e24ec1ed37e67344c2bf31d1d6bdd2d8d715840c1edf0bd1425b6", + "res/drawable-xhdpi-v4/ic_call_answer_low.png": "e64c2e57627e24ec1ed37e67344c2bf31d1d6bdd2d8d715840c1edf0bd1425b6", + "res/drawable-xhdpi-v4/ic_call_answer_video.png": "5d02a81102644428ca639aec3df626eeb4a839a9ddc76fc2b158b04461d7f00f", + "res/drawable-xhdpi-v4/ic_call_answer_video_low.png": "5d02a81102644428ca639aec3df626eeb4a839a9ddc76fc2b158b04461d7f00f", + "res/drawable-xhdpi-v4/ic_call_decline.png": "9a9a30c305022a2f8e075d2ed7d33f5c7711bba8d0d0385511fdb62f89f208e3", + "res/drawable-xhdpi-v4/ic_call_decline_low.png": "9a9a30c305022a2f8e075d2ed7d33f5c7711bba8d0d0385511fdb62f89f208e3", + "res/drawable-xhdpi-v4/notification_bg_low_normal.9.png": "3e09afa21c45372c035598c017c8fb405a6d678e6cb84dc857581cb3b40e482d", + "res/drawable-xhdpi-v4/notification_bg_low_pressed.9.png": "20343222f9f79dd565c3a2248494d452e70820ac1c437173c38badd45f962afd", + "res/drawable-xhdpi-v4/notification_bg_normal.9.png": "559bf783d765c02338e97952bdc9c6689c7ff99090b8c9813369118da8b080f0", + "res/drawable-xhdpi-v4/notification_bg_normal_pressed.9.png": "d27af435101ca4cbec0c840bd30687918cd39eb83aab1487420855623a45998b", + "res/drawable-xhdpi-v4/notify_panel_notification_icon_bg.png": "b44eeda34d7a529c2fe55719eb098fa29707caa91d18de06a7a775d6e6bcf973", + "res/drawable-xxhdpi-v4/ic_call_answer.png": "86763a30af2a934c7c13b123b36443d1d17918b71c6149bc6ee80115b872593d", + "res/drawable-xxhdpi-v4/ic_call_answer_low.png": "86763a30af2a934c7c13b123b36443d1d17918b71c6149bc6ee80115b872593d", + "res/drawable-xxhdpi-v4/ic_call_answer_video.png": "ca48f604262f2b4ef8b100c73130efe2ad33ef8c2a2c1b3516f24f51b7b04665", + "res/drawable-xxhdpi-v4/ic_call_answer_video_low.png": "ca48f604262f2b4ef8b100c73130efe2ad33ef8c2a2c1b3516f24f51b7b04665", + "res/drawable-xxhdpi-v4/ic_call_decline.png": "87adad32e0ec19c4e920420bf3a06c9f94f6128ed0d866a1891628aeab2cef06", + "res/drawable-xxhdpi-v4/ic_call_decline_low.png": "87adad32e0ec19c4e920420bf3a06c9f94f6128ed0d866a1891628aeab2cef06", + "res/drawable-xxxhdpi-v4/ic_call_answer.png": "ec698a3217bce74d8bc4a44bb008f2dbd3d1aebff1af1e9641805143dbf9fa87", + "res/drawable-xxxhdpi-v4/ic_call_answer_low.png": "ec698a3217bce74d8bc4a44bb008f2dbd3d1aebff1af1e9641805143dbf9fa87", + "res/drawable-xxxhdpi-v4/ic_call_answer_video.png": "4c717ce1ffb551c765981add65d1956132d8f522337de2866b045f0a60485426", + "res/drawable-xxxhdpi-v4/ic_call_answer_video_low.png": "4c717ce1ffb551c765981add65d1956132d8f522337de2866b045f0a60485426", + "res/drawable-xxxhdpi-v4/ic_call_decline.png": "ab73b729bb95878120a3bdc8dc915f3aaa1d7070fc644a0de64d40941ad507ed", + "res/drawable-xxxhdpi-v4/ic_call_decline_low.png": "ab73b729bb95878120a3bdc8dc915f3aaa1d7070fc644a0de64d40941ad507ed", + "res/drawable/notification_bg.xml": "20a1a2e83aa9806faeb234fc0a1094bc079adf5a25ef4cfef1491c5ca3b3c745", + "res/drawable/notification_bg_low.xml": "49041ec87bb2ec2a8bc23685c8eb2c2d5297aa39f1412dc7aa6639aeec12ee49", + "res/drawable/notification_icon_background.xml": "b143ee7fcbba209f17607a720502d755f085ec75380ad6fbd6f99de6583f0a40", + "res/drawable/notification_tile_bg.xml": "fb5d113d15ff98da0eab3cb9e178e909ad5e261f30a24add0267e2827b4c7774", + "res/layout-v21/notification_action.xml": "4e046a162878e2f8796c6380f0c5a9a7b40f1ffb251478ecfcbbe3b434bd1178", + "res/layout-v21/notification_action_tombstone.xml": "a9657e68fd0c10ced5011b67b9e37a5ebe262957ef15fa3679a9a1f8784fee21", + "res/layout-v21/notification_template_custom_big.xml": "4879194cce032a3c5ea58d2ec796766b00bb057a4ca4bc11c56ed1830a61c7d2", + "res/layout-v21/notification_template_icon_group.xml": "97d5723ad66c683d88d57918e197cb33d2dc1628aa77299e42e132622c2c948e", + "res/layout/custom_dialog.xml": "edd4e27b3f2407a02248205a2eb50288170e4201249bfeac074749ea60390103", + "res/layout/ime_base_split_test_activity.xml": "37ff040591f96786bfaf9d3d937fedf2f2f97e218c06beb3e7fe8a2442a181a8", + "res/layout/ime_secondary_split_test_activity.xml": "0034556846afe7278a6d1264855405a0c3ae65a81a6a05f9ba4dc0136a589685", + "res/layout/notification_template_part_chronometer.xml": "9ae2b91ed155032cb90ee4cfead57eba2728d0e6ff262d2275ff63516604fc94", + "res/layout/notification_template_part_time.xml": "4a838e479642de5ee2cd1d0785b35d195995fcf27b0b9561140a6cdccbfe3ad6", + "res/xml/native_input_test_ime.xml": "d560413501650fb393941eb5e8e36b30aed25a309dc294cc0435f74d6dfe326d", + "resources.arsc": "a743d0f25129f83afc5a9790dfabdd4c6937b071c930014b432aa9a2fd74e4eb", + "LICENSE-junit.txt": "9648bb2891b9813970bddb68d4be8a5e6ec8280d0180a53dfb29236b579c55bb", + "META-INF/androidx.compose.ui_ui-test-junit4.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.compose.ui_ui-test.version": "406b9efb67a070bc32c23c3ac6c886a8d25cfac10b1861ef92e4166708aa6ce1", + "META-INF/androidx.test.uiautomator_uiautomator.version": "a42caf4a54bbbe27aa45b6efbc6356c5e299b19763e728b6cdb7201b02ebbe36", + "META-INF/kotlinx_coroutines_test.version": "179f9b723b6508aa1d6ce99991e8cd549ca819ee1b9b6102396c47815beffaaf", + "META-INF/services/kotlinx.coroutines.CoroutineExceptionHandler": "1b8e1a088e38c9bc8dd36517de1202651f06a9ca9eb0e6adad7305392289a94c", + "META-INF/services/kotlinx.coroutines.internal.MainDispatcherFactory": "90d3bc46060b2a33332bd2bc8122d5b03dd1a507718db830d5e809cc62c4490d", + "javax/annotation/CheckForNull.java": "4807942043605b325f0fefa243344db0d11e32cebd8f133df2b7c5d8486f2312", + "javax/annotation/CheckForSigned.java": "9c3d742fe9ab8e5fb08d5562ab0cb0255e2960facf94f83349be542b6557f3c1", + "javax/annotation/CheckReturnValue.java": "fc328c2dbc79fb3bc25d47a7f0486410fe8a04e6d6ceadf97f7ed44fa6dc0ebb", + "javax/annotation/Detainted.java": "7d272cf814d47c8cf89dd0d2f283ddfc88a26405122fd98f2842dbcb0789ed0e", + "javax/annotation/MatchesPattern.java": "ff2ffbca3823c1a3f5333630878068c724f67058264cca7396d9abef821897dd", + "javax/annotation/Nonnegative.java": "73b83d783bc7cdf7b5c9f4331a928154c6dc4e97ba349a5e5124e026ba4221b0", + "javax/annotation/Nonnull.java": "eb2d5ac7cd628dd3c59e5f7b14378fea531d5c76857df837cfe8f9a2ece1dddc", + "javax/annotation/Nullable.java": "511c9e8888bbdc13e0388eb5c3a882f43ff21160093b404c870ce94e83a1f509", + "javax/annotation/OverridingMethodsMustInvokeSuper.java": "5d786c4fff3f381babab9f745252dd80ba10210c402bd4c15161ce9b63decca6", + "javax/annotation/ParametersAreNonnullByDefault.java": "94233ca1ca4fb6d457bed883f8369019d4f0016be81d4e5ccfc01f5d50bf946e", + "javax/annotation/PropertyKey.java": "5559001d0f69e49487f1cc0cfa82d37e064b04436ccc7026a3d8a5aa30215d7d", + "javax/annotation/RegEx.java": "7b08d091734672f8f8f320fdaa7cde6ba48c786a2fdca94c9e2407e1e2af2aba", + "javax/annotation/Signed.java": "76633adce590e7c771ef7f727b575f9ae54389539d666677a9ca1a9e4256e374", + "javax/annotation/Syntax.java": "63c05bd38c7c279d147058d6e154a44ee1da62c92cc6849a573bdc6c345869e0", + "javax/annotation/Tainted.java": "9b755d095cf2c4a41a8e064b5bd0ab3e556845048b705d2cc98e8635b8bda6f2", + "javax/annotation/Untainted.java": "e44096a654f825c9f8f3fb9ba099f805155b3daf41918c177d7193558bb11981", + "javax/annotation/WillClose.java": "1c81ea1c7284c37c5d66b436fc63267877667da03b2b646fc6c11ea2a8dfac08", + "javax/annotation/WillCloseWhenClosed.java": "b3c6e342b4dfc4c62d33857f8920cfe077e9f2c31379d8f627495e0c4a06cb13", + "javax/annotation/WillNotClose.java": "6c258758fcf54c9657052dc9e86d0abc780f8a4580804e3a0a8b8b376529e453", + "javax/annotation/concurrent/GuardedBy.java": "f2650971001cbfd4c127487e0115e7a9539d64fd6a98dd8dd0675330ae3b790d", + "javax/annotation/concurrent/Immutable.java": "47f9a076a4396c492a373eec9622a15497b56b633a67af97ca51bd3b1142a08d", + "javax/annotation/concurrent/NotThreadSafe.java": "73060a8907c01ee7a72bfbd9c74a037ff1953bd7a4510b8997fdcec0a5741a19", + "javax/annotation/concurrent/ThreadSafe.java": "bcfd9f7a27af49a6505734ab03259f02a7222d3bd052821caa6d94d930bdfc9a", + "javax/annotation/meta/Exclusive.java": "0b0405f1dc140ac2ebdb4cdd3bbbfdcf19e22d724bc57a89d530b33e8c9b7ff5", + "javax/annotation/meta/Exhaustive.java": "c9b4085041acd1602691ee49535a6a91afc2b67d6bd9d9fb4e1ab2169d627a6f", + "javax/annotation/meta/TypeQualifier.java": "828fffa618ac1cda2fc07fcc0e5e58785aadfe4bc481c0e4e8dc5fc23d662ce5", + "javax/annotation/meta/TypeQualifierDefault.java": "27faa048d7c23bd6d79d3515816ec1f356758ae140c0edc702a74b91f9215395", + "javax/annotation/meta/TypeQualifierNickname.java": "309cf58e837f1bc63183fc9443b231904157f1ac25bfee0e5cebcae52f44eb51", + "javax/annotation/meta/TypeQualifierValidator.java": "4d1e2ca6f465ce130a8233086053acc991e5fd389f7e31c88a0cd19ef32c666a", + "javax/annotation/meta/When.java": "d79dfa99e03fa1eb6d0e6f024833ef16c1029b98975e2e767f760b2dbf4d8790", + "junit/runner/logo.gif": "345b5e2207a524e0019779d13f0f8ae51359f894a230479467761331e3d1ca16", + "junit/runner/smalllogo.gif": "b4819008f181bf3e0b47254f72149c62a556a56fc0358d3143e405b191de2081", + "classes3.dex": "cfb071a5a947773b36c962733989d4b990068d049d6e92ae9d4c480b3220c3fd", + "classes4.dex": "45f9544c81ca1ebbdc54330ee99a5ab90face0bfb97eec95456d9774a0beb6c3" + } + }, + "build_prefix_sha256": "4b203c5f102aabeb0a28e7f04140d26dfcb6193f10f49aaac0d9bbbafd97cfa2", + "build_prefix_scope": "Immutable log prefix through debug app packaging; complete host-check receipts are separate.", + "unchanged_assets": { + "assets/ANDROIDSVG-LICENSE": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30", + "assets/ANDROIDSVG-NOTICE": "2e61b715e3553494f46f43e5a88e8d26c56201e0558c8d5ab02946edb4f7dedf", + "assets/COMMONMARK-LICENSE": "11cfcf6da0142fb1971c1f40f5924ddded14454e2793d7f1dd87c9f4abe42dfd", + "assets/COPYING": "14609801e0e520dac851e75d993ca4c75c3842a3be468f6f7f04a16c03c824db", + "assets/GEMOJI-LICENSE": "7ea1d1fd0602e6623b9a65e791499a0ea5a2f5f60f91bfad78cbaeee19da26e6", + "assets/NOTICE.md": "c263e44ea9a845c4e4ec564eeca46ae0fc343f63ffd10685afbf74586647e0f6", + "assets/REACT-LICENSE": "da6d3703ed11cbe42bd212c725957c98da23cbff1998c05fa4b3d976d1a58e93", + "assets/RaycastRuntime.generated.js": "b306b45453cc8507037ff2822066475aae17def757a8ef72d4a4fc64c6494bb7", + "assets/android-runtime.js": "1b5dfa3f5b512f55322f27703bbebf15d1a8c4569c4c1712a6dd64541dd552aa", + "assets/emoji-catalog.tsv": "e49f1cc09c6f487a6e7b55590ecc171dcff390f720a9ce3820fe2038810d5d66", + "assets/extension-workflow-evidence-v1.json": "4e8adc22b7887996140190a999f1c7272556f2dd379d219c88e276e48aea0fa5" + }, + "production_source_changes_from_07a2de6": [ + "app/src/main/java/dev/tinycast/android/EmojiUi.kt" + ] +} diff --git a/docs/validation/touch-search/identities/diagnostic-harness-v6/identity.json b/docs/validation/touch-search/identities/diagnostic-harness-v6/identity.json new file mode 100644 index 00000000..a4b5b957 --- /dev/null +++ b/docs/validation/touch-search/identities/diagnostic-harness-v6/identity.json @@ -0,0 +1,7 @@ +{ + "test_source": "d91dda74e2e2450c57b8f08cbc27f9a0e8a15f47", + "app_source": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "test_apk_sha256": "700348aa86aae44801d679f0496dfd745bfb23855b15b9730bb0e19f6acbc8bc", + "app_apk_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "scope": "Diagnostic capture order/model observations only; original empty-body and Clear assertions retained. No production change." +} diff --git a/docs/validation/touch-search/identities/final-harness-v7/app-manifest.xml b/docs/validation/touch-search/identities/final-harness-v7/app-manifest.xml new file mode 100644 index 00000000..060ae6dd --- /dev/null +++ b/docs/validation/touch-search/identities/final-harness-v7/app-manifest.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/identities/final-harness-v7/host-checks-summary.json b/docs/validation/touch-search/identities/final-harness-v7/host-checks-summary.json new file mode 100644 index 00000000..0c1313de --- /dev/null +++ b/docs/validation/touch-search/identities/final-harness-v7/host-checks-summary.json @@ -0,0 +1,21 @@ +{ + "checked_source": "ca17e6665ee5fd06c09a12f11abbfda8eb77a2fb", + "jvm": { + "tests": 343, + "failures": 0, + "errors": 0, + "skipped": 0 + }, + "host_successful_invocations": 2, + "python_per_mode": 135, + "python_source": "fed57fb02b52f660d4c35f216e5e227487235c50", + "scope": "Current harness compiled in debug and benchmark; production and JVM inputs unchanged since5e7cb6b. JVM task UP-TO-DATE status is retained in the log; this is not a claim of fresh JVM execution.", + "lint_debug": { + "Warning": 56 + }, + "lint_benchmark": { + "Warning": 56 + }, + "app/build/outputs/apk/debug/app-debug.apk": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1" +} diff --git a/docs/validation/touch-search/identities/final-harness-v7/identity.json b/docs/validation/touch-search/identities/final-harness-v7/identity.json new file mode 100644 index 00000000..350b2697 --- /dev/null +++ b/docs/validation/touch-search/identities/final-harness-v7/identity.json @@ -0,0 +1,266 @@ +{ + "review_source": "ca17e6665ee5fd06c09a12f11abbfda8eb77a2fb", + "app_source": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "test_source": "ca17e6665ee5fd06c09a12f11abbfda8eb77a2fb", + "controller_source": "fed57fb02b52f660d4c35f216e5e227487235c50", + "build_commit_property": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "source_sha256": { + "app/build.gradle.kts": "28f41ac518c91f15c98221d0511870a5409b9f35ae008acfdd5f667db06bcadf", + "app/src/androidTest/AndroidManifest.xml": "63c98a685e9dd67d8150af8981832d34271fb37a92e46444eec52728f559d609", + "app/src/androidTest/assets/owned-detail-fixture.js": "873d3f25f95271029e31779b0920b5955a2908a820a07652b58efa21a2358cfd", + "app/src/androidTest/java/dev/tinycast/android/ActivationDeviceTest.kt": "2f2fe66a5c3628433feeb6db33e02be43ca3f267b39ec541f2e3330fc1142974", + "app/src/androidTest/java/dev/tinycast/android/AssistantDeviceTest.kt": "1ecebcf20fe9aa7aa63701c81500195eddd1ae88618d89f31105fecc58189b6b", + "app/src/androidTest/java/dev/tinycast/android/AssistantTouchDeviceTest.kt": "1f33a283e5b1f05a5a74dbb76bc3ff8920193cd761edd1cce1e61cb733cb9874", + "app/src/androidTest/java/dev/tinycast/android/BackupDeviceTest.kt": "56c56d6a652524f7fc7952b1478552314b1e465ace5c7216385d7f2ea3cf4b6c", + "app/src/androidTest/java/dev/tinycast/android/CalculatorActionsDeviceTest.kt": "e738e5b09aa6128343abe628ed7f93571b9a87c1eb95e78f00c617aadcf348b4", + "app/src/androidTest/java/dev/tinycast/android/CalculatorIntentDeviceTest.kt": "628ddcef4b50880170fba97cd925fefc5f463f632799d9e2686e7512b2bbc15f", + "app/src/androidTest/java/dev/tinycast/android/ClipboardApiDeviceTest.kt": "e53bbc080d17b59aae6280b7b817a3c81b4df684dcfd5ca787a993d89caf5de4", + "app/src/androidTest/java/dev/tinycast/android/ClipboardEvidence.kt": "c882a7435cdca3bbdf68da66a6e8ef23bce932fb5746ba09c61bded5b9c98e9d", + "app/src/androidTest/java/dev/tinycast/android/ClipboardEvidenceDeviceTest.kt": "dfdb64344886b7e5d4b54f04fa4560f169e8cb8d7b7b238ba08358dcde73f854", + "app/src/androidTest/java/dev/tinycast/android/ClipboardRecoveryActivity.java": "48627f465b10c316cca7fdfa735928095328241b4fb98bf90e5c247add17345d", + "app/src/androidTest/java/dev/tinycast/android/DocumentProviderDeviceTest.kt": "13895d23b8758affd8889461ef660c442d3bfd1bb111fce08a064aa4b582aea2", + "app/src/androidTest/java/dev/tinycast/android/EmojiDeviceTest.kt": "ab9907d4e4acd7e52ed26f12ac14648271e5740784cdba678671ca8ad42fb415", + "app/src/androidTest/java/dev/tinycast/android/EnduranceDeviceTest.kt": "4802d3755ce6bc1cdf8e60c7cf9998a09ced8e0be6d9888f0b9d9a32ee332dc4", + "app/src/androidTest/java/dev/tinycast/android/ExtensionCommandHandoffDeviceTest.kt": "8c47f08b1d49a94dfd520840a0b0349199459da4ece8ff1adcacc46516b37f7b", + "app/src/androidTest/java/dev/tinycast/android/ExtensionDetailDeviceTest.kt": "d5bd83f6d174ca5d5c3c9d68551cc3a78bc90763060410bd5f3b67d9d9642025", + "app/src/androidTest/java/dev/tinycast/android/ExtensionDeviceTest.kt": "3087ff055f70cdf43d2565e22703b9c57445b5c3e1594126d60b0279c32b2640", + "app/src/androidTest/java/dev/tinycast/android/ExtensionEmptyViewDeviceTest.kt": "64e6b1e68c61cf67b24ba02d1e14a72d297b1bdeebbdf1008905d5619ce2558f", + "app/src/androidTest/java/dev/tinycast/android/ExtensionFormDeviceTest.kt": "6418f6ab517ead50a102b4834bff9c40988849fb3a2a1ef20f575d162b32e11b", + "app/src/androidTest/java/dev/tinycast/android/ExtensionGridDeviceTest.kt": "952b4f2988379c1545575d1332f8358acc9053e257a382b7549a27f6b4b40de3", + "app/src/androidTest/java/dev/tinycast/android/ExtensionMarkdownDeviceTest.kt": "e4b7daa9fd914335f572ef41665595104cdae5434682977a2d806ff63ef36c4f", + "app/src/androidTest/java/dev/tinycast/android/ExtensionPasteCopyDeviceTest.kt": "7bdd8e876153d4d46357402eab58cf89c0e8885823d21894c70882ed55b1da8e", + "app/src/androidTest/java/dev/tinycast/android/ExtensionRecordedTestsDeviceTest.kt": "1aa11011270b01a235bb052c6063da7eb5f7f726a7bb19f79aa54e7b8aa4ca42", + "app/src/androidTest/java/dev/tinycast/android/ExtensionSandboxDiagnosticDeviceTest.kt": "3e192cb65d011e021d5b47b6bde765e1136c2ddf7e039b5c9dce6dedbf39da15", + "app/src/androidTest/java/dev/tinycast/android/FeedbackReadabilityDeviceTest.kt": "86096d428b6554bcb6b8c9d7bc39b981baf1fd53f9367a33c97ce03c89020a82", + "app/src/androidTest/java/dev/tinycast/android/FolderDeviceTest.kt": "f3d54b0d788459d34470d2d87c8882cdfe30e8956a8886cd324dd63160f5628d", + "app/src/androidTest/java/dev/tinycast/android/FormDocumentsFixtureActivity.java": "434e72d8a0c977a83cbe6524cc51638eaff9cca5581c570ea58d4068ad2156a9", + "app/src/androidTest/java/dev/tinycast/android/FrozenBundleWorkflowDeviceTest.kt": "9d31d56f739caa2509610cf4c07abf70dfd5ea0aead7ec5c5673bde1ca04bc45", + "app/src/androidTest/java/dev/tinycast/android/InlinePaletteDeviceTest.kt": "ed2cfb9dc3c5218adfe0ae7b3cc1c60a69e6cf8c83ad434c2fc6b87d23bb2727", + "app/src/androidTest/java/dev/tinycast/android/LegacyInputDiagnosticDeviceTest.kt": "4966fac20af96b8597fb38a278d8f3ef89b7e335f3d3b6e5df00fb349ebabc55", + "app/src/androidTest/java/dev/tinycast/android/ModifierHardwareClipboardTest.kt": "141499cea10d4c80b8ef690fd43e985c066d1b420afa23895c32e75de737ec8d", + "app/src/androidTest/java/dev/tinycast/android/ModifierTapDeviceTest.kt": "d33bafba795569c15bab709a9830ca06ecffda9feb754492ec437d55c1d1cae1", + "app/src/androidTest/java/dev/tinycast/android/NativeEditableAssertions.kt": "be979c8e0f3e78b8d0e4482c2653769d732d24871a822b3761f5708a1e6a230b", + "app/src/androidTest/java/dev/tinycast/android/NativeInputCompatibilityDeviceTest.kt": "484dcb406a6b9fbc7851efd883029a43b303bdab799c9385e51a678ab91a51fc", + "app/src/androidTest/java/dev/tinycast/android/NativeInputTestIme.kt": "c3a766ae381e6e4a1b514b3890cdd220616df8e9b88208cdb9aa562ebd8f45ce", + "app/src/androidTest/java/dev/tinycast/android/OwnedFormDocumentsProvider.java": "67c22d543cb2136d81dc3544d8f63df94ce67f9524c7f19dc9c6b1b586713e89", + "app/src/androidTest/java/dev/tinycast/android/PaletteDeviceTest.kt": "7f5861ffec2e762c1e629519802c10d4b31e3bebd49a3c5867013c6aad77f3f4", + "app/src/androidTest/java/dev/tinycast/android/PaletteOverlayTest.kt": "0755f9aa38bdb5785d2cb8902157ce990b5b9825db0ae71847e11c8b1bd4b7aa", + "app/src/androidTest/java/dev/tinycast/android/PaletteStabilityDeviceTest.kt": "87896693541425799e7815d2fc1e3988e29afd9bba346da48183a91fa91be9c9", + "app/src/androidTest/java/dev/tinycast/android/ReadinessDeviceTest.kt": "c6f3ea767e9adc8384a3b662223ab57bef067fca8501509e0415111b711589f3", + "app/src/androidTest/java/dev/tinycast/android/ReadinessRegressionDeviceTest.kt": "3815d7aef28c0943999782217eabe14dd80fdd464476798bd0bf12a1d0be3c4a", + "app/src/androidTest/java/dev/tinycast/android/RecentDocumentDeviceTest.kt": "85af5ed0fd05c0716b8ac14b24e98397829ff8d241695999a0cfc68727923e40", + "app/src/androidTest/java/dev/tinycast/android/ReviewedTextCallerActivity.java": "640609575a0711566bf23f3028a5144e8aeae912604f9b7180912fd2c9b96200", + "app/src/androidTest/java/dev/tinycast/android/ReviewedTextClipboardCrashDeviceTest.kt": "6a1ebc4d90c8b5fa9a07f4b288c20b361297efbeaf7d4423eb211da47b4cf0c0", + "app/src/androidTest/java/dev/tinycast/android/ReviewedTextDeviceTest.kt": "31040a9d92e7e60d8026dda7119a9f7eedd2127ea6f50bfb308849f56b6fc0ac", + "app/src/androidTest/java/dev/tinycast/android/ReviewedTextLifecycleDeviceTest.kt": "2190f43dca4d7a7eca162a7e34f46d6091cfd114d83a5e4509946c1b912ce76f", + "app/src/androidTest/java/dev/tinycast/android/SettingsDeviceTest.kt": "dd9b9a2492c497a2a3ac3218d0833d2e8b536eb904975aa536b08361acc323a9", + "app/src/androidTest/java/dev/tinycast/android/SettingsRouteDeviceTest.kt": "8f6991670e740a07d3a6b30aea270b60e19f6d237c4b7b6afaf25200962ad736", + "app/src/androidTest/java/dev/tinycast/android/ShortcutDeviceTest.kt": "5376ede8474d5eaa4ec7ecb628d1056a5bfc963bd2a292d17d9b86eead8a5415", + "app/src/androidTest/java/dev/tinycast/android/ShortcutReadinessDeviceTest.kt": "41bdf7ab67a6899dc8a0b1b0f697135bc587dc401c9234eb56d25385eadf3dcf", + "app/src/androidTest/java/dev/tinycast/android/SystemSettingsDeviceTest.kt": "80e0c919fbf04916d2441aa3fbc4cccfac534f56c29dfd908e5ae2d917cfe13b", + "app/src/androidTest/java/dev/tinycast/android/TestAutomation.kt": "faad509cd41b06c4cc1087e5de8e0218abca78773603b2050bb2825c880588fb", + "app/src/androidTest/java/dev/tinycast/android/TouchReadabilityDeviceTest.kt": "6801d25bb0d9bc45899b04aeedba474e2ac8e5cc8cb168b6268e0305fb49345e", + "app/src/androidTest/java/dev/tinycast/android/TouchSearchDeviceTest.kt": "aeeb19f1e76498f642af8ef0da1bdd18e3de22759d87179d9693a41ea201318a", + "app/src/androidTest/java/dev/tinycast/android/UpdateDeviceTest.kt": "380e4d7702d2f8c68fd575581309113bc67abf3e5713bdb177cc3b920c4e2787", + "app/src/androidTest/java/dev/tinycast/android/UpdateSelfInstallDeviceTest.kt": "fc94ef400b54ee2cf8378d2b1632fff1521299f188a132f0330e930b40f80ed3", + "app/src/androidTest/java/dev/tinycast/android/UpdateSourceDeviceTest.kt": "76d91931dc044fdeb001a8325a321306011f2b0c54aa631bea25751c59f3ea50", + "app/src/androidTest/java/dev/tinycast/android/UpdateVerificationDeviceTest.kt": "cebe3033132db567affccc5419ec59a9639c87ceb88b20c38ffbba16c13b4592", + "app/src/androidTest/java/dev/tinycast/android/WebViewCompatibilityDeviceTest.kt": "ce5842cad291b9cb77aed19ecb9436dc80de24beb27e018797a7f84fb4a84895", + "app/src/androidTest/java/dev/tinycast/android/WebViewRecoveryDeviceTest.kt": "dd6ccf056187d184dd7fb6aa1eddeb76bd7037f4af21f749dbe379a7a2eeecde", + "app/src/androidTest/res/xml/native_input_test_ime.xml": "4aafc899939ff4b8883a80c6e00f7ff7413a08a603d485a15f1035c07760b50c", + "app/src/main/AndroidManifest.xml": "65fefcf86296b7103c2237f1e29bca7890bf33f6b5056f860c2e39ede371a55b", + "app/src/main/assets/ANDROIDSVG-LICENSE": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30", + "app/src/main/assets/ANDROIDSVG-NOTICE": "2e61b715e3553494f46f43e5a88e8d26c56201e0558c8d5ab02946edb4f7dedf", + "app/src/main/assets/COMMONMARK-LICENSE": "11cfcf6da0142fb1971c1f40f5924ddded14454e2793d7f1dd87c9f4abe42dfd", + "app/src/main/assets/COPYING": "14609801e0e520dac851e75d993ca4c75c3842a3be468f6f7f04a16c03c824db", + "app/src/main/assets/GEMOJI-LICENSE": "7ea1d1fd0602e6623b9a65e791499a0ea5a2f5f60f91bfad78cbaeee19da26e6", + "app/src/main/assets/NOTICE.md": "c263e44ea9a845c4e4ec564eeca46ae0fc343f63ffd10685afbf74586647e0f6", + "app/src/main/assets/REACT-LICENSE": "da6d3703ed11cbe42bd212c725957c98da23cbff1998c05fa4b3d976d1a58e93", + "app/src/main/assets/RaycastRuntime.generated.js": "b306b45453cc8507037ff2822066475aae17def757a8ef72d4a4fc64c6494bb7", + "app/src/main/assets/android-runtime.js": "1b5dfa3f5b512f55322f27703bbebf15d1a8c4569c4c1712a6dd64541dd552aa", + "app/src/main/assets/emoji-catalog.tsv": "e49f1cc09c6f487a6e7b55590ecc171dcff390f720a9ce3820fe2038810d5d66", + "app/src/main/assets/extension-workflow-evidence-v1.json": "4e8adc22b7887996140190a999f1c7272556f2dd379d219c88e276e48aea0fa5", + "app/src/main/java/dev/tinycast/android/AndroidShortcuts.kt": "1738bc2fe26a117f3d00edddf2639cd49d118f9d91bd5f6eff86d6ee6804b68c", + "app/src/main/java/dev/tinycast/android/AssistantActivation.kt": "b5855f87a029362bd06a63136dea7a1572fff716d0c302056f2a3647d9d95560", + "app/src/main/java/dev/tinycast/android/Backup.kt": "97f09aa4c2cf7ef42473be8728be28cadd3f3ab14930a6804590c0544a7c104b", + "app/src/main/java/dev/tinycast/android/BackupUi.kt": "d13aabc798d7fb19746b09d28a38593792792b67e916824776413d2fbe82870f", + "app/src/main/java/dev/tinycast/android/CalculatorActions.kt": "e03e5645069dafb156556efac7bd465f632938f8a5a24a78be72dff0ee5d3947", + "app/src/main/java/dev/tinycast/android/CommandEngine.kt": "b6be72c82b19fb09e1bf44cd4dd4148b3dbb0c39098eb42f89e80f9ffa034f78", + "app/src/main/java/dev/tinycast/android/EmojiCatalog.kt": "4dd39955ec38adea02d0c1974ace2b33d86ae738efea0e59d3e62b9072c10b81", + "app/src/main/java/dev/tinycast/android/EmojiStore.kt": "f7f5dd63af030b9d179c70336f4b52789d23a318020b6f19ac0c24d20ba8cd8e", + "app/src/main/java/dev/tinycast/android/EmojiUi.kt": "5c63356a2a814c04aea44d1ef677e2b818a11ed0bd7e2b9f945f311a901d6561", + "app/src/main/java/dev/tinycast/android/FolderGrantTransaction.kt": "11361d342e1e1598c85b5ea630f174c3a4590cbfaf9b430a30fbea2b9686a5c7", + "app/src/main/java/dev/tinycast/android/FolderIndex.kt": "6f1b1617a39c0c6e954a1b9b4da0d0d6af3ab7eeac25f2619e299621eec83a99", + "app/src/main/java/dev/tinycast/android/FolderSearch.kt": "4fcf90368ed70b49c192ab1b92b6e367d0a61643f928245f8447f542e745b60d", + "app/src/main/java/dev/tinycast/android/FolderSearchUi.kt": "dad0f473544f8e459aa301ad8eb91ec7380cebbe572e3e2be3f94443585a75c6", + "app/src/main/java/dev/tinycast/android/FolderStorageCoordinator.kt": "ff5491baf9d81ff19b04b35e33a503fc1656bfee9d8eb066453fdbe7e0f83bfb", + "app/src/main/java/dev/tinycast/android/MainActivity.kt": "2bc08e693d69ba4668a675c42dbcabb507755f8e3daf9ee01eaf62fd5744efe0", + "app/src/main/java/dev/tinycast/android/PaletteActionCapsule.kt": "f7228cdd6b6988fb049f0aaf1048d69cc8489e802b4cc42a2b4d6f9e7ceea3e0", + "app/src/main/java/dev/tinycast/android/PaletteColumn.kt": "cd6cdc348752bcc20bd631e2216abdd4ee0c91d9606aaab62ce0c01a145dd6aa", + "app/src/main/java/dev/tinycast/android/PaletteDialogs.kt": "99055192ab85f645a9d9c77d96064b06bba2f1435de503bc45be8f56b4de2dc5", + "app/src/main/java/dev/tinycast/android/PaletteFooter.kt": "5b62c907b46e5075975fc22d01771f5ab7c7f53e433692de55d92865231e967f", + "app/src/main/java/dev/tinycast/android/PaletteFrame.kt": "bfbc139e01a4276770644d5f4c1242016839fd98f5e2f21fa8afb31c886bc763", + "app/src/main/java/dev/tinycast/android/PaletteMenuOwnership.kt": "0be25f335246b8e47bf07ea057adf2045a20f9db5bee90a396109adfa7426174", + "app/src/main/java/dev/tinycast/android/PaletteMenus.kt": "43bc24a46a1ea0bac20f096a7d5d5256250c1c1069e0990bc958881830533dd3", + "app/src/main/java/dev/tinycast/android/PaletteScrollHistory.kt": "84e26b8544adc069c9f86e3273acd2254e2189f1680dec592570a261cdf87602", + "app/src/main/java/dev/tinycast/android/PaletteStore.kt": "7434fd21d100108a267e5790ecb705f4ca76c5dd0c86cc5b14bd9644ed58f57d", + "app/src/main/java/dev/tinycast/android/PaletteTheme.kt": "7afa29642b2bda9c9f669eaf6cdefcb977d14417d313547aff1ff807f4e37471", + "app/src/main/java/dev/tinycast/android/PaletteTileService.kt": "6f29825b3560944aae77935bc3abfb6a53e9577735dc622bf80e5ea1a1fbad00", + "app/src/main/java/dev/tinycast/android/PaletteUi.kt": "af59fe802198cf9c3602ef8ee6ba1d3fbd3c2df3f31d60bece8ce30d3b0e45b5", + "app/src/main/java/dev/tinycast/android/PaletteViewport.kt": "7008b8535ec3e754450ce446f34b6d8e50e9b2f5a9de64f436583144f8dd83dc", + "app/src/main/java/dev/tinycast/android/RecentDocumentQueries.kt": "b60f5f6ac3458eb3659dd41aef01bcd20be9d59f3841ff0fa77c3eb6ee82c92b", + "app/src/main/java/dev/tinycast/android/ReviewedTextFlow.kt": "7daf246a7b8a608fe61e06f078bf3167c17df8f784f8779977ba6e87914526ea", + "app/src/main/java/dev/tinycast/android/ReviewedTextInput.kt": "ca681bb2c4eb91188a1550650bf5fb5f83569bf8ac954ab22abc0ce05ed17e73", + "app/src/main/java/dev/tinycast/android/ReviewedTextUi.kt": "5ded41175e114968aa1994c93ade551b21121db15c4a4a7ea5ff87deaff00d86", + "app/src/main/java/dev/tinycast/android/SearchClearButton.kt": "0d4b0bc74a48d1c2d13a62fcaec60adfa51c8966199ea71465dd3ecf40510229", + "app/src/main/java/dev/tinycast/android/SettingsActivity.kt": "6c8a09cf51abdfc1f61c305b17e613f7b40f9960168aad2fafebdc31155a3601", + "app/src/main/java/dev/tinycast/android/SettingsUi.kt": "55886d17261a019fcddac77f25e655896217dadd081db6da23a2e519a6bad35b", + "app/src/main/java/dev/tinycast/android/ShortcutReadiness.kt": "83a422a837edc657f1f3faf94c155019eae73f1abcc8761379dcb2051ceed505", + "app/src/main/java/dev/tinycast/android/ShortcutUi.kt": "394fadd7890bbb2dd5f851bd5a290ebf19ad4e05fae64c321e529eeccd35c632", + "app/src/main/java/dev/tinycast/android/Shortcuts.kt": "14e08d112e3cc5689a5717f68dce1334d3c2bf92f4a7cfbc2057fdc96418a9b2", + "app/src/main/java/dev/tinycast/android/SystemSettings.kt": "c5c1535d12627b975f8f582437e53d02b4110f4bfb185d5c8d1e9307debc319a", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionCatalog.kt": "4427ae6610fcf75bc8f7ddeec9b869ab5b6698c9042280f9f0efff7ea3422e1e", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionCommandLaunch.kt": "2b253982bfcaa9c2b04178fcd38a04492e450352a459bdf375abc7948e6950c6", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImageInformation.kt": "8a5d61b8f7d594933c6797d12c60f1888b4f4f4ad7de35a306c206406733b5e0", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImagePolicy.kt": "f393349926cd371a67e3e59af0d0eb4db66d124e035259622c5558efb0035529", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImageTimeout.kt": "16e0fb6b411c4cf30fcbcafc7df536f72da84c1a208f0ea47ba1a0b612d762a8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImageUi.kt": "6da7920fd357a8106015a8a6da6d085fd2b8ae2bf26269c4aee670c84f7b0af0", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailImages.kt": "a87f8cf7d311baefd09c62f8a09e282764561bc2fe27b61abe0aec14d8c273f4", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionDetailUi.kt": "15be7bc728b4fa72841db59a6e72e9acece275a5a6315d4ba6b19af22fc06f21", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionEmptyView.kt": "4ab1b0093364ad790235b666fc70ec2642bb40692f3ce7fdb830e6bc514c61dd", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionEngineCompatibility.kt": "36a9b4b35d22bc364ecb1f46d2d9f029e3807315a2d35d2fd231b2a86e8b49c8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionEngineUi.kt": "6972248240f701edcc038ce70428dfd1a716e40894d616918469af3270aaa9cb", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormContract.kt": "6eba4aa3f33b19d4c452212b3bbb33c8ac0cbb8ae8e61963867e83094d6778ed", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormDateUi.kt": "e052fc6c27a78ac0df119c954f7ef43f720ce8ab72462bb712832b6dfdeae18f", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormDocuments.kt": "1071c99bd42ec6265991731022662729fd1ccc0269fee924b229f9ab8c2980fc", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormFileImport.kt": "c91ee69d460190918ee649a61a340429ac0478a59ab5e7ca824db8c17d1f5d00", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormFileUi.kt": "4241a498c65c255db94f833038a1f86a8cb06f27b4cecb3838cc20e953262b01", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormPickerBackdrop.kt": "dff8e4e37d38c1387bfd221f6c43c29272abfa144fff34ada0a0734a9c0f946d", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormSubmission.kt": "7f89b0ef7216cafb22c72a636b3b2998e5d71c9933bcd87d7c65a25b9a2bd9d8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormTagUi.kt": "509187d014c00ca027720e16d22934686d1c0491f10e5e151a27b574cde86a96", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormTypedValues.kt": "bd6b1c9b3e45101715916ee145ad41cfb1b74e206ae733f97d375c119f86af97", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionFormUi.kt": "bdb8f813a82e1e1860ebb08047b4a449a440ffe6d2a005d97c06debcbf4438c2", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionGridImages.kt": "777de62995b645310418d2f0da8adf87c450d8b7459d1c9abab0e9a02ce84258", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionGridModel.kt": "5b104c726a950f09a7cf890a14c0e4e654dfe8f5ea8b1b41468a0822f42a2f48", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionGridUi.kt": "c66cd6ee6d29cd2cc43d45ddbdc15f175ac5a5a39b332736b4cbddecdbf9e6bf", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionHttp.kt": "88ed57ca318c3e0c45e50f85e3157692d479bdae9636127869556cfb553abfe8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionLinks.kt": "cebfba7010fd2a20423527f8025413c21257ecd8e97ddc0dcb321b1c74db71f1", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionListUi.kt": "b02b632904d5d6be8f7b967cd10ccbc72d7e3d8fff3caf66c4fb444bce7de136", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionMarkdownModel.kt": "723a518700e335179c296e8b9b05ae9a899c8aaf93b8ca02b76476a46879d6ea", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionMarkdownUi.kt": "54d1b8dc6b09e55a7b0adf7d23903c9fb97551673a5695196e2e6f89259e304d", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionMetadataVisuals.kt": "882b7080d8f46cc9c9e2fd96fd1cc5cb0565cbb282bf3b04cad1c31b77a32290", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionPasteCopy.kt": "3ee4dfbb356c6ec02f50d8d525ca805c0d21468f49529b002e054ff9c03c71b8", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionPayloadIdentity.kt": "66037b60818bc4941f58551e6c1401c18641a6da43f9f2477db9c9f7838e29f0", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionRuntime.kt": "8df6a1a357a7133ce451930cc174b7382d70db75906724358ae40db664f6402e", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionSelectionDelivery.kt": "f13388787b615343c214a861a619bdba88b6327dc939365a130e9e799169c397", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionSvgPolicy.kt": "1bed94b2ea8e6d2475526a0ed83d85724e32893fafc8b27bd8f2b58a95cd868a", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionUi.kt": "009e3b23953be18ae09c76a849dd6ce3943dff6b4f2d4b40d846385044851b3f", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionWorkflowEvidence.kt": "98f65f5dbe1578b11fbb20d80f477a63b03659f7b11b1a7a6f526a4d6fe94379", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionWorkflowInspection.kt": "650fdb495d2e1e0ab5331fe8c517baaaffcfe7d15e7f56b5b3f6247a650d01ed", + "app/src/main/java/dev/tinycast/android/extensions/ExtensionWorkflowUi.kt": "93e9af8898ccce7fa1ab8169f08926b1d9fa95ba5657c517d7224f9356488c3d", + "app/src/main/java/dev/tinycast/android/extensions/NodeCpuInfo.kt": "eea176a7259e8f3736878886350610a84a23a6d2799f5337f5c8b07a8fefa398", + "app/src/main/java/dev/tinycast/android/extensions/WeakValueTokens.kt": "5c4d6f5c5b0d7170b554091e1b9cd9d551119ea60d7fe7f03946eb70f498c34d", + "app/src/main/java/dev/tinycast/android/updates/AppUpdates.kt": "63ace29d7dc29e005ffbbdde31cbac4e1d923732604b1e43e6a4db8a3285b508", + "app/src/main/java/dev/tinycast/android/updates/UpdatePolicy.kt": "350a9142ebfc663cd4a0c982ab220fb5f1e3399bfb3207c980ea20fd4c5c4e6e", + "app/src/main/java/dev/tinycast/android/updates/UpdateSource.kt": "aa860f14bd3a9f39e19899f1927fb7a790c54bb4f2704651253d8f867bb3c100", + "app/src/main/java/dev/tinycast/android/updates/UpdateUi.kt": "0bceb6a4221787a58dfb14ee1bcdcd266388720ca8862bd705cfeb10cfe52457", + "app/src/main/res/drawable/ic_launcher.xml": "104e38ffdf3214de23909b7896392f4a974e4fcbcc778c447d5d7a9ce56380af", + "app/src/main/res/drawable/ic_palette_tile.xml": "e063a6c4a1a25d6717a31bc355543d76c7d1babf8e9556e68b1b5e6a2b860748", + "app/src/main/res/values/styles.xml": "de4ad14f9ef41aaa4ffc824af155831579fa1194af5055edd112efee5042f5e1", + "app/src/main/res/xml/assistant_service.xml": "1e9e560563a7d0260fc83126d3a9bf027bf6357adfc811b43bc3224290c77ddf", + "app/src/main/res/xml/data_extraction_rules.xml": "cb4d1da1c1bd38761a9a08cc4d8d1b55839fcc14a6e19badb653f75b23c20eca", + "app/src/main/res/xml/keyboard_service.xml": "b1839c96988c03fea26ce4ed5932b1315013f3d2c16165993afc17368ab7bdd4", + "app/src/test/java/dev/tinycast/android/BackupPlannerTest.kt": "12a55d3644b5094b84cad2e88a5432738021fc8d7c59c232d4e5fc4c2c9a1454", + "app/src/test/java/dev/tinycast/android/CalculatorActionsTest.kt": "e803682a82b89c9703fcfbcbb82424eafef6bae6a13092953a3dc2c877816509", + "app/src/test/java/dev/tinycast/android/CommandEngineTest.kt": "65d9d198e8e1a188e4dcfd5551ced8f558f87a106f42b1d02a1432e8d6b7c234", + "app/src/test/java/dev/tinycast/android/CommonMarkPrimaryConformanceTest.kt": "ceb2ca14cc003385533bdd73b8beefffe92740887537b74c2146160621a23fcd", + "app/src/test/java/dev/tinycast/android/EmojiCatalogTest.kt": "9d70ef96696215e14e561d73f5a41f0b1a8272c3b58e5ad5a8438c31bc53aaa5", + "app/src/test/java/dev/tinycast/android/ExtensionCommandLaunchTest.kt": "f45df47e1740873ed7e771de72a650d9df88cd31bbcf2fd3abf67e3999700291", + "app/src/test/java/dev/tinycast/android/ExtensionDetailImagePolicyTest.kt": "7ec37a8870b70e3df0e3110f8b60ccc94185fedeaf1c39c76a00485dd4ca37d5", + "app/src/test/java/dev/tinycast/android/ExtensionDetailImageTimeoutTest.kt": "839216fc2d395cbd171676f32bfe77b894730a29a12127ec916c1d88b18dfb3d", + "app/src/test/java/dev/tinycast/android/ExtensionEngineCompatibilityTest.kt": "af9e76d4f6e7a6f193603f2db0169c95c7aadaca842d430c6178874f62840b1f", + "app/src/test/java/dev/tinycast/android/ExtensionFormContractTest.kt": "432d658e2a177312105e2ec86db2c59d0625086e86464a7ff946acb61c07e283", + "app/src/test/java/dev/tinycast/android/ExtensionFormFileImportTest.kt": "784f5b78f1dfd0d23ca653b36fc59bd13cba42e68c708c499678ac1ce474b673", + "app/src/test/java/dev/tinycast/android/ExtensionFormSubmissionTest.kt": "4bbdd8068cd95c314f7cf7aa156c7928cd815c5da11ef5f2cab1b4c5d23dd7d5", + "app/src/test/java/dev/tinycast/android/ExtensionFormTypedValuesTest.kt": "3a485a387e1527163d4318c3f0863b743bff02fe4e485adfff490d95cd554395", + "app/src/test/java/dev/tinycast/android/ExtensionFormValuesTest.kt": "6bc5bc8caaa5763e12dc3136bbba1d99249db10387c163cb1efeb0ae03f09d2a", + "app/src/test/java/dev/tinycast/android/ExtensionGridContractTest.kt": "50681a34c624a01867f287c66523d653e1931cf759f5e2926dda60feb85fa2b3", + "app/src/test/java/dev/tinycast/android/ExtensionGridNavigationTest.kt": "94ffe218ed5f9411210c2599db2a10dcd20c1a94655ef53e8cac1c574318b68f", + "app/src/test/java/dev/tinycast/android/ExtensionHttpTest.kt": "76917bbbdcc33dcc90d9b152d5a3e478fd981139e1df1d9edc0916e4f81b8e76", + "app/src/test/java/dev/tinycast/android/ExtensionMarkdownModelTest.kt": "fbeee6a80280ec27b660cc53222ef42f0e9ff5f5ce7ec5e02dede9d6b1c9222b", + "app/src/test/java/dev/tinycast/android/ExtensionMetadataVisualsTest.kt": "6f8653f4ed71138ac4fb0353e427d5b6775f54ec3600177ec6eae49dbc81598e", + "app/src/test/java/dev/tinycast/android/ExtensionPasteCopyTest.kt": "582ebddff12c96a504dd12a502ca851fc5d037e92f1d3ce98240eb162002b3bc", + "app/src/test/java/dev/tinycast/android/ExtensionPayloadIdentityTest.kt": "f59183b3224aab2923d9eb1ae598d1fa5cd2598b9ba80fc9a0db135005ae4e04", + "app/src/test/java/dev/tinycast/android/ExtensionSelectionDeliveryTest.kt": "1ea1e17cf0ea43fa3418a61f71587dbee9ec341b288d17fdaba3c5d3d8da4cb7", + "app/src/test/java/dev/tinycast/android/ExtensionWorkflowEvidenceTest.kt": "cf1589d69a498166b5a5fddd45135cf5b8575ec1d42f13ed4e2927b062b966fd", + "app/src/test/java/dev/tinycast/android/ExtensionWorkflowInspectionTest.kt": "043617c0cb943d76ebcdb5d0cc5bcdcda300069827b9b87a7425a16d084c1255", + "app/src/test/java/dev/tinycast/android/FolderGrantTransactionTest.kt": "ef710edc4ed1eb45782f90c385bc73305217f26882b630cd3e79ee93c59ef118", + "app/src/test/java/dev/tinycast/android/FolderIndexTest.kt": "bd371b19d1678ea876889cfb25505d690a4296c37d042e4cabd38bc7c7e4eff4", + "app/src/test/java/dev/tinycast/android/ModifierTapTest.kt": "bc0f6191ef2837018ca33a71010c1582cd39d0b3713c55acec4f91406a74d4fd", + "app/src/test/java/dev/tinycast/android/PaletteMenuOwnershipTest.kt": "c3134a62d61b5cd7ed810b867a6b40219713f21b798fabf6e659129cfab55506", + "app/src/test/java/dev/tinycast/android/PaletteScrollHistoryTest.kt": "b1610e3c3818e5823f99ded35bc36325042da250cfd48d98c0d6381066cfad5f", + "app/src/test/java/dev/tinycast/android/ReviewedTextInputTest.kt": "4bff225dd9fc1963736ad1f992e3eda3ffff21554c3ebef63d25acfdb41a29f3", + "app/src/test/java/dev/tinycast/android/ShortcutReadinessTest.kt": "45d32b02d4f89f857867d2585f3f5968251e9580edd34d9312bbfc158adc12e1", + "app/src/test/java/dev/tinycast/android/ShortcutTest.kt": "ae8034901d8ca73d704d40992b85ed43a64a021a078ff4eb5b2b853c4f398610", + "app/src/test/java/dev/tinycast/android/SystemSettingsTest.kt": "cdfc38bed12779bb92b0ddaeb79d197733243b24da43ab89d8580ecfd1f1fb51", + "app/src/test/java/dev/tinycast/android/TinycastGridParityTest.kt": "df6ca13f0f0a1e4bfa1f0085e274ed87457a6aa1a69492afa1041128af99c5e3", + "app/src/test/java/dev/tinycast/android/UpdatePolicyTest.kt": "d87ee4f7d6aa7b39b998267bd4d042d0b494ec6a1280d18860f262355c25cbe3", + "app/src/test/java/dev/tinycast/android/WeakValueTokensTest.kt": "ced7bf72628d5dc18fc5fdd30a81e58bb4b4b7f40e4e8c7eb0e77500f7c73566", + "app/src/test/java/dev/tinycast/android/extensions/NodeCpuInfoTest.kt": "5f3a7aae9b24435a4dbca77f9132a4b203ea736b1c76fc9108a51251983c2797", + "app/src/test/js/android-fetch.test.cjs": "2842effb321a11a33816f176f3300cd27a61c1e2ac70c4ed32681d46a129e56e", + "app/src/test/js/android-form-focus.test.cjs": "dd065271386dfdb2552caef1ae6e0c6f30e32783571abd85be328b9864bff8b6", + "app/src/test/js/android-form-submit.test.cjs": "7cbbb553dc2e657951b9195593b11add03597adad2710b4daa3e2cb807f87334", + "app/src/test/resources/commonmark-0.31.2.NOTICE": "610241b963a1a958c9465d99ec3f5778e7c6ef7251f9e119fed4c306b51641de", + "app/src/test/resources/commonmark-0.31.2.tsv": "dc27be954caac0ed8961299ca581a62aa4c68312091e68e52ab1e2bfe6aa5f5f", + "app/src/test/resources/extension-payload-identities-v1.json": "e451cf6b8efa208708db43dcb3a0545db1e73c610b72f488203fb4f147a490ab", + "app/src/test/resources/tinycast-grid-navigation.tsv": "da620f314fc39300beb7a11436715809ac1a9fd230fa4640c7f4f9c34b69aaf7", + "build.gradle.kts": "780d597cbe0f80d0103221a566db7574d1e07b17adca5bdbe7d6c728d77df12a", + "gradle.properties": "e43a00491832254a35cf5a979ef6de17f78c4e159d446be39319d2e3d3e46325", + "gradle/wrapper/gradle-wrapper.jar": "55243ef57851f12b070ad14f7f5bb8302daceeebc5bce5ece5fa6edb23e1145c", + "gradle/wrapper/gradle-wrapper.properties": "13287ffad6cf3064056ddad80d95b855132348930b2dc6c91490588c55b3ac7d", + "gradlew": "aed171fb114f82e6eaea4970a245a200e0582a7dcc8ec0891ca41b6e4a62b754", + "scripts/android_clipboard_recovery.py": "4aa2d03a100791544d282de37a2f62b6f7bfd94c47cc5611b6b6448ed8a946c1", + "scripts/android_form_documents_fixture.py": "ef44f5a9af1397fc8e8ea1924e36c2dec18d5c56c02e22f4925752daf1034841", + "scripts/android_test_cleanup.py": "1f4a1d70d251ec0a8294932388ce881da144c9c7d1c05df54df2c5b246d46373", + "scripts/extension_bundle_snapshot.py": "08ae0408a22e4f4c3c8a8b22af31b6a6a16d304dc0d14d5e489596dd9731a950", + "scripts/extension_manifest_catalog.py": "18c6048a0690e68dba3da1e8d11c5abccac16c3c26aa8803ff80abfd1dabe7e4", + "scripts/generate-emoji.py": "98f43c9a5941b4e65533e31ff7d7eaa4e697d8fecd4c7424297e6957e07abd53", + "scripts/generate-tinycast-grid-oracle.py": "bd53975673883b624d2553cd47687c5a3a760b17181a8c0621715ed1599b3118", + "scripts/package-nightly-update.py": "2a650baee0c7c76eadd360171e19686aad7b960fe34ebc780638c6b231032420", + "scripts/summarize-readiness.py": "e63d9d2ec435d2c369ae0be126bafb0b0507e903b03674f11a77ee10b428fe64", + "scripts/test-api-compatibility.py": "1ba4bf24535130bfd59a5f1d9d4830ca075e7158fc2cbe316696fcadb6108065", + "scripts/test-assistant-touch.py": "fd5a4acfdd19ddc60eb467fea3c7d2e8ab7ac717bea35c76d007577c23235a54", + "scripts/test-calculator-intent.py": "93ef5653c4d0c153d8f216c9fd74557089a964eaab80c84c85ab5460ec58f1a1", + "scripts/test-configurable-shortcuts.py": "56f4581f78265ec2c28faa1da115ae10a8349cf47e10db60bfba3e88f0cc3e73", + "scripts/test-extension-grid.py": "26f15b12f40277cbd3b6b874c58e41ab7e26735ef8e70634e5b5eb53b5652560", + "scripts/test-extension-workflows.py": "c6cce4d533b45655a7763305379107840a93a1a953be0322a869c7505ffc0997", + "scripts/test-global-shortcut.py": "4a0f57d16dfccbd0c7b33d6b78a841ccad030c4bad6fb108ac80f15dc89f6d6a", + "scripts/test-modifier-taps-hardware.py": "b0d2da7fd2410095d65ef20e25cd9b8e90f9b480849dfd5e497f75d4d713139c", + "scripts/test-modifier-taps.py": "8cb08d228371c90f995ae2246ef0a92daf6c81724c11a1ac67374ed0dd347dab", + "scripts/test-readiness-benchmark.py": "1f92dc1989f1ff36c82433d6eaab1e2c896abf7541a24a9b215c109e49d1a7d9", + "scripts/test-restart-files.py": "65f1c311df77634f746cb155d831acf1fa4d8cf05d0e1dabc9d372bf1e842065", + "scripts/test-reviewed-text-input.py": "4e9ab25f0b1bce00277d0dde5a37a29ab8cbbdb9900699c5bdfd9cfa4b9bb248", + "scripts/test-reviewed-text-process-recreation.py": "eecd547c48ad2bbce2d8bae62bbed26a2484e0b5d97ebb7cb989ba98d4de2a23", + "scripts/test-search-header.py": "772cb70442bbf28086beb8087ebce94d02ba6cc10e6acf8c2cf91a0d8d5b39d0", + "scripts/test-self-updates.py": "4ff148ea90c3a148a1eacf74116db288e5e9c282f69e0c331caa6f22b1a40889", + "scripts/test-startup-performance.py": "9ac605bf3347fde625d279767bb8fc4de76ae82f099e7d8351416fa5bc9250ae", + "scripts/test-touch-readability.py": "d9ae59ab3db56d63cb5c959c200263b71acd0e04c305dce4e9ceb8a395933fb6", + "scripts/test-webview-engine.py": "4cef6df9b6f28aafa5e303e72b146dac0f20ac3754d2825d704d42b2c5b5d1e3", + "scripts/tests/test_android_clipboard_recovery.py": "b260d3adcfa33e2641affebee9bebb1676097b4a24bbdbeb89cef7f3fc889176", + "scripts/tests/test_android_form_documents_fixture.py": "c2b573793d6c5d48fe9dc8e75ffc554e11818e319507080a4b96aa4e24e1fc03", + "scripts/tests/test_android_test_cleanup.py": "49c8831c517f0777f46952376f5d3b783322eeb25f063d69a9b1bc2f8cde01cf", + "scripts/tests/test_extension_bundle_snapshot.py": "382561907129ac58b7e20b963c1afcbc9bc1a03b7e18da64e7d61927a8b15783", + "scripts/tests/test_extension_manifest_catalog.py": "57af21edf39e3e4084453830eed62d3c052ba8d8a4f942d3d69807e2cd4b69a6", + "scripts/tests/test_extension_workflow_guards.py": "1cea982b85cf759e691471cad72b8e2cbdccdf3c2ccc6c483b1ef01b49002a3f", + "scripts/tests/test_private_archive_transport.py": "168c1607d4e1efa7537241cf362316ce354706af33465dc63e73d210ab0327d1", + "scripts/tests/test_private_path_observation.py": "3c0fff3062ac9b43aab67ed4ab2d53b92fa39f9af9e0ada9d197856a1df94e95", + "scripts/tests/test_reviewed_text_archives.py": "0308a50c148c97ed50381e894eabd43ec6e374878f99b810244c24e25f1a626e", + "scripts/tests/test_reviewed_text_runner_guards.py": "a3d489fe141be669374ecd0b3a6231afc5efdf4abfc6a74f7d25efec4e67038c", + "scripts/tests/test_webview_engine_runner.py": "846ee3b34578f92bd3f728eac4044c5ef4481478e3ec9d744e848e0094119168", + "scripts/verify-recorded-workflow-catalog.py": "fc0ec3b595b3a892238a4e0cc19b79ca092e8dcbe3e4af1d261e4874f984c2d5", + "settings.gradle.kts": "6a8db88135b364d8bd2facb607fc4e9e9476c171d2b7f7f3a0892c57a9ee6487" + }, + "scope": "Immutable production974b remains unchanged. This fresh harness observes constrained empty-body visibility under#111 while preserving mandatory Clear/header geometry, exact model, pointer, focus, IME and stale-owner assertions. Earlier failing harnesses retain their own contracts and receive no final credit." +} diff --git a/docs/validation/touch-search/identities/final-harness-v7/source-and-asset-verification.json b/docs/validation/touch-search/identities/final-harness-v7/source-and-asset-verification.json new file mode 100644 index 00000000..d8cfd133 --- /dev/null +++ b/docs/validation/touch-search/identities/final-harness-v7/source-and-asset-verification.json @@ -0,0 +1,20 @@ +{ + "source_revision": "ca17e6665ee5fd06c09a12f11abbfda8eb77a2fb", + "source_hashes_verified": 254, + "all_current_sources_equal_frozen_git": true, + "packaged_asset_count": 11, + "all_three_app_asset_vectors_equal": true, + "asset_sha256": { + "assets/ANDROIDSVG-LICENSE": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30", + "assets/ANDROIDSVG-NOTICE": "2e61b715e3553494f46f43e5a88e8d26c56201e0558c8d5ab02946edb4f7dedf", + "assets/COMMONMARK-LICENSE": "11cfcf6da0142fb1971c1f40f5924ddded14454e2793d7f1dd87c9f4abe42dfd", + "assets/COPYING": "14609801e0e520dac851e75d993ca4c75c3842a3be468f6f7f04a16c03c824db", + "assets/GEMOJI-LICENSE": "7ea1d1fd0602e6623b9a65e791499a0ea5a2f5f60f91bfad78cbaeee19da26e6", + "assets/NOTICE.md": "c263e44ea9a845c4e4ec564eeca46ae0fc343f63ffd10685afbf74586647e0f6", + "assets/REACT-LICENSE": "da6d3703ed11cbe42bd212c725957c98da23cbff1998c05fa4b3d976d1a58e93", + "assets/RaycastRuntime.generated.js": "b306b45453cc8507037ff2822066475aae17def757a8ef72d4a4fc64c6494bb7", + "assets/android-runtime.js": "1b5dfa3f5b512f55322f27703bbebf15d1a8c4569c4c1712a6dd64541dd552aa", + "assets/emoji-catalog.tsv": "e49f1cc09c6f487a6e7b55590ecc171dcff390f720a9ce3820fe2038810d5d66", + "assets/extension-workflow-evidence-v1.json": "4e8adc22b7887996140190a999f1c7272556f2dd379d219c88e276e48aea0fa5" + } +} diff --git a/docs/validation/touch-search/identities/final-harness-v7/test-apk-payload-differences.json b/docs/validation/touch-search/identities/final-harness-v7/test-apk-payload-differences.json new file mode 100644 index 00000000..d2c73b76 --- /dev/null +++ b/docs/validation/touch-search/identities/final-harness-v7/test-apk-payload-differences.json @@ -0,0 +1,36 @@ +{ + "pairs": [ + { + "left": "original-f79", + "right": "diagnostic-7003", + "changed_entries": [ + "classes3.dex", + "classes4.dex" + ] + }, + { + "left": "diagnostic-7003", + "right": "final-54a", + "changed_entries": [ + "classes3.dex" + ] + }, + { + "left": "original-f79", + "right": "final-54a", + "changed_entries": [ + "classes3.dex", + "classes4.dex" + ] + }, + { + "left": "original-f79", + "right": "unused-compiled-9e80", + "changed_entries": [ + "classes3.dex", + "classes4.dex" + ] + } + ], + "scope": "Actual uncompressed ZIP entry comparison. These instrumentation APKs are distinct; source/build identities and controls remain separate, without stamp-only equivalence." +} diff --git a/docs/validation/touch-search/identities/final-harness-v7/test-manifest.xml b/docs/validation/touch-search/identities/final-harness-v7/test-manifest.xml new file mode 100644 index 00000000..ec741fb2 --- /dev/null +++ b/docs/validation/touch-search/identities/final-harness-v7/test-manifest.xml @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/validation/touch-search/initial-settings-receipt.json b/docs/validation/touch-search/initial-settings-receipt.json new file mode 100644 index 00000000..29c45d30 --- /dev/null +++ b/docs/validation/touch-search/initial-settings-receipt.json @@ -0,0 +1 @@ +{"four_raw_secure_settings_captured_privately_per_device": true, "scope": "Current baseline after PR109; original earlier pre-probe history identity remains uncertified"} diff --git a/docs/validation/touch-search/launcher-anr-observation.json b/docs/validation/touch-search/launcher-anr-observation.json new file mode 100644 index 00000000..1f255ebe --- /dev/null +++ b/docs/validation/touch-search/launcher-anr-observation.json @@ -0,0 +1,54 @@ +{ + "actual_failed_cohort": "verified-phone200", + "window_observation_after_completed_cleanup": [ + "Window #6 Window{a314494 u0 Application Not Responding: com.google.android.apps.nexuslauncher}:", + "WindowStateAnimator{9f63985 Application Not Responding: com.google.android.apps.nexuslauncher}:", + "mAnimationIsEntrance=true mSurface=Surface(name=Application Not Responding: com.google.android.apps.nexuslauncher)/@0x53b33da" + ], + "launcher_package": [ + "package:com.google.android.apps.nexuslauncher" + ], + "retained_capture_dialogs": [ + { + "capture": "artifacts/touch-clear/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "dialog_nodes": [ + [ + "android", + "android:id/alertTitle", + "Pixel Launcher isn't responding" + ], + [ + "android", + "android:id/aerr_close", + "Close app" + ], + [ + "android", + "android:id/aerr_wait", + "Wait" + ] + ] + }, + { + "capture": "artifacts/touch-clear/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "dialog_nodes": [ + [ + "android", + "android:id/alertTitle", + "Pixel Launcher isn't responding" + ], + [ + "android", + "android:id/aerr_close", + "Close app" + ], + [ + "android", + "android:id/aerr_wait", + "Wait" + ] + ] + } + ], + "scope": "Both failed pre-action PNG/XML sets visibly contain Pixel Launcher not-responding dialog above Droidcast. App-window focus was not measured in the failed case receipt; the dialog is direct evidence of an obstructing external window. No production repair or failure-to-pass conversion is claimed." +} diff --git a/docs/validation/touch-search/launcher-anr-recovery.json b/docs/validation/touch-search/launcher-anr-recovery.json new file mode 100644 index 00000000..0f169771 --- /dev/null +++ b/docs/validation/touch-search/launcher-anr-recovery.json @@ -0,0 +1,13 @@ +{ + "completed": true, + "checks": { + "owned-avd": true, + "unprivileged": true, + "idle-instrumentation": true, + "previous-cohort-restored": true, + "anr-window-absent": true, + "four-ime-fields-unchanged": true + }, + "action": "Force-stop exact observed Pixel Launcher package on the owned dedicated AVD; no app data wipe or APK/source changes", + "scope": "Dismisses the directly observed external ANR window. The failed cohort remains failed; the next execution will use unchanged app/test/controller hashes." +} diff --git a/docs/validation/touch-search/old-controls-calibration.json b/docs/validation/touch-search/old-controls-calibration.json new file mode 100644 index 00000000..656f0968 --- /dev/null +++ b/docs/validation/touch-search/old-controls-calibration.json @@ -0,0 +1,46 @@ +{ + "controls": [ + { + "cohort": "old-tablet100-1", + "passes": 0, + "intended_failures": 1, + "assertion": "Clear control display at geometry line107; ordinary before image, not an app error banner", + "expected_absent_tag": "search-clear", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "test_log_sha256": "eefae928b4c1c0dd3be792b57017479363ed15ccee3fd6e18dd71fbef03ad4f4", + "cleanup_checks": 15 + }, + { + "cohort": "old-tablet100-2", + "passes": 0, + "intended_failures": 1, + "assertion": "Clear control display at geometry line107; ordinary before image, not an app error banner", + "expected_absent_tag": "emoji-search-clear", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "test_log_sha256": "ad145673c8c289e7b62d482f359f25b4b432a1b9b605562deb71f76745c74d98", + "cleanup_checks": 15 + }, + { + "cohort": "old-phone100-1", + "passes": 0, + "intended_failures": 1, + "assertion": "Clear control display at geometry line107; ordinary before image, not an app error banner", + "expected_absent_tag": "search-clear", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "test_log_sha256": "edeb27f024f4ba606e74dcbbbbe6a0673cff85f5a896d072dad7a316997534bc", + "cleanup_checks": 17 + }, + { + "cohort": "old-phone100-2", + "passes": 0, + "intended_failures": 1, + "assertion": "Clear control display at geometry line107; ordinary before image, not an app error banner", + "expected_absent_tag": "emoji-search-clear", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "test_log_sha256": "934715d5bb65d6bf692a369c8a72e319c1a42c1f5c4f6cafdd12cf9572168daa", + "cleanup_checks": 17 + } + ], + "all_completed": true, + "scope": "Intended missing-Clear failures remain failed in the positive-only runner; no runtime repair or parser-error credit" +} diff --git a/docs/validation/touch-search/pipelines/native-final-v3.json b/docs/validation/touch-search/pipelines/native-final-v3.json new file mode 100644 index 00000000..b2d11cca --- /dev/null +++ b/docs/validation/touch-search/pipelines/native-final-v3.json @@ -0,0 +1,26 @@ +{ + "app_source": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "test_source": "07a2de6df0403ed15b03d3712cdd7724b4946f10", + "apk_sha256": { + "app-debug.apk": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "app-debug-androidTest.apk": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6" + }, + "completed": false, + "cohorts": [ + { + "name": "final-tablet200", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "state": "finished", + "started": 1793886312.041026, + "exit_code": 1, + "finished": 1793886390.4655418, + "passes": null, + "failures": null, + "completed": false, + "cleanup": {} + } + ] +} diff --git a/docs/validation/touch-search/pipelines/native-final-v4.json b/docs/validation/touch-search/pipelines/native-final-v4.json new file mode 100644 index 00000000..c8cf8ee1 --- /dev/null +++ b/docs/validation/touch-search/pipelines/native-final-v4.json @@ -0,0 +1,31 @@ +{ + "app_source": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "test_source": "07a2de6df0403ed15b03d3712cdd7724b4946f10", + "apk_sha256": { + "app-debug.apk": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "app-debug-androidTest.apk": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6" + }, + "completed": false, + "cohorts": [ + { + "name": "final-tablet200-v2", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "state": "finished", + "started": 1793887195.677036, + "exit_code": 1, + "finished": 1793887556.552435, + "passes": null, + "failures": null, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": false, + "error_type": "TimeoutExpired" + } + } + } + ] +} diff --git a/docs/validation/touch-search/pipelines/native-final-v5.json b/docs/validation/touch-search/pipelines/native-final-v5.json new file mode 100644 index 00000000..4142a90b --- /dev/null +++ b/docs/validation/touch-search/pipelines/native-final-v5.json @@ -0,0 +1,334 @@ +{ + "app_source": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "test_source": "07a2de6df0403ed15b03d3712cdd7724b4946f10", + "apk_sha256": { + "app-debug.apk": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "app-debug-androidTest.apk": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6" + }, + "completed": false, + "cohorts": [ + { + "name": "ready-tablet200", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "state": "finished", + "started": 1793891216.082106, + "exit_code": 0, + "finished": 1793891305.46318, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "ready-tablet100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "state": "finished", + "started": 1793891305.4636428, + "exit_code": 0, + "finished": 1793891398.525738, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "ready-phone100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "state": "finished", + "started": 1793891398.5265431, + "exit_code": 0, + "finished": 1793891490.2540421, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "ready-phone200", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "state": "finished", + "started": 1793891490.2546089, + "exit_code": 0, + "finished": 1793891561.039127, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "ready-landscape100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "state": "finished", + "started": 1793891561.0397482, + "exit_code": 1, + "finished": 1793891670.296183, + "passes": 0, + "failures": 2, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + } + ] +} diff --git a/docs/validation/touch-search/pipelines/native-final-v7.json b/docs/validation/touch-search/pipelines/native-final-v7.json new file mode 100644 index 00000000..8c16dd90 --- /dev/null +++ b/docs/validation/touch-search/pipelines/native-final-v7.json @@ -0,0 +1,406 @@ +{ + "app_source": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "test_source": "ca17e6665ee5fd06c09a12f11abbfda8eb77a2fb", + "controller_source": "fed57fb02b52f660d4c35f216e5e227487235c50", + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "completed": false, + "cohorts": [ + { + "name": "verified-landscape100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893337.096389, + "exit_code": 0, + "finished": 1793893447.1242838, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "verified-landscape200", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893447.124713, + "exit_code": 0, + "finished": 1793893610.275118, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "verified-tablet100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893610.276054, + "exit_code": 0, + "finished": 1793893732.479594, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "verified-tablet200", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893732.4800131, + "exit_code": 0, + "finished": 1793893811.899729, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "verified-phone100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893811.900198, + "exit_code": 0, + "finished": 1793894019.6687732, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "verified-phone200", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793894019.670729, + "exit_code": 1, + "finished": 1793894105.6188428, + "passes": 0, + "failures": 2, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + } + ] +} diff --git a/docs/validation/touch-search/pipelines/native-final-v8.json b/docs/validation/touch-search/pipelines/native-final-v8.json new file mode 100644 index 00000000..abbe09d7 --- /dev/null +++ b/docs/validation/touch-search/pipelines/native-final-v8.json @@ -0,0 +1,526 @@ +{ + "app_source": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "test_source": "ca17e6665ee5fd06c09a12f11abbfda8eb77a2fb", + "controller_source": "fed57fb02b52f660d4c35f216e5e227487235c50", + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "completed": false, + "retained_from": "native-final-v7 first five whole unchanged-APK cohorts", + "excluded_cohort": "verified-phone200: external Pixel Launcher ANR, 0/2 remains failed", + "cohorts": [ + { + "name": "verified-landscape100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893337.096389, + "exit_code": 0, + "finished": 1793893447.1242838, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "retained_from": "native-final-v7" + }, + { + "name": "verified-landscape200", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893447.124713, + "exit_code": 0, + "finished": 1793893610.275118, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "retained_from": "native-final-v7" + }, + { + "name": "verified-tablet100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893610.276054, + "exit_code": 0, + "finished": 1793893732.479594, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "retained_from": "native-final-v7" + }, + { + "name": "verified-tablet200", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893732.4800131, + "exit_code": 0, + "finished": 1793893811.899729, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "retained_from": "native-final-v7" + }, + { + "name": "verified-phone100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893811.900198, + "exit_code": 0, + "finished": 1793894019.6687732, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "retained_from": "native-final-v7" + }, + { + "name": "verified-phone200-after-launcher-anr", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793894213.11287, + "exit_code": 0, + "finished": 1793894269.3444512, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "verified-guards-tablet100", + "cases": [ + "pointerClearRemovesControlledCompositionAndWhitespace", + "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "currentClearUsesLiveQueryAndRecreationRejectsOldCallback" + ], + "expected_control": false, + "state": "finished", + "started": 1793894269.345074, + "exit_code": 0, + "finished": 1793894343.832464, + "passes": 3, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "verified-api26-phone100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "pointerClearRemovesControlledCompositionAndWhitespace", + "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "currentClearUsesLiveQueryAndRecreationRejectsOldCallback" + ], + "expected_control": false, + "state": "finished", + "started": 1793894343.833181, + "exit_code": 1, + "finished": 1793894381.403323, + "passes": 4, + "failures": 1, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-absence-dev.tinycast.android.test": { + "passed": true + }, + "restore-absence-dev.tinycast.android": { + "passed": true + }, + "verify-initial-package-absence": { + "passed": true + } + } + } + ] +} diff --git a/docs/validation/touch-search/pipelines/native-final-v9.json b/docs/validation/touch-search/pipelines/native-final-v9.json new file mode 100644 index 00000000..319871b8 --- /dev/null +++ b/docs/validation/touch-search/pipelines/native-final-v9.json @@ -0,0 +1,1042 @@ +{ + "app_source": "5e7cb6b6e0bc146a9e78085f844594afe4d5e1be", + "test_source": "ca17e6665ee5fd06c09a12f11abbfda8eb77a2fb", + "controller_source": "fed57fb02b52f660d4c35f216e5e227487235c50", + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "completed": true, + "retained_from": "native-final-v8 first seven whole unchanged-APK cohorts", + "excluded_cohorts": [ + "verified-phone200: external launcher ANR, 0/2 remains failed", + "verified-api26-phone100:4/5, composition precondition had no underline before Clear; cause remains open in#69" + ], + "cohorts": [ + { + "name": "verified-landscape100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893337.096389, + "exit_code": 0, + "finished": 1793893447.1242838, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "retained_from": "native-final-v8" + }, + { + "name": "verified-landscape200", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893447.124713, + "exit_code": 0, + "finished": 1793893610.275118, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "retained_from": "native-final-v8" + }, + { + "name": "verified-tablet100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893610.276054, + "exit_code": 0, + "finished": 1793893732.479594, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "retained_from": "native-final-v8" + }, + { + "name": "verified-tablet200", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893732.4800131, + "exit_code": 0, + "finished": 1793893811.899729, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "retained_from": "native-final-v8" + }, + { + "name": "verified-phone100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793893811.900198, + "exit_code": 0, + "finished": 1793894019.6687732, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "retained_from": "native-final-v8" + }, + { + "name": "verified-phone200-after-launcher-anr", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": false, + "state": "finished", + "started": 1793894213.11287, + "exit_code": 0, + "finished": 1793894269.3444512, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "retained_from": "native-final-v8" + }, + { + "name": "verified-guards-tablet100", + "cases": [ + "pointerClearRemovesControlledCompositionAndWhitespace", + "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "currentClearUsesLiveQueryAndRecreationRejectsOldCallback" + ], + "expected_control": false, + "state": "finished", + "started": 1793894269.345074, + "exit_code": 0, + "finished": 1793894343.832464, + "passes": 3, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + }, + "retained_from": "native-final-v8" + }, + { + "name": "verified-api26-established-clear-phone100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "currentClearUsesLiveQueryAndRecreationRejectsOldCallback" + ], + "expected_control": false, + "state": "finished", + "started": 1793894483.455898, + "exit_code": 0, + "finished": 1793894567.8346398, + "passes": 4, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-absence-dev.tinycast.android.test": { + "passed": true + }, + "restore-absence-dev.tinycast.android": { + "passed": true + }, + "verify-initial-package-absence": { + "passed": true + } + } + }, + { + "name": "verified-regression-tablet100", + "cases": [ + "committedEmojiNavigationAndCaretAreExact", + "activeMultilingualCompositionKeepsResultSelection" + ], + "expected_control": false, + "state": "finished", + "started": 1793894567.8354611, + "exit_code": 0, + "finished": 1793894636.541752, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "restore-input-method-before-test-apk-stop": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-input-method-after-original-apks": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "verified-regression-phone100", + "cases": [ + "committedEmojiNavigationAndCaretAreExact", + "activeMultilingualCompositionKeepsResultSelection" + ], + "expected_control": false, + "state": "finished", + "started": 1793894636.542936, + "exit_code": 0, + "finished": 1793894696.795284, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "restore-input-method-before-test-apk-stop": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-input-method-after-original-apks": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "verified-regression-api26100", + "cases": [ + "committedEmojiNavigationAndCaretAreExact", + "activeMultilingualCompositionKeepsResultSelection" + ], + "expected_control": false, + "state": "finished", + "started": 1793894696.795904, + "exit_code": 0, + "finished": 1793894788.523584, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "restore-input-method-before-test-apk-stop": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-absence-dev.tinycast.android.test": { + "passed": true + }, + "verify-input-method-after-test-apk-removal": { + "passed": true + }, + "restore-absence-dev.tinycast.android": { + "passed": true + }, + "verify-initial-package-absence": { + "passed": true + } + } + }, + { + "name": "final-old-tablet100-1", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard" + ], + "expected_control": true, + "state": "finished", + "started": 1793894788.526138, + "exit_code": 1, + "finished": 1793894899.879175, + "passes": 0, + "failures": 1, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "final-old-tablet100-2", + "cases": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": true, + "state": "finished", + "started": 1793894899.879842, + "exit_code": 1, + "finished": 1793894949.6992488, + "passes": 0, + "failures": 1, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "final-old-phone100-1", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard" + ], + "expected_control": true, + "state": "finished", + "started": 1793894949.7007098, + "exit_code": 1, + "finished": 1793895014.5684412, + "passes": 0, + "failures": 1, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "final-old-phone100-2", + "cases": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": true, + "state": "finished", + "started": 1793895014.569197, + "exit_code": 1, + "finished": 1793895058.8988328, + "passes": 0, + "failures": 1, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "final-spacing-control-tablet200", + "cases": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "expected_control": true, + "state": "finished", + "started": 1793895058.899595, + "exit_code": 1, + "finished": 1793895109.478992, + "passes": 0, + "failures": 1, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + } + ] +} diff --git a/docs/validation/touch-search/pipelines/native-pipeline-v1.json b/docs/validation/touch-search/pipelines/native-pipeline-v1.json new file mode 100644 index 00000000..cd23748e --- /dev/null +++ b/docs/validation/touch-search/pipelines/native-pipeline-v1.json @@ -0,0 +1,380 @@ +{ + "source_commit": "07a2de6df0403ed15b03d3712cdd7724b4946f10", + "completed": false, + "cohorts": [ + { + "name": "old-tablet100-1", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard" + ], + "started": 1793884582.231462, + "state": "finished", + "exit_code": 1, + "finished": 1793884679.156678, + "passes": 0, + "failures": 1, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "old-tablet100-2", + "cases": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "started": 1793884679.157723, + "state": "finished", + "exit_code": 1, + "finished": 1793884732.179701, + "passes": 0, + "failures": 1, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "old-phone100-1", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard" + ], + "started": 1793884732.182953, + "state": "finished", + "exit_code": 1, + "finished": 1793884851.778462, + "passes": 0, + "failures": 1, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "old-phone100-2", + "cases": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "started": 1793884851.779764, + "state": "finished", + "exit_code": 1, + "finished": 1793885063.3723788, + "passes": 0, + "failures": 1, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "restore-size": { + "passed": true + }, + "restore-density": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "current-tablet100", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "started": 1793885063.373795, + "state": "finished", + "exit_code": 0, + "finished": 1793885253.1594188, + "passes": 2, + "failures": 0, + "completed": true, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + }, + { + "name": "current-tablet200", + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "started": 1793885253.161914, + "state": "finished", + "exit_code": 1, + "finished": 1793885391.378186, + "passes": 1, + "failures": 1, + "completed": false, + "cleanup": { + "idle-owned-instrumentation": { + "passed": true + }, + "stop-dev.tinycast.android.test": { + "passed": true + }, + "stop-dev.tinycast.android": { + "passed": true + }, + "owned-paths": { + "passed": true + }, + "palette-bytes": { + "passed": true + }, + "restore-font": { + "passed": true + }, + "verify-settings": { + "passed": true + }, + "profile-installer-marker": { + "passed": true + }, + "installed-data-and-evidence": { + "passed": true + }, + "verify-unprivileged": { + "passed": true + }, + "restore-binary-dev.tinycast.android": { + "passed": true + }, + "verify-binary-dev.tinycast.android": { + "passed": true + }, + "restore-binary-dev.tinycast.android.test": { + "passed": true + }, + "verify-binary-dev.tinycast.android.test": { + "passed": true + }, + "release-owner-last": { + "passed": true + } + } + } + ] +} diff --git a/docs/validation/touch-search/post-test-recovery-interrupted.json b/docs/validation/touch-search/post-test-recovery-interrupted.json new file mode 100644 index 00000000..96516ec4 --- /dev/null +++ b/docs/validation/touch-search/post-test-recovery-interrupted.json @@ -0,0 +1,23 @@ +{ + "completed": false, + "checks": { + "owned-avd": true, + "api36": true, + "unprivileged-adbd": true, + "idle-instrumentation": true, + "owner-namespace": true, + "live-owner-exact": true, + "candidate-package-dev.tinycast.android": true, + "candidate-package-dev.tinycast.android.test": true, + "registered-capture-names": true, + "raw-junit-two-passes": true, + "palette-before-bytes-bound": true, + "original-font": true, + "original-size": true, + "original-density": true, + "four-ime-values-readable": true, + "original-four-ime-fields": true, + "original-binary-dev.tinycast.android": true, + "original-binary-dev.tinycast.android.test": true + } +} diff --git a/docs/validation/touch-search/post-test-recovery.json b/docs/validation/touch-search/post-test-recovery.json new file mode 100644 index 00000000..255aace0 --- /dev/null +++ b/docs/validation/touch-search/post-test-recovery.json @@ -0,0 +1,46 @@ +{ + "completed": true, + "checks": { + "owned-avd": true, + "api36": true, + "unprivileged-adbd": true, + "idle-instrumentation": true, + "owner-namespace": true, + "live-owner-exact": true, + "candidate-package-dev.tinycast.android": true, + "candidate-package-dev.tinycast.android.test": true, + "registered-capture-names": true, + "raw-junit-two-passes": true, + "palette-before-bytes-bound": true, + "original-font": true, + "original-size": true, + "original-density": true, + "four-ime-values-readable": true, + "original-four-ime-fields": true, + "original-binary-dev.tinycast.android": true, + "original-binary-dev.tinycast.android.test": true, + "continuation-owner-exact": true, + "continuation-owned-avd": true, + "continuation-idle": true, + "no-unexpected-nonregular-paths": true, + "lease-only-registered-owner": true, + "all-original-files-and-preferences": true, + "final-original-binary-dev.tinycast.android": true, + "final-original-binary-dev.tinycast.android.test": true, + "final-size": true, + "final-density": true, + "final-font": true, + "final-four-ime-fields": true, + "final-unprivileged": true, + "final-owner-revalidated": true, + "release-owner-last": true + }, + "preserved_original_file_count": 573, + "recovered_capture_files": 29, + "raw_junit": { + "passes": 2, + "failures": 0 + }, + "verification": "All original regular-file hashes computed on device and compared with private before-data bytes; nonregular paths rejected. Large tar re-export timed out; original failed receipts remain failed.", + "scope": "Separate recovery after graceful restart of the same persisted AVD. APKs, files/shared_prefs, geometry, raw font and four IME fields verified before final release. Private originals excluded; no whole-system/cross-boot logical-identity certification." +} diff --git a/docs/validation/touch-search/preflight-recovery.json b/docs/validation/touch-search/preflight-recovery.json new file mode 100644 index 00000000..f77a0d0a --- /dev/null +++ b/docs/validation/touch-search/preflight-recovery.json @@ -0,0 +1,25 @@ +{ + "completed": true, + "checks": { + "no-native-log-created": true, + "owned-avd": true, + "api36": true, + "unprivileged-adbd": true, + "idle-instrumentation": true, + "host-owner-namespace": true, + "live-owner-exact": true, + "one-original-package-dev.tinycast.android": true, + "original-apk-dev.tinycast.android": true, + "one-original-package-dev.tinycast.android.test": true, + "original-apk-dev.tinycast.android.test": true, + "lease-has-only-registered-owner": true, + "all-original-files-and-preferences-equal": true, + "original-size": true, + "original-density": true, + "original-raw-font": true, + "owner-revalidated-last": true, + "release-owner-last": true + }, + "preserved_original_file_count": 573, + "scope": "Zero-test pre-install archive timeout; original binaries, all files/shared_prefs, geometry and raw font matched before release. No restore writes were needed. Private originals/owners are not published; no cross-boot certification." +} diff --git a/docs/validation/touch-search/retained-captures.json b/docs/validation/touch-search/retained-captures.json new file mode 100644 index 00000000..ecf5b65a --- /dev/null +++ b/docs/validation/touch-search/retained-captures.json @@ -0,0 +1,2614 @@ +[ + { + "original": "artifacts/touch-clear/old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "bab6aca72b2cd8e508de9e784c9b70ee09aeaa1bc7a5ddde2157ad343002f18e" + }, + { + "original": "artifacts/touch-clear/old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "018fe473e7ff303afe4cc2ca7466ce8353a3bb4339358f592434773d7ab06b41" + }, + { + "original": "artifacts/touch-clear/old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "3af0693f24d6cd6663b53771f2ceafaafa267eaff0273b0de4e0ebd1b733638c" + }, + { + "original": "artifacts/touch-clear/old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "25ce543135f0711ab00d9e0d8a3f105c3c3803a941b4fe03612aa444d7aa18b4" + }, + { + "original": "artifacts/touch-clear/old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "800490c8afbc0ceed7d08c68767a5f96995f494c1318545d93d42a2909b6c8d2" + }, + { + "original": "artifacts/touch-clear/old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "0f01973c79cbab7dd04deb1d692e1c34fe7dc442205587c0cd6362bc2b1e13bb" + }, + { + "original": "artifacts/touch-clear/old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "ef48f0bc2b3731ef50b0244388a84e5c826166280578e7dde02d95cdbd698ac4" + }, + { + "original": "artifacts/touch-clear/old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "9ae6a82f564b24bc304dd74e0dca1ce5233c3daf8d3fd5a57ae9b0fa3466e44e" + }, + { + "original": "artifacts/touch-clear/old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "3318780c53c82b689eb6916f434c5ac004ea2640d0c63592196e62f9fba06573" + }, + { + "original": "artifacts/touch-clear/old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "39a38627eb7c22f76b745450ce000d424d89cc841bb44cbb63fa4420c0d6cbf2" + }, + { + "original": "artifacts/touch-clear/old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "88f6e5d198c1e277439c168e79d72e65130bc6cb31fc4aec252ca1b8b4ee111a" + }, + { + "original": "artifacts/touch-clear/old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "25ce543135f0711ab00d9e0d8a3f105c3c3803a941b4fe03612aa444d7aa18b4" + }, + { + "original": "artifacts/touch-clear/old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "055c2e6c710582f378e9b70d9bb119c99514e1c4def25b50437559b3eec4361c" + }, + { + "original": "artifacts/touch-clear/old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "29798adc550d63900e55bba8044b8ee1e14847cffd28a817cf261dfbbd12fce1" + }, + { + "original": "artifacts/touch-clear/old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "1839ec1a49448aa27bfa57af19924c36ff1d5c5d562aea7b240f6eb51fe0481d" + }, + { + "original": "artifacts/touch-clear/old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "9ae6a82f564b24bc304dd74e0dca1ce5233c3daf8d3fd5a57ae9b0fa3466e44e" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "ecf876dbe8d5063db936ed35738104dc734c4d8b123ad8d034db17b5086af07c" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "6830eb17320aacccb26ddb736d421dc82a0c5ee97489060bce910d06f4dd51ec" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "8a8b31c0d22a855a570ba6c639237bab5fc49cd27895df16985d603a572b1bea" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "5adb4b93d72b5f1522af71c5cc057e34fc8abe3e8e2dc67666f3005cbdc44694" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "f0183aff69b5b05dc9a0e27909fcb7b04a93292daca85481cd7973e5c92d5c2c" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "844559e987e11c2eed1109abf350462cb44c5c0a154b4c44442d8c23c84b2b66" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "f7825275bd400a2c7d0b802fae97698ae29dc025626950d2bf6de3ce292d11ca" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "87d50da74ada9ce5b64af8e465ee28387b8327bdfb1f9c789681da5eb8800acd" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "d05792bb5f6b9173879bdefa49259ada70d5d17d5d3f3be82d57444916e8d74e" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "dee3a8107d025983cfe4d674daf48149d028389390f8df1b3a0fe423f5709e78" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "7e1c81e474607ec053944a66ed3d215c09d15484d921e8c1311175fb21d1b5ed" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "e40dd5dfc9a198ecdd6d37556a157653d5e73a54b33e682475c2bbd5392083a1" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "a7608993abce1a41764ca22a2666ab73a60f047e5335c6ad2c09c6751f2aaf30" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "dcecf23ead4fd3ece292d719e00e781da15ce8010ad007bc417d4c2c97cdbf1a" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "35511b6fb5c4b7a16356e7f7d0e754117be1dba14303578f4ca0641ad9a0f219" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "3390d8b768c87306117b69fbc0bede1771de792fe9abf8a650c5a189a63d0ff1" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "7715ab2eb79d3b969e079865245118acf1413b729260b6b7952d64eab3440a9f" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "5e36592d5b5549456f3953f5044854ba0cf692560179a935f19a18994386bdb8" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "88877dea617fc2af0e7a819b91a632a39f0ff447ffddb4abfc8f6867257e18f5" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "0d0700186c0d55466c12fcef7e9fb6973c467ceb060746a0ea33a5e20dbb884e" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "c9bb029866e8a9adaea9d60ef8304706e5b0889f17ebac5ee6ce208aefd15237" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "d5ec32a2a67ac640c4cabdf85bda96c9b1b53413d7eb7557d0b076d5446804a2" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "e1d3162b6cbccc7b2e7a76f9d7f6312de5ed6398da15c53070505f2a432eadbb" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "7378dc378fc8a5fbfdb761c1f8cbaa5b8b5fef100af5f62068162f05b79169d2" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "24f14fbb85af3c234aa1331a17c44cc066fb61f585c34ac2cc65de7aa6af5096" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "19eff74bebd7b1d2d70c1546911fa97b0e1e13dcca0aec7855cd8778a16321b0" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "e48508d0657e92db09b81b585a73c4d8f770d83b480d62758089a14f3920fcd9" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "6d9e8b4bcac5699874bbec015627b480e85feb0582c312ae3c969c3eaf3ca17f" + }, + { + "original": "artifacts/touch-clear/current-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "b522c56c3a9207fe82a25c2c4a1ea6e0a86e1e22f802516bc16b2056e0f01fb9" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "2312606e259ff3a5d65004a9d319968528e57e152e95aa2c35b78ebe27255d9a" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "b3d44d6f3a86d359631bb8038452c0cc24fe8995e336a84fc11dd9a9969ac7b5" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "af93c54e66c94ec30aaa05b574e3dc67018f595bd4a31a7beb1f36e3e28db3f6" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "e0e64648b88ce895af8dd5fa4f8fc92e25e6f2cc094ff526a9fd2c65511ebd5c" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "fe8a5814fb369bbcec239543784469a3c59e27c55c72abd374fe3a519c369201" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "1150019e60cef61241bc56e7e59b66f23955161e4bb57932f76cacdba8b91d2d" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "045c03558c48af756daf6f0078655ea5d77b00d4a18c8163439206a79b666261" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "5bbd9bb6e944905ac715657c60697389ebdff39d9464236fe93407054283c302" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "c75370405db044d1dad25d7839e29a42587a66205c8b434e45999c6fc3d8d621" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "5335a27bd7bb26680cdce7fe12ccc1f513902a16658ed5c0601c8cbaf014f064" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "fc7ac0d7aa179ec6630cfb7d3dc41e90030e4d2da787daf8484fd1853d548d1f" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "5089865def933a36d306ef298d51be6eef73b19a99e00ea6d32a83e8e914a10c" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "608522254d6159fe90250aa446dda86939777df515d7336fc0676d9719a6a9f1" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "2f9946f802cb75cf8bfcb658d1743e3be751fe5aba2a8bc25e1ed6f0a7a4a242" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "23219669ca43fbd1d90b4b3a50ad9f2573940f51b3c3900c71ebe54716629290" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "5ebb0a0773340985fc4b867f81028ce0227b9e6b92b11043689192fdf7ec542b" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "d5b2028411d20a3a9bcc05feedc928557a9be974eee11c2a9b9d6f8146c65ed9" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "6780d21355a6a2e9b1c8b9b87579c9930ca478513a9a95397ad41123bf6fb444" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "b520db8f0022d0c0fcd76aa49c2d537f9f57433a32bec2c0fc4d64ad2505d801" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "5f547c3caa0704375788ea0a1b738272dcf86842428419cd026d4b4673919770" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "328f1c62f7b5c6c54968bfdac72a2bd1dcc5b3aedf19c9127dc3b3e010f42b34" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "93f43193e27a09f4dc41451fe0626528dd2a5636f660df82c3111a96bd6942fd" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "48ea5a27f223d59ae28c4692d66acb112328fa285eaf3b1d5670f31f200ea8b6" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "0a0eab361683f080e6d671009897bffce61bcd6546d2bceb5e427c1090609eb6" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "7f8965715aa49d7a4295e8ed5ff74931aeef492d0bd64f68ef3201d7b8c8049e" + }, + { + "original": "artifacts/touch-clear/current-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "3b9713a90d02184420e2fd6063a6b0a4162acbb3897c0c50538e7198dea90a5d" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "483a19e90fc38efc8d3f4753cce9b0e8f2f26177195d730b8f505a658c3313a0" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "af93c54e66c94ec30aaa05b574e3dc67018f595bd4a31a7beb1f36e3e28db3f6" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "f5b5b88e91e8f5e8b4995f1ccb1fb57c24cc4aa72db6f05af838993e6a57aa38" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "d4fbe73ebc29ecdf1483b193a49163823687bc53c395c39665244ca0faa68ff3" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "1150019e60cef61241bc56e7e59b66f23955161e4bb57932f76cacdba8b91d2d" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "5de71c3a64b7e3be32474f3b9f4fc2ad804fc51f1f7f1ed01ced7cb2d8b651c1" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "41a48585199143d77819476da688b170e3bdf2c9295c10cf033c0e95f129c7f9" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "c75370405db044d1dad25d7839e29a42587a66205c8b434e45999c6fc3d8d621" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "4b9787990930d22c1da211b3a653628a5ee67bf029ec5e5e4485e36e3ecabf31" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "7b7163483e42a4e481faf98b0d6dff7834c5aa2eb3ee1ba1f7f7fabcd5f3dca8" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "5089865def933a36d306ef298d51be6eef73b19a99e00ea6d32a83e8e914a10c" + }, + { + "original": "artifacts/touch-clear/spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "608522254d6159fe90250aa446dda86939777df515d7336fc0676d9719a6a9f1" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "a6c9e1a013cd1269fafe02b325010f8e0344fa887a41f3d817bf07117f126a89" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "babe0003e2dd6aa87c05e13aba71557e8ae013dbdb6bd751ca94653592fee5b7" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "4edb089a0d0cc912e3a39a2ad453ca0e74a7e3b02936ebf754598daed0e3ddea" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "62b07bcd7a2442bc2373a85225e780b1ea894292edc2b329d9b6827086170990" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "3842ee4a7554f3b08a2b7c4e9755ba29bc4c281bdafad9e7f786b68af302bfde" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "d6cadd16243a505faec61d5647c211d47e1ca4d575c001ef7c07fb526b1f78b2" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "985d18cbf43359efb19fdc79d72ce12cfa6a72d9dffd1395240ce56bfa439a95" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "9c853ac6009d396d86233e87c7785d3cca76d7176b8f7d0d103335c9137b820c" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "63262b9aece34538793029df166aaf5c39db6df03bde66f02fb8fa9d8d56cfcd" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "13c5a61490fd72e011c265132cacb690997cdcfebe6921b716ad8093543ac42e" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "72abe3f2a526e4648a6516484dc11cfbd35d1cd596f89ac109fc99b4df19b9d7" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "52b5280c366ccc83da37ceb5aa5cbfb3e8758a97b7da2008a900164144a30d09" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "e92077590774295abe30d9dd99ad01dd2b2d0821255f7935176bd061bb4e0ff7" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "81489ca308a7f61b7aed2bc71a58ad97916187e04ee4648689c08e7bcec4d843" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "91791c46dd5cc282fb68a5e5c9ee1acc987b90e191e9d1a48035927168bd4332" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "df5eb8a7fc9cc57476e84c80546d3dd34139165c3b73430b5593e60023645cec" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.xml", + "sha256": "80b04d554eb8d4387abc29d3c39d6b7eebcd71ac9c8a0298c2ef83577f85e0ca" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.png", + "sha256": "d7676bcd0de52817505d4f33af439070ffbb7328e2000b134bf287da2748b777" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition-frame.json", + "sha256": "6fafe3721f6cda01bc19b990144cdf2536dd72e30de7702f4e4b40ec617ed48e" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.xml", + "sha256": "c22745ad41e693dfacbe34a6f65f8a40418ab5b83d087bb4a700b416f8351331" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.png", + "sha256": "e227bc1a9900312dfad70f59032a71d31b4215476a0f4b2d562ff844131a5c8b" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared-frame.json", + "sha256": "75d71af45ca7a54c873876baf77e0a3641852f993e5330355703d241d9a41edd" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.xml", + "sha256": "589cddec680bd67fde10e6d1b6caab58622c642602086ddf333915fde1022c1c" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.png", + "sha256": "c41b84a7fcdf09e75c8e16a147090414455a3db6b3fddf342b2f5d1d9496e54e" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition-frame.json", + "sha256": "dcf0c92e5e5dbece0b45e6f8b3232e415bb979a2124d423b3f950162075dab91" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.xml", + "sha256": "0eed49b88e289bb1a09074ab7c72a954cebc60ff40fec5bc80284d4cbac00905" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.png", + "sha256": "675739652dd59103356642bdc52df2180c14621bc8557f433f967ccba87dc1d1" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared-frame.json", + "sha256": "5b6c13ede34541988b4673e73d91396114fc1104a2a45ce911172f590773fee0" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json", + "sha256": "eb85683597f55701a85e1bcd7a1111522ced2d4bfa2139385f3cd68e5c301d20" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json", + "sha256": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "43c9d74e01877b1915e41e7acc3b31a0eeed6b45efc852bf52ed66c7a5487bd9" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "3d8f1b5660ad88f9af14ca3f30bc8f8ed570a12f9830008ada5d60f10de230fc" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "57d9eb8a9348347861053e27fc27cfb1f89095e89eab088b7b4525a0bd353bf8" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "946970eb38260a384ef1d83291f028dc546b01c0cb5e88a0b4b91f6b4ec4f02a" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "6d3fdb4c371a0181bf8050631c075aeae4b079df5777bb34504368a6a6e48254" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "d28dccb4a1204bf927a946a539df0be3fc4352d94d753d6ba2c7fdc6cc12cac8" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "e0c702bafaff6a26f88abede8fefaebf47895d38afcce91738fac28a92ff7da9" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "bca970ca9d8c829900a1f15a8dff4e4f0257deb5ed29a71a34729ce12bd98440" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "eedc3a4f0396709a57cae7dab482663b8cc0a887b71ca36eac43dc3424eb1a63" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "a7985bbe04b020a892a54f7caa89d4f65c6b2b5ead3e93a2d6f3a121a33047d6" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "a47a29adf62a5382a7d7bb25423d38a4bc0bab5e7e9a87477c7de76d63cb9997" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "1000d8060b7466d029a06bcc1c05903a87b2e793da19cf59e23ebdffffd42306" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "6d826aec86c45bfd4366684fe815a344ad7042511954389b4ab7f28a67b68495" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml", + "sha256": "8136a0aade29789358049ccdc3fecf2b10fe622fee1c044de66bd5221a952960" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png", + "sha256": "1df746210eeab557923f2cff484b493ad772429edc1fbcd394e20474852a8a69" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json", + "sha256": "f1d308a5eb0f6b26ee0ae36bc295f36e65b61cdd9c287110f1bf5fb972747719" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml", + "sha256": "d9cab982c7b7f4769bced478cf8d3aabc93e4d0e64c00f0aa52559c95cf10693" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png", + "sha256": "180560d5e7a4c26c37efa6c29554d17c80166789b1997015a4b07e95f5a65c0e" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json", + "sha256": "8852e5e7085304ab359cb508307fb5ff0be4bc9715224d3edd881d56a86c8cfc" + }, + { + "original": "artifacts/touch-clear/legacy-independent-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json", + "sha256": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "cb90c642e3a30d6f5d5138965f5f2e456a2690f75e9d620b8df9b18a54ab0051" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "fb1543993218a3deb5d12139e7b126eb66d79408f1da2d50ec6c01b16d14ac03" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "539f2bda830bf4cfdcbe6ddf5292cb32ce354a96b7e4e08ee26c15e322ac1e03" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "506626faf3fc2410e2150f0640f38ed5d7e667df14182ae40d689b1e37442fab" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "104c2ccedb8edb151d02f0f7688a067f7c3971c9627823814d32d8983d9892b6" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "cb72b49a2840c16060634ef0e9880c647b6dfadaf48a874c1786af2019a3615d" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "6e483c974afd42ee5346462ab7270e127af8566144f97fa4b34179e5987e3e4c" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "0d331f7dd18705249c3db6669e6efc3857dfaf5c064dab6001b475049f7848d2" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "12702a0724b7eff7dc55aee6be56016d04974e255948d12858a9f864552e6a3c" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "f3708ff77ba53dee549b7509b7fbf77df7e13cc48aabcf352e219d62c0658dec" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "eaa21d1ab89579370ea95738709758c79067e35ef84558abd391c4268224defa" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "124d29121650f25b3038b4863938c3ead302126fd5ba58550f8482dc717a4a0b" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "31baef82ec081454fb4785b91403aa58fc1033fbb654ff7adcb41ee5acb8f340" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "57812ff443de36b5bdbce7f9196a2bd9380b579a5a01074892b35b2ca298800b" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "545ffdf4e0c3135fd723e9a321aa56553cd96b3d18bdb72a2fb5862a57b8ee87" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "3532dc428a2dd5e1849b558a693e0c85d51347e8febd457149cb6a3b6e531a02" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "2117cf16f5d9c4d803ea0ab18ea15e63ed8628eaac2b7988226bf4f2ad450aaf" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "2220f422b51074699756c29017d7e7a5c617c625221ae0841c1c03c2bb751aca" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "5ebb0a0773340985fc4b867f81028ce0227b9e6b92b11043689192fdf7ec542b" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "166f8c712cfbdb37d3d969fffd47d8a1c80291a1b824b72a17405223bd3b160b" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "669bc5db0b32005367212c3965991add533012d2c472e033e9b5b93ae11a6731" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "b520db8f0022d0c0fcd76aa49c2d537f9f57433a32bec2c0fc4d64ad2505d801" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "ae8f53b308d6cdb692dd77279686b4cdce099d9b29ca75f9d3a61c75cf372bb8" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "106eb4d17b6c4838e762be2e48a3787740c289c1e0a9c5cbfe4847fe6ecdf89b" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "93f43193e27a09f4dc41451fe0626528dd2a5636f660df82c3111a96bd6942fd" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "ac7e771b4d402c0722773ec154c5c7fbe2c92c5c2d72feae7bc6fead76462bf3" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "923cc0f8c96e22727d98d703e3721bd07222c08d5f816a209c224cca62286215" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "7f8965715aa49d7a4295e8ed5ff74931aeef492d0bd64f68ef3201d7b8c8049e" + }, + { + "original": "artifacts/touch-clear/ready-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "c012bb36584bb5ee42d0132b63afdce67cde6236b3cfa56f5c5302fd5ac87bf0" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "8493c0150c8a8a849bc2ae5940fcedca594b948e18dcb10a35fa32ebdd7bfaf7" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "8a8b31c0d22a855a570ba6c639237bab5fc49cd27895df16985d603a572b1bea" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "a8a09c8d4d1e623b082e7d18f7117b6cc62ca85b6d56c1d80beefa3a22edd8c8" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "d45bf2478050da5924d350491c035c3d2a0e30e1c792bd4faa23c30c4303d3bd" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "844559e987e11c2eed1109abf350462cb44c5c0a154b4c44442d8c23c84b2b66" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "5aed2dac987648070b07d8cff169f33bf4c784012e4c9ab83db53069a6acf4e1" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "d9b9c5191cfe739cbb96ddd395512b966c231c8daf417238a8ef0fae567fb1c6" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "d05792bb5f6b9173879bdefa49259ada70d5d17d5d3f3be82d57444916e8d74e" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "7e938c350624d8cc19aee01dfb05f1ef6f6d4fc55865dee405512b8dc7b20518" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "44cc9f72add75dd2a082962628ccf4b206d42e66bea617270c69a3865a82aa30" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "e40dd5dfc9a198ecdd6d37556a157653d5e73a54b33e682475c2bbd5392083a1" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "a154f03339c63091264bf658372fa7c5eaf5e08ecc88886b316b7cfc7ad6e429" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "78ba715b8b3213e821f12cb20d78d3278b425a970f9408355f8874d19fef96f6" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "35511b6fb5c4b7a16356e7f7d0e754117be1dba14303578f4ca0641ad9a0f219" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "3390d8b768c87306117b69fbc0bede1771de792fe9abf8a650c5a189a63d0ff1" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "140e76781b76232220e31a7c628eae2c6c3a9fd3db5ea5e4757336d862e535f0" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "b8dd957dd5953dcff6df6f48a4ed358669521864dfcd684ffe68e622a35956a1" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "88877dea617fc2af0e7a819b91a632a39f0ff447ffddb4abfc8f6867257e18f5" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "9cfa36e028fd26d6fcb4e072639347383e13fb112732f742f1b1a09678ac626c" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "157f77da47c9d093247eb12aa9f4544f63470e08906fce0b6ae0b81059d79740" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "d5ec32a2a67ac640c4cabdf85bda96c9b1b53413d7eb7557d0b076d5446804a2" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "ca53ed08f70c06f1055adc910ec9f5b8b0d51ef118de906337cee237f84c402e" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "1327db9a6d58dd0229f5b2c121b8e42f52648b9c321609ac1b34fb518dfb04f3" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "24f14fbb85af3c234aa1331a17c44cc066fb61f585c34ac2cc65de7aa6af5096" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "972e18f29d985425de65d7276240f5be5d2d7c32a2a027565ca6eb459c5b011a" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "e6039cafb382c8c5c301aa9361ed9a6695f36ab9f12a64f5352676c9ddfed469" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "6d9e8b4bcac5699874bbec015627b480e85feb0582c312ae3c969c3eaf3ca17f" + }, + { + "original": "artifacts/touch-clear/ready-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "b522c56c3a9207fe82a25c2c4a1ea6e0a86e1e22f802516bc16b2056e0f01fb9" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "5ba416140b648112d6cd7cbaf47ad20e47e20763bc93489e77da73b57e671ff3" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "f518915922391a16031559b182bd51b1d3f1b11a6d80fcf466fc6f43fbb8e708" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "fe1e0162c95b6ab67165deddb69218c6200386fc7d91a1371c2d3edfad5c3e5a" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "93d3f0b7f401f583b970a4d5995737d65be2f782d0c98f67f5f82295a5bf4dfc" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "fc51f5c9bf122a9d4a78810098c75ee4464137a258d5225a70bb90e350f637f3" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "7f514ddd80e67f155791ac86266aca6236e48cb68e04c2462ded9a1c0e3d3f39" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "b1884985f51c4090a2e9c3bef317386cb85f1f534e25e6ff56b597e7fe06d900" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "bcc6d9b568ecae771777e2dd8c517ba6d231c5949b980fa1eabe2e0cb3536a19" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "3d3f02432a6c1c3941e976fde6dafcafefe31b947208809a5eb4e6dbec241761" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "92f26dde65273f0c8bbfd62f635f9b8817e6a5db1b81a2bc7a6f87e96a2847e4" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "f2f7f08621c427bc19b2b30ec1a661142a990650968e5a09f74351532f0cef96" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "f284ab9aec54fe48812e19f8bfe5eac8bc81c4ba37b7fbdf0fd683f14d2de987" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "0d47cc8894c0f79e34ab0349643e7f3ab119865a2bf569e52ba3f7c3e3bc1474" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "9980bac6f709233f28a5d9aa4c44649edb58a5f8075849961a9dc2a1b2e5b757" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "f605da15421043e3f7b10d158f8254172b79551acaaffc2475fc5dcd4b05988b" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "37f5ed2fcbd5d168694d717d96661cdf5f9832bd037dd4947e2ea7072e2583ae" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "b6efd70b606fb40d38a50aefc57e842ee949a319a571b4337572c2e2988898ac" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "d3ba0b0ca9187f8bce3a85279c579973492b4254653dba5ce6f9f856d2398b91" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "4c81703ab407588cd7283145e81aa3f83bea028fe4ec05d492ca9a238afd1c2d" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "243868f93ad52115ba5fed6d185ac4125196c3fda9d35282b6425ce74644e49e" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "cdb1e323a5d7088cf0322876e4e614ab21dca45f5202eaf7684ecf7af8ac26a3" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "efa6a9949c78f198e22bb0885a9f639beb4083149fbc74f9655af5f789d6ade7" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "b6efd70b606fb40d38a50aefc57e842ee949a319a571b4337572c2e2988898ac" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "1b498e10d791454fd90d3a0d139066dd35ad6f72c6f527b1286e467ae50ff8ac" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "6c6835f04798d4c1adc99f9b059f9fd973308f18426f917db64107d75a9b6d28" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "a6e44aabe78f73c59272a409c355aaf1c41351973416b0109b317b2529e7e84f" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "245a93f0d1acddf4210145d15dffa7d85b6cec2b13023970ed8adff99ea8cdc2" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "b130cc50d72acb82b7da1d4b5d9a824e2fbedd76b3902a392e016d0aedef9949" + }, + { + "original": "artifacts/touch-clear/ready-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "7b7151bbf57d2c16760baa375561d6f77a245ff690ea8cca076dcca1557a34e7" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "c21dfe4c08e6a1a42bbce85897d8b8449fc2ef7f2f954245a3506467d358aa90" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "16089d40d979610a54b14a9a0011f8c7937422faa8bc336b5f77f4d974d2f65d" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "984b23189d77d75476b0a54ae9d007910572fd9a0a0b4d25e8d875786a33386a" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "f35b5594ae6addde9caf247e46f410f77ff0099f1b090df0aa1f2f497e61f357" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "35931c2ba03a6d05b8bfc79e6c8e7acb7062072e0b46ccaf0eba5457aabc3122" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "c69e902101db4262f6351048e718cb3f61ade3b85a7014e55fc99a526e4d7dae" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "e1735696244b29fe50c3069ea8fda632b2cad73cc5c319a2a03de386fdf88439" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "6729be124ade471cb9b8db7591780281a097c463e615ed585d41ef2b4ed612b5" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "0f3293bc144373e5be063b22ae87394b759214afbbe8085dc4cb560f9321c3b4" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "9c6b4c56736c265d19e5e7d65c4782aa6afbbd4e62450985f6bdbdcc5f210176" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "d53751dd50e69aded246bc4e03347c0a0d5d3e586b61039bd15c5cbb67feeea9" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "01b2db217cd988810a1b2a46a1b6a979aadecaba4c574201a0170a3046e4d427" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "2c2a1cc417f696219afb1798cc2d295caad0e325bb2599d4ad040c96b8c7dd34" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "721c289eedee1486fccdaed4a8e37d66ca90d4592fd0ca58ce386e46b58db6cb" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "9c815d4f11b17fa32624d6cfd9f275d89ef84bb64e6806c3562787c8e65e737f" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "97faf6c010b6c3d441aa6cfccced3e40ce12bd3807170ee6d8998a22b56bf3e6" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "8043b18d7f66a74c0309439d2fb6036d8ca00293a64a0f76f7261477d92e18c6" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "206787b1b2fae22e65f68d642edf6ecca3f4777de5f324c027c8176aa84b327f" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "4e13035806d38c08ea352fd13befb5f4c45c323d5527900406301bafcfbaffa0" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "d173fcb6aef808ac677f8ed39326ad47eac636c351064e8e1bb95848cddb1321" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "d01264aadf5bf0449ecc2397da24939d5f08f6d245c01bc0b1f1faaa5e83c419" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "312926bbd33e6988a634e3b50306cd23ab892dd5df4bbc06a6a5d5ad0e23f3be" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "10a8b8d25cde59abe2b8ff0d44f541ff85e874c3624c3309914eb08124aebc5f" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "9f8ca7dfdd38c5a1d95225ad02260576193d3d093980697bfde8471fcc47a319" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "5995d6ab8d94ab7c87eb3694173de90cfa07b96b06fd69eb39810767cba71d1a" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "34d2e4caea2cb2d86a6e0eab0fa9f5dc5d6a6b4c745aeece68bcaa8d3b0d1639" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "362fd2160159b231cb256cb94eff7769e7eabf2fc42db3a118c7fb1294749a47" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "a52d30001f8e99d5aff4a508561d72540a028c9e5504b9d1ec04a60c803204c2" + }, + { + "original": "artifacts/touch-clear/ready-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "18e54f6092002b87268bc135ae636d19257cedbc9fb9e942b3e337413d5eaafe" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "df2924c6bfd1043a9e1b6e817b6653732e2e210f422322230ec0e598f326bbf5" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "4279e60d22515516ee068719dfcbaa4b694ba9ec764c0783ebd3cf4386bba12c" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "183f4026e843e400b488a47e798d6d2ed894d2ea5087b1952e19fe6ff0d5a429" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "a20f7b24c568143f433a14653cc44e50a17a16854b8981ffb388cef3f17d83b0" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "a566941571e01fdb08838bb63d2057b8b8bf1d59677f2f20469c1841ca8e4d0f" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "4789fd81b7957830b05bd5fc3fef0221d65b1e7dac14635d49441d84eb801025" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "10cd5e47591af2b7375e3d599f070be2c479011ec803390acc15d5c5767473ae" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "4594b772a811db09a3d5fa9e10264abf8be5cee7e3c67ddd63f69fea13d4a2c4" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "48c22ccc190565d038f6c324a82bbff1cd875cdffcd5c3651f59c53b084fac52" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "993b08b0346bef7b473d1fa87de892601b0b69c1f63a584c700875c29d47bd23" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "d9b5cfb8b8763d5d68452dd5a7b3fd09cc9ba91aee98c12bd124547edc22a247" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "f5ea21f30fe4f8e8e554c5139cdb4d455cd2e6baebe4c5efec9239a1859b807a" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "bca4f2e586419cfcb3ca60a80645af1728c6925505c9eba0b4e18e7ad235ebf4" + }, + { + "original": "artifacts/touch-clear/ready-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "f8b8651c9c3bc3f07ba642a466aa6d3bcaea8cd285c8d0fb45ff13e77f2d7ebe" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "305c46328413248c99e48c587677175cd83cc9d25ddb30c0b421a17c4665bf27" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "dd38a2d8e985f724c83bfd68e79cde2efca1aace4718c8867aa8de5068222d78" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "183f4026e843e400b488a47e798d6d2ed894d2ea5087b1952e19fe6ff0d5a429" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "dd85ae7167d90eeee3bcaba18863fd9b372cf9f71c2958e05aab788a7342ec74" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "e77307deb46552c5ec0abc06a32079e85e3284f0f8d530dd03861d5d020459ce" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "4789fd81b7957830b05bd5fc3fef0221d65b1e7dac14635d49441d84eb801025" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "c115694d093b9d2cad85019b9af543454818197ae93701f8920aba7df6299d4c" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "00a39b69367d53df223dff9016267ea080ef45109afbe1e72230cb2dbbf6179a" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "1d0ec6ac273400ec46e25face0f0d0a788c7e72d25a037bfa935e82db72c4f81" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "a1eddfd1cb632f66e5a070134adf89c63e3efd2c16feb2d2b4f0737ab52ea752" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "f3a4efb97e792488ef68e851aec0c0a750dd9fe4f7e56afc08aa6e038e35394c" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "a8bd6c61f59ee8753afc59cf78ea4d70f5994e5d9d00ad4b246e8d4d9fa0c626" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "993b08b0346bef7b473d1fa87de892601b0b69c1f63a584c700875c29d47bd23" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "e6ef48030b4b792c29cfdea2d421d4d1f98f95815341f9637c0ad88074e5f050" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "53b35cf0bf06b1083936fdbcdcccfd969754231032b4cf8af064176b18c0d660" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "bca4f2e586419cfcb3ca60a80645af1728c6925505c9eba0b4e18e7ad235ebf4" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "4ddf1149668bd7a13712c6128359f70364055a1a1a6190c01fc5944554c9135b" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "2e19f15500f889a26d5ed255e9ef344b76c47d2aaae0fcc47172dce0484f6a92" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "8b2066848e42b833d0d775c5c76f26e89cd9d4c2a33da17fe19b0ec08a6329b5" + }, + { + "original": "artifacts/touch-clear/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "48d2b47afdf624db881252e8912845aaf1f218427f17d0446439c0eced5aff86" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "80f1816719b88d6cadd32dccf28748cedab08ba2da5b8e2c12be9aa75fcf032e" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "c0ff747d9a075d19a0a0c6f78baac8c6ae53edc76e61086eceeb16b5bd26038a" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "984b23189d77d75476b0a54ae9d007910572fd9a0a0b4d25e8d875786a33386a" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "538125c2863a22f6253ad870da184bc6e622449ad88b871d1d07063ab75ccdde" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "d4275a550577c1b28bbe9394ef4f2d3f4d7431bc29b6d5a4ddf7261c19caac53" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "13091634e60f6fb1313ce9c7c29a6cc884b10315575a0c36ea9ed1e40e682ca3" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "4e13035806d38c08ea352fd13befb5f4c45c323d5527900406301bafcfbaffa0" + }, + { + "original": "artifacts/touch-clear/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "81ca0cca0e31b02adfd3d723f1409225ae2c605fb6d5316dcf9268617fcd1a69" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "d83f1f3a3108df9d6d8662ca5edd3309d7a449602c85cc349d37a447e7847a08" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "0a826ea900bc7bfb0101cee8d8942c1d349e75bca4b3dbfcdd7e1918ddbfdaa7" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "4edb089a0d0cc912e3a39a2ad453ca0e74a7e3b02936ebf754598daed0e3ddea" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "a2070db7c05689f4c75cbd006ff397e9263e467985a4ff3b28dd19c5e2580207" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "22a63f989a0515d63ad9d31b7fb5b89fcba30ce7ef86e8b1d4d1d2f54cc3184d" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "d6cadd16243a505faec61d5647c211d47e1ca4d575c001ef7c07fb526b1f78b2" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "2abb6c758f43ac2cee2e90a78e6cce5bcdf63254b536b49d321cf098b79feb96" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "986a4bc75d15b58be950ef2ec0f1df76b5845532c784fc382dbc63de9a9669da" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "63262b9aece34538793029df166aaf5c39db6df03bde66f02fb8fa9d8d56cfcd" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "3619027d26fbb197028492859c4b0d247cc6cca18a6da2b7667e85af542f7da4" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "40c13f2223b01681d5fc25cd99e7ea5211e25bfd7476e9f3ae88271414944fff" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "52b5280c366ccc83da37ceb5aa5cbfb3e8758a97b7da2008a900164144a30d09" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "a4d6d25bd9130724f1e54ba12a2928154dc1f49d2830ff49242089c7d7357970" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "099e0fef8f89bd526e49ed38bfa4772f64b8f06e97aa9864d4f5bd74e0107b4d" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "91791c46dd5cc282fb68a5e5c9ee1acc987b90e191e9d1a48035927168bd4332" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "19f1dbfd73174baeea4211d99460ec9de8d4b9e26d66c50a1de13f64f6721750" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json", + "sha256": "e5b2ae15a6dd9d38f805c02228b2c89144ff50038f61d8bdb4a3a3d66330a50a" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json", + "sha256": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "507fd0e18ab2b37f152122812df584ed74a26c01a6723ed1f52a69b56cb5e412" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "1cb7d06b113c0dd19594cdbb8a2a060befbd8f8c4e8e2cdec7d8f392bea76ef8" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "57d9eb8a9348347861053e27fc27cfb1f89095e89eab088b7b4525a0bd353bf8" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "5239e36a92b339a1ebb8c77e0fafc9e31e7d9f78fbd8ff1b52b5269926b48bfd" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "942d450d61c025f4ff5a7baa3a838b364d29807f282549c2b2cedeb4ae9622d7" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "d28dccb4a1204bf927a946a539df0be3fc4352d94d753d6ba2c7fdc6cc12cac8" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "b36e558562881699fff00d416f41be11c04fe16bd4df0b434f317ccb2f39a286" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "c1b0328bbd42c2f5f000f2fc1f6beeeed89ce730055618878933eae94e9a2e53" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "eedc3a4f0396709a57cae7dab482663b8cc0a887b71ca36eac43dc3424eb1a63" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "6c157ba30b348df06bd3812ac995dcbaea03a060003d321fc56fc2ce284ecf9d" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "75fd68d422cff6b3419e63df457dd9ef61882121a74d84ccfe922977b4801dde" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "1000d8060b7466d029a06bcc1c05903a87b2e793da19cf59e23ebdffffd42306" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "f1ea376b12e0b149e66e489f9f8e3694a50fd172aef9d54620e57877b3084b0c" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml", + "sha256": "a89ad79098b33c24832d6429c8c52aac0e532976afdf2b84ca51302fc791b26b" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png", + "sha256": "5fd848492592c4e6809c6cd9f291cd51b5e3e15bf11c0941979e0b2b62147793" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json", + "sha256": "f1d308a5eb0f6b26ee0ae36bc295f36e65b61cdd9c287110f1bf5fb972747719" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml", + "sha256": "d2d5973118c6968e4ace4aca5e53dd1941678460f4e7b83bbf5c57aa3a955dc0" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png", + "sha256": "89075abc6c7281436bc8bc2c085dfcc5d468ec79690975f1bc86cc473312a913" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json", + "sha256": "8852e5e7085304ab359cb508307fb5ff0be4bc9715224d3edd881d56a86c8cfc" + }, + { + "original": "artifacts/touch-clear/verified-api26-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json", + "sha256": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "27656887b0a51071a383037bf19f5e3a5e78aa7fa5881b13f74e0dd2b84572a3" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "2ccae7413dd1307992cfd56fc72991d26f91ee5ad312a9d6f97eb1298e64bc6b" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "183f4026e843e400b488a47e798d6d2ed894d2ea5087b1952e19fe6ff0d5a429" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "c42c1075d0268e145884a97cf6f5f76c26645a4238f5b0dbf761f637917716c5" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "4f423882e6bc9e10af84dfc3e67885c2466693e4c64cabbe37c467834fee390f" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "4789fd81b7957830b05bd5fc3fef0221d65b1e7dac14635d49441d84eb801025" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "e8ab6095d39760c1d9b879f20efe1ea70f5bdcb430b6f953c37b734462fc830a" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "4118b294000a57401e2995cd7e5bf18e882e18e33b7b968c138eb5d6f9ff7b62" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "1d0ec6ac273400ec46e25face0f0d0a788c7e72d25a037bfa935e82db72c4f81" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "533e9ce939d1468ced4f196ea75d4f97c65c476a3700e00d0c3dbdf2f0ea3e03" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "e76a13aaee39e363ae06f13660f5dfe1f6a675fa92c0d0fd20574e2141a22041" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "d1fbfd83e2bfd1449a250961e8026ceaeccf9102dcd8c45cf37702411986848e" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "18ae1d7bf14bc50d2342be50534dc026a4daef8ece5748c017b1ce57cd6e237e" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "fea4f6872897e31e2c26190deb6b90ca57ab64212e8d973fb73e64eebd612ff2" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "3ff851df62248dc57fab3884f38b7a1cc0a8f02d32abbb47a20e16ddff95ace1" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "138fc0f1ddd3d9c15554bb1f45580fae32a12a8c723d3db4cfd295f577047ce6" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "6cdd392450e7b2da8dc46ccdf0cc2aa294d3e8aaadb489f04e06ee2b3e85826f" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "3143eaeca0699d887799f27a648011a2f87c6fdcca7e0aee05c355b4a8cf045e" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "993b08b0346bef7b473d1fa87de892601b0b69c1f63a584c700875c29d47bd23" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "a48283f72bd7a9d60e6f0b831270b457bb6e5832a14d16f3ab0bb4838d3e587f" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "55a5b89b69c4170003e5e65d7ad67d1dc1d40d79edf61d14fb7180479cadacc2" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "bca4f2e586419cfcb3ca60a80645af1728c6925505c9eba0b4e18e7ad235ebf4" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "67a2654ccc5145946b30355ce72605850ff742ca9aaefb0244066f40cc0ebb5a" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "e8d87dad3eedaedc1ae96359a7809af4ebccc0d01ba3178663c48317b6a8537f" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "8b2066848e42b833d0d775c5c76f26e89cd9d4c2a33da17fe19b0ec08a6329b5" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "0524cb80f0355ad045f2631b10c8072ceaf81228b82d030e035b19e9dd8fa4f3" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "2b9a218f4b5eca4a85e693a7cacb40c95c31a353e14603916baecad338527e0a" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "df32fe63b73a462d1be4223137d8b03660818509b982052393bac91de1851c62" + }, + { + "original": "artifacts/touch-clear/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "d1f2e5232145604211979aad9c2e07a6b873ea83266697a23f6218fc62541c54" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "da5c62b1ff0d2f6a260e659e6c8093488553bfb77ff9e41ebfebee361c2d4d96" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "4deb9890e4fd7623402c0f606073a6e3910fc8e2a34786d0e48dd09daaa81e43" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "91e30fe2306f182681c1e14bdc10ec5dd20b0f3e60207053426888fee924d666" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "b784e8c88509466d7f69da24ba694aa116c1d839506b4a1efc3eebbae1ab6fd9" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "b531f42d14804c3aa0c91f522ce054a042417e7c8971f6549bce17cfb93cd359" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "1c5a48ee9b18034366a645f597f45e07702626d853cfbd02827ffe7653cfe638" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "2fc83c861eac6e550de7bda3ede1bb3de653ec5d80f050e29bf5bd27fefb19f0" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "318794f100f56f39eb66eb1744d8df0bdc371b3b4105355cd6a1a57474012785" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "b2038cf48af24f2f33505f62bab7ddf9e099a86252d889ee9ce71d7c6508e491" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "b82e6927b357e0d7ad18f5ff4f5fea3af1b9bf57de0a4a9aed0a07ebd5d19f52" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "0ebbadb2c9640234d3ab56eb39ab9235b4aecc7eb703704ce126eaa646757593" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "c3345660a8d7c7b6ab3e8fb10ec43fa9228fb44588e693bffa12f64b8bcf89db" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "5ed47e902e7f11fe92797c14259343421e6bec5ffaa9d612294f622b329fda1a" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "84a30a53e416a3d7e5455a5efb8ee0475ef17ffe4884e138ae8971eb4b560d4f" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "acd5f9dbb3d563d18d4e0492d57a051035bd48fa3ede0d51cc95b85abceca028" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "5849308603380cc40880915d6f701018855ebbab6510b020cc6f83aa704f21bb" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "9793cda6af3c02f6d9f72fe88579696806ee41efa955b5d93dc321c9c69289e3" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "ec52a89e2f70542a87eaa0dbba8c6c6639236b2b0477a68b09274c808df31960" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "d721f6406080a349884acb9da25a1a2124f1911778c152df267408877af5f885" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "96b9e85183477e99e2b37e5cf79900b1942208fe422c80c026d02228d532f0b4" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "7e683a466d79d641cc1503c7f8495d94a79dd8e1b36daf9f05118d651effe8e6" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "28a258d4408946ccbfa7c64abe8698d5eb89caa95a5014876543fad6cbff0b1d" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "54b8558ef6d9108dd1f1298d63943786d68e83f94e5f8e385a68c1cb3e122ce9" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "03a8ab56616f421587da5eae7ef5931c6269678652e9ab99c05fde6e37c1e7b5" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "952cff225f388e1596e4c8cf386667b0543690d958481fedbfde94b62387f60c" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "e839d40e565d38ac3c4d0c2f3bbb26ce947af753965c59f2bdf40d0532607181" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "26cf9222d48b588c13ac8b12965cac169e5d955fe05ba059c763ae6e9544db9e" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "49ff1f5b37ee6c39f181485e13a7c0e0dfb9aac1013526cf359e2d0e01e0c42e" + }, + { + "original": "artifacts/touch-clear/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "d9705e1d9ebfe2c2518ae1463d5b713511dd795c07ef13991d7ee943e482b407" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "693425e89a8210b370754e6c7a054a3cb8dd8d280ec7c947083c5a6d9666cc12" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "fe6be37c94f4b0047d34bbee1410f0579b8954f3fb951163e18120559cb1b304" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "8a8b31c0d22a855a570ba6c639237bab5fc49cd27895df16985d603a572b1bea" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "abbcebdb44b5f2ed607df1d2e53510047bdf7ea5e6c3fd0bc13cac5268b4100d" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "bda805d90189a8f967211fda76cf0c6804b9122c6b24a35a5406544450b1387d" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "844559e987e11c2eed1109abf350462cb44c5c0a154b4c44442d8c23c84b2b66" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "17852d036e1019c78c762726c26e8474d3f4c91317a7023553824f2b65027cb0" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "54e3c01a8902b6ba8178872e4fa1b74918177b352abe6975b5912254c5082b2b" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "d05792bb5f6b9173879bdefa49259ada70d5d17d5d3f3be82d57444916e8d74e" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "2fa5c80001d7dfdce1a5d1ef650276528f9cbadb50ef38ef98303ee0c9d598df" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "6c48c90432e0c6cf5789059b4522c227e0d17144ae5e70561f8f4f908d39da52" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "e40dd5dfc9a198ecdd6d37556a157653d5e73a54b33e682475c2bbd5392083a1" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "a7cb2e2f09efb6a58e6d60d20cd1437542b03c23de816c3e68d74210c74436c3" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "2f88fed8a1803b6f28accd2df175cda625f13d9c9a12485ceb4beb9e2a5847b5" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "35511b6fb5c4b7a16356e7f7d0e754117be1dba14303578f4ca0641ad9a0f219" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "55ad7d24dec12cf62ca2018266b024af610c9881d1835447bb927324e3ec58cc" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "5b2005eaf6d74f495dcbb11cb4c1f839264ddc3faa357ee911cfa5bfe694f8e2" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "aa385104fc9cfb96a4ad0695a454be9151b7ac03c91d52cea21b540e78373194" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "88877dea617fc2af0e7a819b91a632a39f0ff447ffddb4abfc8f6867257e18f5" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "0596d5477e98549f618ee7eab8b53539716f86b652f4ccaa6db85195c27f0246" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "815f93c47ebe514b47392fae0bc5a1cdf8a0bcfde6ca18c803a2eed77feb6d6e" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "d5ec32a2a67ac640c4cabdf85bda96c9b1b53413d7eb7557d0b076d5446804a2" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "558da77fd169384f96531d69709b1e86f6ff68ac5b5b9386fbec9b908a6d603b" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "281c2b929ac85f96e5b88cdcac1030c098b18059d5bb396de893642cd1a2c863" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "24f14fbb85af3c234aa1331a17c44cc066fb61f585c34ac2cc65de7aa6af5096" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "65e4fbdd143162cee4567d9d726be29dd802e4fae6d64cc9662b1fb58b582d42" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "2441e9b840e834a37ffc11e35851b617fb1d243796c4550b34540f6e03a6a8d4" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "6d9e8b4bcac5699874bbec015627b480e85feb0582c312ae3c969c3eaf3ca17f" + }, + { + "original": "artifacts/touch-clear/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "17184bd0a80faef9692ab96fa009ed1e2e262da745536920dbaab7d64a7c149a" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "b7151f4aee01715ee719fdf43a7ec8ceb2a71f9b3838479cb69dbbbf1b40c085" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "00e974734b0ba916f20fadc00b687c5196392ba046bf7c86eee5bac8f7969366" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "539f2bda830bf4cfdcbe6ddf5292cb32ce354a96b7e4e08ee26c15e322ac1e03" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "855874c2b68d62fecc7c1ee9b4e91ce3fb8fcb86a8278c5c5e6369451e1c71e7" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "c094b63cbf34a50f7a8bd9181e361ffcf44145a860b161ed56b386c3456a0c41" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "cb72b49a2840c16060634ef0e9880c647b6dfadaf48a874c1786af2019a3615d" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "7aaa8a603c88317ee2955d5a8b0eb692f69c4546b1728b82dd300683af36bd36" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "34f1a632a25ec66d11a84b832ad6d1bc945eb17678879f62c583a5a93f8d8fea" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "12702a0724b7eff7dc55aee6be56016d04974e255948d12858a9f864552e6a3c" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "c60647360811ab89b5cdb4d97ce34a4567ab66201f6d092f6b0cff901004d5da" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "5aca84e931ce8ec50e5ef5c256214e92f603b1045181d5c1a75faf72b368aae0" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "124d29121650f25b3038b4863938c3ead302126fd5ba58550f8482dc717a4a0b" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "8cb66ff8335be0f68a21adfe866f80ea29318b20cae8549a617521e0262642c6" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "1da0b14d08dd7f65db7dee148f0fb7f8d3393481fd493ed37ba3cdd385cc3050" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "545ffdf4e0c3135fd723e9a321aa56553cd96b3d18bdb72a2fb5862a57b8ee87" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "cff914f8f0da9521ddfc6fe5fa61210c1213d7c85a968ec72af80a8b8837ca28" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "8d57cc14e2a2048fdd21f27176c89fc898f0c8bf9a760e3b3785d0b5b1ca06db" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "9732f75aefb4ea171e5e391d436b83406052df6e08b044de6bfaabb865eae0da" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "5ebb0a0773340985fc4b867f81028ce0227b9e6b92b11043689192fdf7ec542b" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "b41ec191e068f5756461718ce5065994a921c5857af764aaf78320b93cf6f2ee" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "d137f1458fa9fffdd4b8c349dc856262d87f9896b62d14ffeabb8b68efdd46ba" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "b520db8f0022d0c0fcd76aa49c2d537f9f57433a32bec2c0fc4d64ad2505d801" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "89d55f47f41a63caf86edd74548522070cdc14954f045e63f592068a4d06148d" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "47eaae1098a2912080449f0446ead898f1321a00090ceafdfa747b2b386d900c" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "93f43193e27a09f4dc41451fe0626528dd2a5636f660df82c3111a96bd6942fd" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "4a5c8185165358c7606056013619018ca8a34cd99f6d31a28a90cc03bf08405b" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "4afb70473a1c13942aaa3257d9622244a762681363c0ba5cffa0105ebe409b54" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "7f8965715aa49d7a4295e8ed5ff74931aeef492d0bd64f68ef3201d7b8c8049e" + }, + { + "original": "artifacts/touch-clear/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "44bb5825485ff6fa16a2cc4c05463bc607d06d10b3b6092af075e0eddea01580" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "82a2a976ea25495919c713c1f4f1d5adb9628cc30b5cbba6b70c30c2858cd9db" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "fe757c08513eab3f5250475ad03dae2aa056f30f47bd43eb751918df9375bc16" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "fe1e0162c95b6ab67165deddb69218c6200386fc7d91a1371c2d3edfad5c3e5a" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "61f240ac2f78abaf45bf71a0b383ad615716488a10b33bb0f7ca3886f2c32221" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "434fac0eefb0ff814140898fe992c1b9b525ab9cb8d1892df2fa3ea2e4d04947" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "7f514ddd80e67f155791ac86266aca6236e48cb68e04c2462ded9a1c0e3d3f39" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "82a2a976ea25495919c713c1f4f1d5adb9628cc30b5cbba6b70c30c2858cd9db" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "fe757c08513eab3f5250475ad03dae2aa056f30f47bd43eb751918df9375bc16" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "3d3f02432a6c1c3941e976fde6dafcafefe31b947208809a5eb4e6dbec241761" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "03e72977c01264eecdc7ace87e77cfdd20b791c4322451571f23ee43d933af95" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "c1ad2d03dfa44e7fda1c2f32211ad1bdc36bddbc88e9b5caa190f6db683284e3" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "f284ab9aec54fe48812e19f8bfe5eac8bc81c4ba37b7fbdf0fd683f14d2de987" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "3bb69e31d33b5c4572d28cbde4461bfab33147ce6b4a0505599448b4199e5c6e" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "22ed01931ad1b6dd80d7be5f51d6d8a720a6bd776e802dc0667eba2a8c8eee58" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "f605da15421043e3f7b10d158f8254172b79551acaaffc2475fc5dcd4b05988b" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "4b061c583a99cd703f61ab2a92846d44ddb993a419378864fee782924a7a2575" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "4489f96d437ed98c4c253c4e1ae47a64bae1cd0da2084fa091c28c229a5b36d5" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "c0b165699e5b0d7703d1ab73bdb57066700788604a337301f0884d45810414e8" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "4c81703ab407588cd7283145e81aa3f83bea028fe4ec05d492ca9a238afd1c2d" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "c99b391d43fdb12da0446a801f900a3d91611dc37e0e389fc2bcd02596e34b10" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "cd2c3091e60ee1ab84b5696f54d50fe42211516d2f5fbe39b1c4cc544cad6646" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "efa6a9949c78f198e22bb0885a9f639beb4083149fbc74f9655af5f789d6ade7" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "4489f96d437ed98c4c253c4e1ae47a64bae1cd0da2084fa091c28c229a5b36d5" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "70fce7f5f09577299ca770084ecd7fafa6ca5757499b719f3a8ed1cc3d22344b" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "6c6835f04798d4c1adc99f9b059f9fd973308f18426f917db64107d75a9b6d28" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "0b23a4010e5f3484525ab35c9004986e3688adf08764e65c62811ceb0a313c67" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "6313c7d764560e42dc8b5d3c158c85fc8dd1e29c84b9cc30048a17875751298b" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "b130cc50d72acb82b7da1d4b5d9a824e2fbedd76b3902a392e016d0aedef9949" + }, + { + "original": "artifacts/touch-clear/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "5ce8dd1f4c98533131dc6b360c333325b70bd9a3606a871e724bdbaac3b2d3a9" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "cf70cae286418bfa453d41e3307a4be16d633b1cf22eb791a7069d316e2a85a1" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "f914dd7fa3db7d3aa91be46a4c84ffb8c2cb7b74b19929f560fd9c39d567c01f" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "984b23189d77d75476b0a54ae9d007910572fd9a0a0b4d25e8d875786a33386a" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "187b7b05423d8eb01c6802f501f1010e05bf94012fe9aec44fcd61a92c9e978b" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "cbac01ae60834399b5b663ff4f51d2c28a075acbd4b2491d07d3b54d362bdd2b" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "c69e902101db4262f6351048e718cb3f61ade3b85a7014e55fc99a526e4d7dae" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "7f81693672a94362c966c9bf42df8701ed78c49dd075218d5cbcd571d38529c7" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "73effde4cb5adfa6d04b2499ea25374eb6d41d86f2102786a00cc5415a931325" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "0f3293bc144373e5be063b22ae87394b759214afbbe8085dc4cb560f9321c3b4" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "9a96fae541d03aa7cb3c6ba4ff204bb0d1f19807fcd2da42dac935f63f982b8a" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "198cd988774aa7fe75f84dd0c62fc1879959910165e0c81a8c18ed03cba102ef" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "01b2db217cd988810a1b2a46a1b6a979aadecaba4c574201a0170a3046e4d427" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "4de7146111a0d929db1408b68d3ab6e560d20cf45e4c47c74e85d512f854de86" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "379fc78c97e1648a82a4b2ad4e14aab4a7e45650a0c7d2f892911ff47ed29d59" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "9c815d4f11b17fa32624d6cfd9f275d89ef84bb64e6806c3562787c8e65e737f" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "269e213f01488e27c909db97bc3e37c996158aed07ca9474e87eac461cfe0f6c" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "9632aab8ce42675feb2ad05040f0561f07b84f7f722aae6cc524a5d44ef3199b" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "878cf13e34f709086dd4617b16d14e76284ba2e3e8faa73a6db1ef67ee0cf1e8" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "4e13035806d38c08ea352fd13befb5f4c45c323d5527900406301bafcfbaffa0" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "05e9fe2f2f2073ebeab27d3b7bec5bd0be8a282dc06bc7c1b621e75a878f83b9" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "03f8fc387a0b9645e17d38fd5ebd90ec98aa976b448618842434cf4ce1ec06da" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "312926bbd33e6988a634e3b50306cd23ab892dd5df4bbc06a6a5d5ad0e23f3be" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "b6534940a8b571177cae57771afbc42c9e9d8c9462a6a2bc5961a392e3dafc2d" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "d4607ea96b527eeb4bde9afecb09c0362dfa33981049c722b0aeb5a49ec30021" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "5995d6ab8d94ab7c87eb3694173de90cfa07b96b06fd69eb39810767cba71d1a" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "47c1b2d7e676b27b354667ca9e7ebfd2f91884e0513a7129ba4925a6d08ee50d" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "56d97b840e85b5aec50982413c19ccc0308f03829af048f70a63b91efc07645f" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "a52d30001f8e99d5aff4a508561d72540a028c9e5504b9d1ec04a60c803204c2" + }, + { + "original": "artifacts/touch-clear/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "24b9ae25fd92407a030020da1dbf619093ca88662363f58df55dd696d2a9c9c3" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.xml", + "sha256": "dcf410527f61d53d781fae31890a3f446ffd7ca0492b0e76baaebde13fa633bc" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.png", + "sha256": "e10145c6baf6f18d1d3752e78e6fc07d03b6349489013b3a53b7345424d524f2" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition-frame.json", + "sha256": "808e5c4701e5e9ccc34d462e7d6b61395bd94eeabfd442d679624e59b6f8a8e5" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.xml", + "sha256": "b3d16bb9bf82b7260718a1c1bfc0fd0e2f96378512f8959fd45870d83dc30d60" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.png", + "sha256": "fdd6409da63265c2895558d07f9b73e254e8e01e4774e58e839b54933d4f3b4d" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared-frame.json", + "sha256": "06b599673f1ca5a9dfa5c5fc3629ea051f09873b4a24bcea0fd8e99fbbb47c41" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.xml", + "sha256": "c8dd1f5ff2de1f1fb5f77dee1b08a688139958ed4d415920edb971689051e88c" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.png", + "sha256": "b869a9324f6d8e5aa5c4718247df846cad24fd4f3ba13c3791ced8ddb2e4f9a6" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition-frame.json", + "sha256": "3c40f84c15e13d33285ecd1f3398f392ee3fc05c3c25397d62aa3f3ce3302f6f" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.xml", + "sha256": "8a480e1dea867fb28722b8316277e65e8f8aba59070e564ce80f3892a46223a2" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.png", + "sha256": "c087b452d756aef6e68821c6af6dfb6854a48c6ac15040a122a766561ade005c" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared-frame.json", + "sha256": "86dbc28407cf78d55b5eb919da9e93125b4da909503fa866f730470797c2310a" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-case.json", + "sha256": "9ea55a2780a25f6593038d4c25539b377199d0ec5736dfa1599f474fd2515234" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json", + "sha256": "1117ca08c1e7c33028d9e680b86a3396458be049a15bb489571954e7b98dcab1" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml", + "sha256": "faab4626fc5dea78c0ce4fb2f3172caff03305a0f6a20afdb999a88387c7f4b4" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png", + "sha256": "257b5f97007e09ad84df1b1cfb4e2dc15c7498c332c1fda48422759958f90ce4" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json", + "sha256": "2048c3531f99b1b6bf46acd04e58c4e66db38f0c621c6262a0606eeb0f818e35" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml", + "sha256": "3708e054123b17e74b41546006f32716654eefa4546842213448f8a64b902f9c" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png", + "sha256": "df431cb83d2a0968f5bac2f9718047e1ec25c0edb4c85a8e32967b073b9df8e0" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json", + "sha256": "2a660eb8464caf6d138b70234b18280ddf4c139c7b027660d11b78777eb718ce" + }, + { + "original": "artifacts/touch-clear/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json", + "sha256": "7ed88a37502269347c7d2f198849d4d0f65f61461ae277e0f1f406b8cb3e3c8d" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "262fa1bfe3e381ce13020fb77d6d4c293ca98d802deac7b7ae24973d97f7cb7d" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "fbf1c6712443f54b71d4c14bdfb357a67f9547279adccd0d1e543d6830600c84" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "4edb089a0d0cc912e3a39a2ad453ca0e74a7e3b02936ebf754598daed0e3ddea" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "8c653f3ca2d857851ea9ed6af59a7192007ff37c146ddef6bf694114d7e8ed6f" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "22d097b13429786b897dad241877dc3bf444afe265a4c4d6c0b50c5830d61c3b" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "d6cadd16243a505faec61d5647c211d47e1ca4d575c001ef7c07fb526b1f78b2" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "f2c655335f71c275947bfb962ca3ffe2607477a6e728dbcfaa55815f3306b27f" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "48704d81914767c019542921b8a00d68529fb5f791a8146862d0ec882436625f" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "63262b9aece34538793029df166aaf5c39db6df03bde66f02fb8fa9d8d56cfcd" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "7f6c9bc77b961b0e876032465cb322e0a6be199df5622ced9cb172eb98012170" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "e3e86dc34e17f9d4adae93313549b176553d31244661960aebc38c5e45111cd8" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "52b5280c366ccc83da37ceb5aa5cbfb3e8758a97b7da2008a900164144a30d09" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "fb25230c79f59c1964b6a6ca884cfdfec61b0b212858a7e3d6e505112ba9447c" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "2b23e4658c3740f32a13efaf142cd0c317e35df81120c2fd45d8a69c1615184e" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "91791c46dd5cc282fb68a5e5c9ee1acc987b90e191e9d1a48035927168bd4332" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "19f1dbfd73174baeea4211d99460ec9de8d4b9e26d66c50a1de13f64f6721750" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/currentclearuseslivequeryandrecreationrejectsoldcallback-case.json", + "sha256": "fa37b3e172b85ff1d30581dbbb3f9b61c9e53e8997654860fced26a124b31cd7" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "fd259abb059547a6320b19e2afec387fbe395fc842c0582c3828df3d47def6eb" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "be23688db55ecc0d4bab638e94f8ab096ef47a65f0364fa2e363337ee3851e6f" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "57d9eb8a9348347861053e27fc27cfb1f89095e89eab088b7b4525a0bd353bf8" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "647f1d250d8879c8316791dff2ca452d3c9d8b4e8a9dd5975fb6b3bd96819e9b" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "cf05ec75264f4e4278c56b61c76f6d14ea8628d866a00ba648bac8387f6f02d2" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "d28dccb4a1204bf927a946a539df0be3fc4352d94d753d6ba2c7fdc6cc12cac8" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "ddef5099c82c9cbfb4c836f656f3f822ba6262cd2460e1311600656a41001380" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "28b7fd2c5cb300b3e98d1c0a2f61148d2d1fc620470a26524c3f2a34e10dfc0d" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "eedc3a4f0396709a57cae7dab482663b8cc0a887b71ca36eac43dc3424eb1a63" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "1a12bccc944c0d9f76063a40054d16aa2bb3a2f5851ef0cdd963668e9bdeb2e8" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "1763f0f95f0773a69f5fc1983786115270acb30f14cd277146706243a675fca6" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "1000d8060b7466d029a06bcc1c05903a87b2e793da19cf59e23ebdffffd42306" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "f1ea376b12e0b149e66e489f9f8e3694a50fd172aef9d54620e57877b3084b0c" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml", + "sha256": "3708eb83ad537858822f0f6fe1758d751148792c74a8d6108ea13b0d2d737492" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png", + "sha256": "068e8eecdd8f8d293a3ed4f1d8cce0d6bb2ee5b4c42237185379cf4fef837efe" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json", + "sha256": "f1d308a5eb0f6b26ee0ae36bc295f36e65b61cdd9c287110f1bf5fb972747719" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml", + "sha256": "fbf1be21dd4953761042a766146e339e5dc199d9b8ee814191df5016e6fc7657" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png", + "sha256": "3715ee0884d279d447d5be8d31c7830c35d6dc351092e67a807a93d0981a9541" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json", + "sha256": "8852e5e7085304ab359cb508307fb5ff0be4bc9715224d3edd881d56a86c8cfc" + }, + { + "original": "artifacts/touch-clear/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-case.json", + "sha256": "2d04ebaceb482d3c46f5868fcb3d7f207ecb12ac07822b057d75b0ad8f6f1dd9" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml", + "sha256": "dda9c6b5a2916c0e3c1282f1fbfecd7a60ca90210727794d012d44e06b99a1b0" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.png", + "sha256": "c9a47e6172bb698d9b4c672c754c6caea6b43faa6f950a04c1c07783773a541c" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json", + "sha256": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml", + "sha256": "d69782b962a9dc14f2234f0e032fa7f26e0d0e2c283e6302e733dc24ded1d209" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.png", + "sha256": "dc185383a94dd0b8906cc426fb5c40053890b821f91ace377e7c826d4144dc3b" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json", + "sha256": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/case-committedemojinavigationandcaretareexact.json", + "sha256": "f553228a67b8ba8ba41cf75695bcab1333e67ac416d12adc9c726c16b8a8fd35" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml", + "sha256": "aa7939048d19a65ee5452359834b8463f4885daa4d9eff2a56781806d40fbc4c" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png", + "sha256": "d0aa65887cf448399bbc08ee852fc134e4f414483850f18c576dcf723e34b65a" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json", + "sha256": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3" + }, + { + "original": "artifacts/touch-clear/verified-regression-tablet100/captures/case-activemultilingualcompositionkeepsresultselection.json", + "sha256": "fe254b336e1a00e494b67afa177600c4283a72abbe00fa7c8155ecaaf532a34a" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml", + "sha256": "c06994c2b78323cd187772e388934349866fcbb597c900a35ccbebfd48d80042" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.png", + "sha256": "254488d5875a7f86bc53b230526224e59a41c5805e20adfe4a931abddfa02fcf" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json", + "sha256": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml", + "sha256": "8305766a25a2a5db6d1378885f4c7a79bc55121843bc5ca468e768c5d4f58a82" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.png", + "sha256": "c25185dacc5fb6d43a1a131fccefc866ccff9eb48eaea6c232e80223ec29bf3f" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json", + "sha256": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/case-committedemojinavigationandcaretareexact.json", + "sha256": "056b53331d1d2bc2233ea3400d99f5d60e81ab058e2324ec5dbbb479a6eec558" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml", + "sha256": "9ca0c76ad2ebb8920dbaab13bad6b6111d62d0663befb844628a60e0476da0d9" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png", + "sha256": "9fdb198f5f52c5ded9d5c5755d2ff85b161c43d57a125ca25fea11f569fa840d" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json", + "sha256": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3" + }, + { + "original": "artifacts/touch-clear/verified-regression-phone100/captures/case-activemultilingualcompositionkeepsresultselection.json", + "sha256": "ccb7edd290d46d39a7ad2fa26cbbe6dd46047b1d51d1c447433ec26b227360f1" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml", + "sha256": "f84573215d81e18793c26328e13a9fab93329b043455e8720cae12e363e62c22" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.png", + "sha256": "30a60ad4b6d83a066e2bedd8380c59e14ba06f8636e9eece25a25cd3ab33edc6" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json", + "sha256": "c89fda5acb65f03ec6fae122d1ec0270fb5d70fca467d361bdcc039cdaebc11a" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml", + "sha256": "f84573215d81e18793c26328e13a9fab93329b043455e8720cae12e363e62c22" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.png", + "sha256": "b8de6c919e495e9cff341d0d8ef4955b72d648b34266dfc7a1d814635c4c9182" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json", + "sha256": "90fb582ae52bd82daa7dc747e0bd4cf17c64024807d8ef632f303464e1f2fade" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/case-committedemojinavigationandcaretareexact.json", + "sha256": "dac1ab016d13c4e716c6c438dd984bd65fb8a12f4787de33709d91260a62c8fc" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml", + "sha256": "0ab84983d97b0be271697471728f561102c485eaac3ac88f260fa9c1cf528248" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png", + "sha256": "20d8375f3e04cbbaa95d639713ef88bddbce4d0361e19d622caea57c743714a7" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json", + "sha256": "386677aeb164b77096876bdad86dffc22a44a3cc7fe72b674be113e87e5280b3" + }, + { + "original": "artifacts/touch-clear/verified-regression-api26100/captures/case-activemultilingualcompositionkeepsresultselection.json", + "sha256": "4592fbad4d58da0a8dae402e467e916cb4461bd994812a737bed8350ece672aa" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "6df80d65aa291b824d06d07360175390c5d3473378e66842657ca94d92c016a7" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "588912ae1e727e9e5495f1afd96f1ed66320ad6946fcb8a74db084ad08cc898e" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "3af0693f24d6cd6663b53771f2ceafaafa267eaff0273b0de4e0ebd1b733638c" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "29a9c3b167996d906581fc9a8988159f0a5a548ec9f53b046655bf3e472a7233" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "9cbb01aa230e5200992f8dc29f10012057f712cae60c551a9b4f5370fe2a3084" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "299054f3fbe646ac6a06a8afab8323f12353e2764dc657b483f21f684322874f" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "ef48f0bc2b3731ef50b0244388a84e5c826166280578e7dde02d95cdbd698ac4" + }, + { + "original": "artifacts/touch-clear/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "b4014b6e7ccbf5de1d3308bea9072c54c7ded00202fa5677b83b11adfc6de727" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "e41f519dafc79aadf3603acde7c1fd18287c618441f8ba587b4880c5e7a67f0b" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "e9479f4683dad306750a86232bbfe680ab5ac1079e4a493d6aff437b20b54014" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "88f6e5d198c1e277439c168e79d72e65130bc6cb31fc4aec252ca1b8b4ee111a" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "f0eab9bbfd85541f38ae33cc03e04c0b682e3444a151d2c3b198e6b8a9cc732b" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "5add20f5612284b66bfcb3ed1f24cb31d36c60c522cc8840a73816d980957f50" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "834ef3ef0e7fa2e77a5f3463a1cbcb3728638cf7923a5cdef085417a4f886824" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "1839ec1a49448aa27bfa57af19924c36ff1d5c5d562aea7b240f6eb51fe0481d" + }, + { + "original": "artifacts/touch-clear/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "4c2ff152712a59273d8fc531de3c9ec01534c76f662ad7edbc32e05c527daed5" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "ddc047ccaee17e6b0fd8ee19a256cc6f40347c8de26b8be53067a9bfb855f9f7" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "13a52ac8f8f58c19c58e548c22671df5ac02b634326a0aecf9bdb3b4c578a10e" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "af93c54e66c94ec30aaa05b574e3dc67018f595bd4a31a7beb1f36e3e28db3f6" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "2a516ebe4b4325f048200016ca6bf22e651f5b3c4f8efabb0b5ae02812c73d07" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "07de42820ef5343a4de54c7cd7a9a621b3726ac4f6b09f06e24f32eef946b896" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "1150019e60cef61241bc56e7e59b66f23955161e4bb57932f76cacdba8b91d2d" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "6533017a7901ac0f9ab274c9172e1dff5a5f575fe073b1a8c93c9fe4b729acf6" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "954afad984638adeb27fd857125c2e0f58d1e556d96420f37bd88eb1c1496576" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "c75370405db044d1dad25d7839e29a42587a66205c8b434e45999c6fc3d8d621" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "44d0c6311c5444e1984a06baf3ff7e87f9c3f97d999576934f281f848c5f5b12" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "fddef49868a1dcc3792e8407a219dd37b07b9b63ec6d3167f6eef079ebef935d" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "5089865def933a36d306ef298d51be6eef73b19a99e00ea6d32a83e8e914a10c" + }, + { + "original": "artifacts/touch-clear/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "2f908a1a1e184eec306ff124dc4597b07cf3c680710d491373fafbe8d100b2b7" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "sha256": "685323f6e1dd52ebb3d5e79485546f03b12c963eced8c78f1995897b70cb400e" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "sha256": "7bed30fbd03d510eabdbd421b72167cb38e7de1d6319c2a3475ee09c7ef562da" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json", + "sha256": "539f2bda830bf4cfdcbe6ddf5292cb32ce354a96b7e4e08ee26c15e322ac1e03" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "sha256": "4f22432d20b84b6fbb36cfda889352499570a0dc9877352fef083b54e1654c41" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "sha256": "35304bb345615652e38010750b7ad4597c14037f1f54d3b0fc7e6a2df4b42f7d" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json", + "sha256": "cb72b49a2840c16060634ef0e9880c647b6dfadaf48a874c1786af2019a3615d" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "sha256": "4609f7d7aa16f8c62d04c90f6d2212e5ee9a4fd21bd9eed54572f1cb05474bb7" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "sha256": "255ddf5c08ae0a5edf6cfacd3a43abdd0c02207f380ec39cba11873d61a576ef" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json", + "sha256": "12702a0724b7eff7dc55aee6be56016d04974e255948d12858a9f864552e6a3c" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "sha256": "5561079ff0bf9f5be7fe04933d1f7f5daa6783a8ab69d7f5e4d00d64f25be2a1" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "sha256": "350457ac6bd146d74367d9a8c6e038b6f01e02e50d07d6c38fc73d586eb9c03f" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json", + "sha256": "124d29121650f25b3038b4863938c3ead302126fd5ba58550f8482dc717a4a0b" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "sha256": "08dc39c55db51bdb1eb7aceae931cbca341d91fd414542a8f73ae0145f298ca0" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "sha256": "62debdf36be04add0aa567f22b17b8e4843acb5316cc2e3424816dffaf76ed06" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json", + "sha256": "545ffdf4e0c3135fd723e9a321aa56553cd96b3d18bdb72a2fb5862a57b8ee87" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/emojitouchclearpreservescategorygeometryandkeyboard-case.json", + "sha256": "3532dc428a2dd5e1849b558a693e0c85d51347e8febd457149cb6a3b6e531a02" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "sha256": "9773bddc40bd7e91a5d2fd968f3c2e1fa4fecf3f4e89f96d3da8c951d1d1b9bb" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "sha256": "88efbfafa5e9090b474d62f9cc76ddf9231b673f61c7f936c6e1165d5d10d2bc" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json", + "sha256": "5ebb0a0773340985fc4b867f81028ce0227b9e6b92b11043689192fdf7ec542b" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "sha256": "b13c23232c35be07be82e8b7c0452ef1d146226844dd27d943204484b07207ef" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "sha256": "5e669b6f05f718f4dd8e550db2516807c3f5620198ff53ec33e2d2559edc3436" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json", + "sha256": "b520db8f0022d0c0fcd76aa49c2d537f9f57433a32bec2c0fc4d64ad2505d801" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "sha256": "274e16d1c6c8d27686f1fc7404fdd3f21f9d3635e8c6fcd1a07b1171dbc6c59e" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "sha256": "abd323025df7b48a272d7a6358499338a4a88931ebc48bdf84441c6b7f8a1125" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json", + "sha256": "93f43193e27a09f4dc41451fe0626528dd2a5636f660df82c3111a96bd6942fd" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "sha256": "6b180f19c1b68f20552daf58e26ee6ecc44edbd321e9116beec773bb7dd5eacf" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "sha256": "6e6d8a7cfa07838daf6751475f1725395893fbd07acfb61b929a0c211bb57ffe" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json", + "sha256": "7f8965715aa49d7a4295e8ed5ff74931aeef492d0bd64f68ef3201d7b8c8049e" + }, + { + "original": "artifacts/touch-clear/final-tablet200-v2/captures/launchertouchclearpreservesfocuscategoryandkeyboard-case.json", + "sha256": "4d2cb233c8e3daf3ac4da3ea8ea8a6229a621b8a907de63470c8359b8d412351" + } +] diff --git a/docs/validation/touch-search/selected-captures.json b/docs/validation/touch-search/selected-captures.json new file mode 100644 index 00000000..93cce3a4 --- /dev/null +++ b/docs/validation/touch-search/selected-captures.json @@ -0,0 +1,554 @@ +[ + { + "cohort": "diagnostic-landscape100-v6", + "png": "docs/screenshots/touch-search/diagnostic-landscape100-v6/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "diagnostic-landscape100-v6", + "png": "docs/screenshots/touch-search/diagnostic-landscape100-v6/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/diagnostic-landscape100-v6/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-phone200", + "png": "docs/screenshots/touch-search/verified-phone200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-phone200", + "png": "docs/screenshots/touch-search/verified-phone200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-landscape100", + "png": "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json" + }, + { + "cohort": "verified-landscape100", + "png": "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-landscape100", + "png": "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-landscape100", + "png": "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-landscape100", + "png": "docs/screenshots/touch-search/verified-landscape100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-landscape100", + "png": "docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-landscape100", + "png": "docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-landscape100", + "png": "docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-landscape100", + "png": "docs/screenshots/touch-search/verified-landscape100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-landscape200", + "png": "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json" + }, + { + "cohort": "verified-landscape200", + "png": "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-landscape200", + "png": "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-landscape200", + "png": "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-landscape200", + "png": "docs/screenshots/touch-search/verified-landscape200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-landscape200", + "png": "docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-landscape200", + "png": "docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-landscape200", + "png": "docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-landscape200", + "png": "docs/screenshots/touch-search/verified-landscape200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-landscape200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-tablet100", + "png": "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json" + }, + { + "cohort": "verified-tablet100", + "png": "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-tablet100", + "png": "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-tablet100", + "png": "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-tablet100", + "png": "docs/screenshots/touch-search/verified-tablet100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-tablet100", + "png": "docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-tablet100", + "png": "docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-tablet100", + "png": "docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-tablet100", + "png": "docs/screenshots/touch-search/verified-tablet100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-tablet200", + "png": "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json" + }, + { + "cohort": "verified-tablet200", + "png": "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-tablet200", + "png": "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-tablet200", + "png": "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-tablet200", + "png": "docs/screenshots/touch-search/verified-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-tablet200", + "png": "docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-tablet200", + "png": "docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-tablet200", + "png": "docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-tablet200", + "png": "docs/screenshots/touch-search/verified-tablet200/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-tablet200/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-phone100", + "png": "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json" + }, + { + "cohort": "verified-phone100", + "png": "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-phone100", + "png": "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-phone100", + "png": "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-phone100", + "png": "docs/screenshots/touch-search/verified-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-phone100", + "png": "docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-phone100", + "png": "docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-phone100", + "png": "docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-phone100", + "png": "docs/screenshots/touch-search/verified-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-phone200-after-launcher-anr", + "png": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json" + }, + { + "cohort": "verified-phone200-after-launcher-anr", + "png": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-phone200-after-launcher-anr", + "png": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-phone200-after-launcher-anr", + "png": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-phone200-after-launcher-anr", + "png": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-phone200-after-launcher-anr", + "png": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-phone200-after-launcher-anr", + "png": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-phone200-after-launcher-anr", + "png": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-phone200-after-launcher-anr", + "png": "docs/screenshots/touch-search/verified-phone200-after-launcher-anr/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-phone200-after-launcher-anr/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-guards-tablet100", + "png": "docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.png", + "xml": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared.xml", + "frame": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-cleared-frame.json" + }, + { + "cohort": "verified-guards-tablet100", + "png": "docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.png", + "xml": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition.xml", + "frame": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-emoji-composition-frame.json" + }, + { + "cohort": "verified-guards-tablet100", + "png": "docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.png", + "xml": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared.xml", + "frame": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-cleared-frame.json" + }, + { + "cohort": "verified-guards-tablet100", + "png": "docs/screenshots/touch-search/verified-guards-tablet100/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.png", + "xml": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition.xml", + "frame": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/pointerclearremovescontrolledcompositionandwhitespace-launcher-composition-frame.json" + }, + { + "cohort": "verified-guards-tablet100", + "png": "docs/screenshots/touch-search/verified-guards-tablet100/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png", + "xml": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml", + "frame": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json" + }, + { + "cohort": "verified-guards-tablet100", + "png": "docs/screenshots/touch-search/verified-guards-tablet100/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png", + "xml": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml", + "frame": "docs/validation/touch-search/cohorts/verified-guards-tablet100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json" + }, + { + "cohort": "verified-api26-established-clear-phone100", + "png": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.png", + "xml": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return.xml", + "frame": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-caller-return-frame.json" + }, + { + "cohort": "verified-api26-established-clear-phone100", + "png": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-api26-established-clear-phone100", + "png": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-api26-established-clear-phone100", + "png": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-api26-established-clear-phone100", + "png": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-api26-established-clear-phone100", + "png": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "verified-api26-established-clear-phone100", + "png": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "verified-api26-established-clear-phone100", + "png": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "verified-api26-established-clear-phone100", + "png": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/launchertouchclearpreservesfocuscategoryandkeyboard-shown-before-frame.json" + }, + { + "cohort": "verified-api26-established-clear-phone100", + "png": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.png", + "xml": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu.xml", + "frame": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-covered-by-menu-frame.json" + }, + { + "cohort": "verified-api26-established-clear-phone100", + "png": "docs/screenshots/touch-search/verified-api26-established-clear-phone100/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.png", + "xml": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji.xml", + "frame": "docs/validation/touch-search/cohorts/verified-api26-established-clear-phone100/captures/retainedclearcallbacksrejectreplacedsurfacesandmenus-replacement-emoji-frame.json" + }, + { + "cohort": "verified-regression-tablet100", + "png": "docs/screenshots/touch-search/verified-regression-tablet100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png", + "xml": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml", + "frame": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json" + }, + { + "cohort": "verified-regression-tablet100", + "png": "docs/screenshots/touch-search/verified-regression-tablet100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png", + "xml": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml", + "frame": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json" + }, + { + "cohort": "verified-regression-tablet100", + "png": "docs/screenshots/touch-search/verified-regression-tablet100/committedemojinavigationandcaretareexact-committed-query-selected-range.png", + "xml": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml", + "frame": "docs/validation/touch-search/cohorts/verified-regression-tablet100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json" + }, + { + "cohort": "verified-regression-phone100", + "png": "docs/screenshots/touch-search/verified-regression-phone100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png", + "xml": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml", + "frame": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json" + }, + { + "cohort": "verified-regression-phone100", + "png": "docs/screenshots/touch-search/verified-regression-phone100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png", + "xml": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml", + "frame": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json" + }, + { + "cohort": "verified-regression-phone100", + "png": "docs/screenshots/touch-search/verified-regression-phone100/committedemojinavigationandcaretareexact-committed-query-selected-range.png", + "xml": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml", + "frame": "docs/validation/touch-search/cohorts/verified-regression-phone100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json" + }, + { + "cohort": "verified-regression-api26100", + "png": "docs/screenshots/touch-search/verified-regression-api26100/activemultilingualcompositionkeepsresultselection-active-japanese-composition.png", + "xml": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition.xml", + "frame": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/activemultilingualcompositionkeepsresultselection-active-japanese-composition-frame.json" + }, + { + "cohort": "verified-regression-api26100", + "png": "docs/screenshots/touch-search/verified-regression-api26100/committedemojinavigationandcaretareexact-committed-four-way-navigation.png", + "xml": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation.xml", + "frame": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-four-way-navigation-frame.json" + }, + { + "cohort": "verified-regression-api26100", + "png": "docs/screenshots/touch-search/verified-regression-api26100/committedemojinavigationandcaretareexact-committed-query-selected-range.png", + "xml": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range.xml", + "frame": "docs/validation/touch-search/cohorts/verified-regression-api26100/captures/committedemojinavigationandcaretareexact-committed-query-selected-range-frame.json" + }, + { + "cohort": "final-old-tablet100-1", + "png": "docs/screenshots/touch-search/final-old-tablet100-1/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/final-old-tablet100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "final-old-tablet100-2", + "png": "docs/screenshots/touch-search/final-old-tablet100-2/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/final-old-tablet100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "final-old-phone100-1", + "png": "docs/screenshots/touch-search/final-old-phone100-1/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/final-old-phone100-1/captures/launchertouchclearpreservesfocuscategoryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "final-old-phone100-2", + "png": "docs/screenshots/touch-search/final-old-phone100-2/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/final-old-phone100-2/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "final-spacing-control-tablet200", + "png": "docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.png", + "xml": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after.xml", + "frame": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-after-frame.json" + }, + { + "cohort": "final-spacing-control-tablet200", + "png": "docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.png", + "xml": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before.xml", + "frame": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-hidden-before-frame.json" + }, + { + "cohort": "final-spacing-control-tablet200", + "png": "docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.png", + "xml": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after.xml", + "frame": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-after-frame.json" + }, + { + "cohort": "final-spacing-control-tablet200", + "png": "docs/screenshots/touch-search/final-spacing-control-tablet200/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.png", + "xml": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before.xml", + "frame": "docs/validation/touch-search/cohorts/final-spacing-control-tablet200/captures/emojitouchclearpreservescategorygeometryandkeyboard-shown-before-frame.json" + } +] diff --git a/docs/validation/touch-search/spacing-control-calibration.json b/docs/validation/touch-search/spacing-control-calibration.json new file mode 100644 index 00000000..37416fd2 --- /dev/null +++ b/docs/validation/touch-search/spacing-control-calibration.json @@ -0,0 +1,9 @@ +{ + "cohort": "spacing-control-tablet200", + "intended_failures": 1, + "passes": 0, + "cleanup_checks": 15, + "test_log_sha256": "2814a7014413d02b3daeb37e669ded869cb7a80b0eaae34b6821bbe137f1bac7", + "assertion": "6px return-origin mismatch at200% after actual Clear succeeds; same frozen f79 harness as final candidate", + "scope": "Planned replay after the original unexpected1/2 cohort; both positive-only receipts remain failed" +} diff --git a/docs/validation/touch-search/summary.json b/docs/validation/touch-search/summary.json new file mode 100644 index 00000000..10cd42a8 --- /dev/null +++ b/docs/validation/touch-search/summary.json @@ -0,0 +1,479 @@ +{ + "final_positive_executions": 25, + "final_whole_cohorts": 11, + "final_cleanup_checks": 171, + "final_control_failures": 5, + "final_control_passes": 0, + "final_control_cohorts": 5, + "final_control_cleanup_checks": 79, + "all_retained_executions": 65, + "all_retained_raw_passes": 47, + "all_retained_failures": 18, + "successful_cohort_cleanup_checks": 494, + "failed_post_test_protocol": { + "raw_junit_passes": 2, + "raw_junit_failures": 0, + "failed_cleanup_checks": 1, + "completed": false, + "final_credit": 0 + }, + "zero_test_preflight_attempts": 1, + "selected_png_xml_frame_sets": 92, + "retained_capture_files": 653, + "separate_recovery_checks": { + "preflight": 18, + "post_test": 33, + "launcher_anr": 6 + }, + "separate_final_preservation_checks": 14, + "scope": "Final credit only uses app974b/test54a/current controller. All older harnesses and failed protocols are excluded. Clear uses the selected system IME; native-input regression cases use the explicitly owned silent test IME. Constrained empty-feedback visibility remains open in#111; v7 scopes that body assertion, keeping all Clear assertions mandatory.", + "cohorts": [ + { + "name": "old-tablet100-1", + "passes": 0, + "failures": 1, + "completed": false, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard" + ], + "cleanup_checks": 15, + "app_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "credit": "historical" + }, + { + "name": "old-tablet100-2", + "passes": 0, + "failures": 1, + "completed": false, + "cases": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 15, + "app_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "credit": "historical" + }, + { + "name": "old-phone100-1", + "passes": 0, + "failures": 1, + "completed": false, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard" + ], + "cleanup_checks": 17, + "app_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "credit": "historical" + }, + { + "name": "old-phone100-2", + "passes": 0, + "failures": 1, + "completed": false, + "cases": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 17, + "app_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "credit": "historical" + }, + { + "name": "current-tablet100", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 15, + "app_sha256": "e143a921f4adb69551ad327ee252ffb7008b207ae1b814542f980dd8c17a7a34", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "credit": "historical" + }, + { + "name": "current-tablet200", + "passes": 1, + "failures": 1, + "completed": false, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 15, + "app_sha256": "e143a921f4adb69551ad327ee252ffb7008b207ae1b814542f980dd8c17a7a34", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "credit": "historical" + }, + { + "name": "spacing-control-tablet200", + "passes": 0, + "failures": 1, + "completed": false, + "cases": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 15, + "app_sha256": "e143a921f4adb69551ad327ee252ffb7008b207ae1b814542f980dd8c17a7a34", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "credit": "historical" + }, + { + "name": "legacy-independent-phone100", + "passes": 5, + "failures": 0, + "completed": true, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "pointerClearRemovesControlledCompositionAndWhitespace", + "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "currentClearUsesLiveQueryAndRecreationRejectsOldCallback" + ], + "cleanup_checks": 10, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "credit": "historical" + }, + { + "name": "ready-tablet200", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 15, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "credit": "historical" + }, + { + "name": "ready-tablet100", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 15, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "credit": "historical" + }, + { + "name": "ready-phone100", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 17, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "credit": "historical" + }, + { + "name": "ready-phone200", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 17, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "credit": "historical" + }, + { + "name": "ready-landscape100", + "passes": 0, + "failures": 2, + "completed": false, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 17, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "f79e5337c1fdb40c955bb771ef314007c0b1028ee9fd14a6fec087caad8112a6", + "credit": "historical" + }, + { + "name": "diagnostic-landscape100-v6", + "passes": 0, + "failures": 2, + "completed": false, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 17, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "700348aa86aae44801d679f0496dfd745bfb23855b15b9730bb0e19f6acbc8bc", + "credit": "historical" + }, + { + "name": "verified-phone200", + "passes": 0, + "failures": 2, + "completed": false, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 17, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "historical" + }, + { + "name": "verified-api26-phone100", + "passes": 4, + "failures": 1, + "completed": false, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "pointerClearRemovesControlledCompositionAndWhitespace", + "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "currentClearUsesLiveQueryAndRecreationRejectsOldCallback" + ], + "cleanup_checks": 10, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "historical" + }, + { + "name": "verified-landscape100", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 17, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-positive" + }, + { + "name": "verified-landscape200", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 17, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-positive" + }, + { + "name": "verified-tablet100", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 15, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-positive" + }, + { + "name": "verified-tablet200", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 15, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-positive" + }, + { + "name": "verified-phone100", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 17, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-positive" + }, + { + "name": "verified-phone200-after-launcher-anr", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 17, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-positive" + }, + { + "name": "verified-guards-tablet100", + "passes": 3, + "failures": 0, + "completed": true, + "cases": [ + "pointerClearRemovesControlledCompositionAndWhitespace", + "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "currentClearUsesLiveQueryAndRecreationRejectsOldCallback" + ], + "cleanup_checks": 15, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-positive" + }, + { + "name": "verified-api26-established-clear-phone100", + "passes": 4, + "failures": 0, + "completed": true, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard", + "emojiTouchClearPreservesCategoryGeometryAndKeyboard", + "retainedClearCallbacksRejectReplacedSurfacesAndMenus", + "currentClearUsesLiveQueryAndRecreationRejectsOldCallback" + ], + "cleanup_checks": 10, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-positive" + }, + { + "name": "verified-regression-tablet100", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "committedEmojiNavigationAndCaretAreExact", + "activeMultilingualCompositionKeepsResultSelection" + ], + "cleanup_checks": 17, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-positive" + }, + { + "name": "verified-regression-phone100", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "committedEmojiNavigationAndCaretAreExact", + "activeMultilingualCompositionKeepsResultSelection" + ], + "cleanup_checks": 19, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-positive" + }, + { + "name": "verified-regression-api26100", + "passes": 2, + "failures": 0, + "completed": true, + "cases": [ + "committedEmojiNavigationAndCaretAreExact", + "activeMultilingualCompositionKeepsResultSelection" + ], + "cleanup_checks": 12, + "app_sha256": "974b2faadb54b23d5f2d259371943379f7b372c7ad14651f898ee0a82959d750", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-positive" + }, + { + "name": "final-old-tablet100-1", + "passes": 0, + "failures": 1, + "completed": false, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard" + ], + "cleanup_checks": 15, + "app_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-control" + }, + { + "name": "final-old-tablet100-2", + "passes": 0, + "failures": 1, + "completed": false, + "cases": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 15, + "app_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-control" + }, + { + "name": "final-old-phone100-1", + "passes": 0, + "failures": 1, + "completed": false, + "cases": [ + "launcherTouchClearPreservesFocusCategoryAndKeyboard" + ], + "cleanup_checks": 17, + "app_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-control" + }, + { + "name": "final-old-phone100-2", + "passes": 0, + "failures": 1, + "completed": false, + "cases": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 17, + "app_sha256": "ae03c859cbdb5177796b6ed559a8db20b210d2919b2f5c9e4bf5d4694ac4ec71", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-control" + }, + { + "name": "final-spacing-control-tablet200", + "passes": 0, + "failures": 1, + "completed": false, + "cases": [ + "emojiTouchClearPreservesCategoryGeometryAndKeyboard" + ], + "cleanup_checks": 15, + "app_sha256": "e143a921f4adb69551ad327ee252ffb7008b207ae1b814542f980dd8c17a7a34", + "test_apk_sha256": "54a86c606faa86f45c6e467631d90df72462e7d4b72e1f28a9a531c032e366e1", + "credit": "current-control" + } + ] +} diff --git a/scripts/test-webview-engine.py b/scripts/test-webview-engine.py index 217b0c95..b3f5eadf 100644 --- a/scripts/test-webview-engine.py +++ b/scripts/test-webview-engine.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -"""Owned API26/API36 engine or native-input probes; retain ownership on restoration failure.""" +"""Owned API26/API36 engine, input or touch-search checks; retain ownership on restoration failure.""" from pathlib import Path, PurePosixPath import argparse import hashlib @@ -39,6 +39,11 @@ 'committedSameTurnLauncherActivationUsesCurrentNote', 'largeDraftRestoresExactCharactersAfterRecreation'] CONTRACT_CASES = INPUT_CASES[5:] +TOUCH_CASES = ['launcherTouchClearPreservesFocusCategoryAndKeyboard', + 'emojiTouchClearPreservesCategoryGeometryAndKeyboard', + 'pointerClearRemovesControlledCompositionAndWhitespace', + 'retainedClearCallbacksRejectReplacedSurfacesAndMenus', + 'currentClearUsesLiveQueryAndRecreationRejectsOldCallback'] OWNED_IME = TEST + '/dev.tinycast.android.NativeInputTestIme' IME_SETTING_KEYS = ('default_input_method', 'enabled_input_methods', 'selected_input_method_subtype', 'input_methods_subtype_history') @@ -74,6 +79,30 @@ def archive_files(data): return files +def private_app_archive(adb, destination, timeout=60): + """Stream large snapshots to a private file; publish only a validated archive. + + Keeping the transfer out of a Python stdout pipe bounds buffering and does + not depend on a caller closing its interactive stdin. A failed capture stays + partial, with the device lease retained by the caller. + """ + destination = Path(destination) + partial = destination.with_name(destination.name + '.partial') + require(destination.name.startswith('private-') and destination.suffix == '.tar', 'Private archive destination required') + require(not destination.exists() and not partial.exists(), 'Inspect the existing private snapshot before repeating capture') + descriptor = os.open(partial, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o600) + with os.fdopen(descriptor, 'wb') as output: + command = adb + ['exec-out', 'run-as', APP, 'tar', '-cf', '-', 'files', 'shared_prefs'] + result = subprocess.run(command, stdin=subprocess.DEVNULL, stdout=output, + stderr=subprocess.PIPE, timeout=timeout) + require(result.returncode == 0 and not result.stderr, 'Private archive capture failed') + output.flush() + os.fsync(output.fileno()) + files = archive_files(partial.read_bytes()) + os.replace(partial, destination) + return files + + def fixture(id): # ES5 source: a failure on API26 belongs to the unchanged shared bootstrap, # not to modern syntax added by the command fixture. @@ -100,8 +129,8 @@ def main(): p.add_argument('--test-apk', type=Path, required=True) p.add_argument('--output', type=Path, required=True) p.add_argument('--cases', required=True, help='Comma-separated allowlisted methods from the selected suite') - p.add_argument('--suite', choices=['engine', 'native-input'], default='engine', - help='Native-input reuses the same emulator ownership/restoration protocol without executing an extension') + p.add_argument('--suite', choices=['engine', 'native-input', 'touch-search'], default='engine', + help='Input/touch-search reuse emulator restoration without executing an extension') p.add_argument('--input-mode', choices=['system', 'owned'], default='system', help='Controlled contracts require the silent test IME; system-IME diagnostics retain the current keyboard') p.add_argument('--font-scale', type=float, choices=[1, 2], default=1) @@ -110,12 +139,19 @@ def main(): a = p.parse_args() legacy = a.avd == 'Droidcast_WebView_API26_27caf3' native_input = a.suite == 'native-input' - suite_class = 'dev.tinycast.android.NativeInputCompatibilityDeviceTest' if native_input else CLASS + touch_search = a.suite == 'touch-search' + native_probe = native_input or touch_search + namespace = 'touch-search' if touch_search else 'native-input' if native_input else 'webview-engine' + lease_name = 'touch-search-lease' if touch_search else 'native-input-lease' if native_input else 'webview-compatibility-lease' + evidence_name = 'touch-search-evidence' if touch_search else 'native-input-evidence' if native_input else 'webview-compatibility-evidence' + argument_prefix = 'touchSearch' if touch_search else 'nativeInput' if native_input else 'webView' + suite_class = ('dev.tinycast.android.TouchSearchDeviceTest' if touch_search else + 'dev.tinycast.android.NativeInputCompatibilityDeviceTest' if native_input else CLASS) require(a.serial.startswith('emulator-') and a.avd in ('Droidcast_WebView_API26_27caf3', 'Tinycast_Tablet_API_36'), 'Use an explicitly owned AVD') methods = a.cases.split(',') require(len(methods) == len(set(methods)) and 1 <= len(methods) <= 7 and all( - name in (INPUT_CASES if native_input else CASES['shared'] + CASES['legacy' if legacy else 'modern']) for name in methods), 'Unsupported native cases') - require(not a.expected_negative or not native_input and legacy and methods == [CASES['legacy'][0]], 'Negative control is limited to the old missing-recovery assertion') + name in (TOUCH_CASES if touch_search else INPUT_CASES if native_input else CASES['shared'] + CASES['legacy' if legacy else 'modern']) for name in methods), 'Unsupported native cases') + require(not a.expected_negative or not native_probe and legacy and methods == [CASES['legacy'][0]], 'Negative control is limited to the old missing-recovery assertion') require(a.input_mode != 'owned' or native_input and all(name in CONTRACT_CASES for name in methods), 'Owned IME is limited to controlled native-input contracts') require(not native_input or not any(name in CONTRACT_CASES for name in methods) or a.input_mode == 'owned', 'Controlled contracts require --input-mode owned') require(not legacy or a.layout == 'phone', 'Keep the actual API26 geometry unchanged') @@ -180,18 +216,18 @@ def restore_font(wanted): if ime_settings: require(re.fullmatch(r'[A-Za-z0-9_.]+/[A-Za-z0-9_.$]+', ime_settings['default_input_method']), 'A restorable original input method is required') require(not any(OWNED_IME in value for value in ime_settings.values()), 'An existing owned IME activation/history has a recovery owner') - nonce = uuid.uuid4().hex; id = ('native-input-' if native_input else 'webview-engine-') + nonce - lease = 'files/native-input-lease' if native_input else 'files/webview-compatibility-lease' - evidence = 'files/native-input-evidence' if native_input else 'files/webview-compatibility-evidence' + nonce = uuid.uuid4().hex; id = namespace + '-' + nonce + lease = 'files/' + lease_name + evidence = 'files/' + evidence_name root = 'files/extensions/' + id - owner = {'kind': 'native-input-v1' if native_input else 'webview-compatibility-v1', 'nonce': nonce, 'extension_id': id, 'fresh_disposable_avd': legacy} + owner = {'kind': namespace + '-v1' if native_probe else 'webview-compatibility-v1', 'nonce': nonce, 'extension_id': id, 'fresh_disposable_avd': legacy} if native_input: owner['input_mode'] = a.input_mode owned = [root, 'cache/' + id, 'files/extension-data/' + id, 'shared_prefs/extension-' + id + '.xml', 'shared_prefs/extension-' + id + '.xml.bak', evidence] if not legacy: require(not text('shell', 'run-as', APP, 'id').startswith(('uid=0(', 'uid=1000(', 'uid=2000(')), 'The app must remain unprivileged') - for path in [lease, evidence, 'files/webview-compatibility-lease', 'files/native-input-lease', 'files/reviewed-text-fixture-lease', 'files/empty-view-fixture-lease'] + owned[:5]: + for path in [lease, evidence, 'files/webview-compatibility-lease', 'files/native-input-lease', 'files/touch-search-lease', 'files/reviewed-text-fixture-lease', 'files/empty-view-fixture-lease'] + owned[:5]: require(absent(path), 'A prior recovery owner/path remains: ' + path) a.output.mkdir(parents=True, exist_ok=False, mode=0o700) (a.output / 'private-owner.json').write_text(json.dumps(owner)); (a.output / 'private-owner.json').chmod(0o600) @@ -229,9 +265,7 @@ def verify_input_method(): data = raw('exec-out', 'cat', value.removeprefix('package:')) path = a.output / ('private-original-' + pkg + '.apk'); path.write_bytes(data); path.chmod(0o600) originals[pkg] = (path, sha(data)) - data = raw('exec-out', 'run-as', APP, 'tar', '-cf', '-', 'files', 'shared_prefs') - path = a.output / 'private-data-before.tar'; path.write_bytes(data); path.chmod(0o600) - original_files = archive_files(data) + original_files = private_app_archive(adb, a.output / 'private-data-before.tar') original_profile = original_files.get('files/profileInstalled') before = {path: sha(value) for path, value in original_files.items() if not path.startswith(lease + '/')} palette = raw('exec-out', 'run-as', APP, 'cat', 'shared_prefs/palette.xml') @@ -247,17 +281,18 @@ def verify_input_method(): raw('shell', 'ime', 'enable', OWNED_IME) raw('shell', 'ime', 'set', OWNED_IME) require(text('shell', 'settings', 'get', 'secure', 'default_input_method') == OWNED_IME, 'Owned IME was not selected') - if not native_input: + if not native_probe: raw('shell', 'run-as', APP, 'mkdir', '-p', root) r['fixture_sha256'] = {} - for name, data in ({} if native_input else fixture(id)).items(): + for name, data in ({} if native_probe else fixture(id)).items(): raw('shell', 'run-as', APP, 'tee', root + '/' + name, data=data); r['fixture_sha256'][name] = sha(data) if not legacy and a.layout != 'tablet': raw('shell', 'wm', 'size', '1080x2340' if a.layout == 'phone' else '2340x1080'); raw('shell', 'wm', 'density', '420') raw('shell', 'settings', 'put', 'system', 'font_scale', str(a.font_scale)) save() - command = ['shell', 'am', 'instrument', '-w', '-r', '-e', 'nativeInputFixture' if native_input else 'webViewFixture', 'true', - '-e', 'nativeInputOwner' if native_input else 'webViewOwner', nonce, + command = ['shell', 'am', 'instrument', '-w', '-r', '-e', argument_prefix + 'Fixture', 'true', + '-e', argument_prefix + 'Owner', nonce, + '-e', 'touchSearchFontScale', str(a.font_scale), '-e', 'nativeInputMode', a.input_mode, '-e', 'class', ','.join(suite_class + '#' + name for name in methods), TEST + '/androidx.test.runner.AndroidJUnitRunner'] with (a.output / 'tests.log').open('xb') as log: @@ -349,7 +384,7 @@ def restore_profile_stamp(): require(raw('exec-out', 'run-as', APP, 'cat', 'files/profileInstalled') == original_profile, 'Profile marker differs') c.attempt('profile-installer-marker', restore_profile_stamp) def preserved_data(): - after = archive_files(raw('exec-out', 'run-as', APP, 'tar', '-cf', '-', 'files', 'shared_prefs')) + after = private_app_archive(adb, a.output / 'private-data-after.tar') after = {path: sha(value) for path, value in after.items() if not path.startswith(lease + '/')} require(after == before, 'Installed data/evidence changed; retain private recovery inputs') r['preserved_file_count'] = len(before) diff --git a/scripts/tests/test_private_archive_transport.py b/scripts/tests/test_private_archive_transport.py new file mode 100644 index 00000000..e5864cbe --- /dev/null +++ b/scripts/tests/test_private_archive_transport.py @@ -0,0 +1,82 @@ +import importlib.util +import json +import os +from pathlib import Path +import stat +import subprocess +import sys +import tempfile +import unittest + +ROOT = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(ROOT)) +spec = importlib.util.spec_from_file_location('owned_archive_runner', ROOT / 'test-webview-engine.py') +runner = importlib.util.module_from_spec(spec) +spec.loader.exec_module(runner) + + +class PrivateArchiveTransportTests(unittest.TestCase): + def transport(self, folder, body): + path = folder / 'fake_adb.py' + path.write_text(body) + return [sys.executable, str(path)] + + def test_large_capture_completes_while_parent_stdin_remains_open(self): + with tempfile.TemporaryDirectory() as temporary: + folder = Path(temporary) + command = self.transport(folder, """import io,sys,tarfile +assert sys.stdin.buffer.read()==b'' +with tarfile.open(fileobj=sys.stdout.buffer,mode='w|') as archive: + data=b'owned-snapshot-'*600000 + info=tarfile.TarInfo('files/owned.bin');info.size=len(data) + archive.addfile(info,io.BytesIO(data)) +""") + destination = folder / 'private-before.tar' + driver = """import importlib.util,json,pathlib,stat,sys +sys.path.insert(0,sys.argv[1]) +spec=importlib.util.spec_from_file_location('runner',pathlib.Path(sys.argv[1])/'test-webview-engine.py') +r=importlib.util.module_from_spec(spec);spec.loader.exec_module(r) +files=r.private_app_archive(json.loads(sys.argv[2]),pathlib.Path(sys.argv[3]),timeout=5) +print(json.dumps({'length':len(files['files/owned.bin']),'mode':stat.S_IMODE(pathlib.Path(sys.argv[3]).stat().st_mode)})) +""" + process = subprocess.Popen([sys.executable, '-c', driver, str(ROOT), json.dumps(command), str(destination)], + stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + try: + # Keep the parent's input pipe open: inheriting it would hang the sender. + process.wait(timeout=10) + output = process.stdout.read(); error = process.stderr.read() + self.assertEqual(0, process.returncode, error.decode()) + self.assertEqual({'length': 9000000, 'mode': 0o600}, json.loads(output)) + self.assertFalse(destination.with_name(destination.name + '.partial').exists()) + finally: + if process.poll() is None: + process.kill(); process.wait() + for pipe in (process.stdin, process.stdout, process.stderr): + pipe.close() + + def test_malformed_capture_never_becomes_a_complete_snapshot(self): + with tempfile.TemporaryDirectory() as temporary: + folder = Path(temporary); destination = folder / 'private-before.tar' + command = self.transport(folder, "import sys;sys.stdout.buffer.write(b'not an archive')") + with self.assertRaises(Exception): + runner.private_app_archive(command, destination) + self.assertFalse(destination.exists()) + partial = destination.with_name(destination.name + '.partial') + self.assertEqual(0o600, stat.S_IMODE(partial.stat().st_mode)) + with self.assertRaisesRegex(ValueError, 'existing private snapshot'): + runner.private_app_archive(command, destination) + + def test_failed_and_timed_out_transfers_retain_only_private_partials(self): + for body, timeout, error in [("import sys;sys.stdout.write('partial');sys.exit(7)", 5, ValueError), + ("import sys,time;sys.stdout.write('partial');sys.stdout.flush();time.sleep(10)", .1, subprocess.TimeoutExpired)]: + with self.subTest(error=error), tempfile.TemporaryDirectory() as temporary: + folder = Path(temporary); destination = folder / 'private-before.tar' + command = self.transport(folder, body) + with self.assertRaises(error): + runner.private_app_archive(command, destination, timeout=timeout) + self.assertFalse(destination.exists()) + self.assertEqual(0o600, stat.S_IMODE(destination.with_name(destination.name + '.partial').stat().st_mode)) + + +if __name__ == '__main__': + unittest.main() diff --git a/scripts/tests/test_webview_engine_runner.py b/scripts/tests/test_webview_engine_runner.py index f6ea223a..09cf7d8d 100644 --- a/scripts/tests/test_webview_engine_runner.py +++ b/scripts/tests/test_webview_engine_runner.py @@ -42,6 +42,15 @@ def test_system_ime_diagnostics_cannot_use_owned_ime(self): def test_engine_suite_cannot_change_input_method(self): self.assertIn('Owned IME is limited', self.rejected_suite('engine', 'incompatibleEngineShowsNativeRecoveryWithoutDispatch', ['--input-mode', 'owned'])) + def test_touch_suite_cannot_select_engine_or_input_cases(self): + for method in ('recordCallerSelectionAcrossNativeRoutes', 'modernEnginePublishesListAndRunsLiveAction'): + self.assertIn('Unsupported native cases', self.rejected_suite('touch-search', method)) + + def test_touch_suite_cannot_change_input_method_or_use_engine_negative_classifier(self): + method = 'launcherTouchClearPreservesFocusCategoryAndKeyboard' + self.assertIn('Owned IME is limited', self.rejected_suite('touch-search', method, ['--input-mode', 'owned'])) + self.assertIn('Negative control is limited', self.rejected_suite('touch-search', method, ['--expected-negative'])) + def test_package_absence_uses_exact_successful_inventory(self): self.assertFalse(runner.listed_package_presence('', 'dev.tinycast.android')) self.assertFalse(runner.listed_package_presence('package:dev.tinycast.android.test\n', 'dev.tinycast.android'))