diff --git a/app/src/mobile/util/touch.ts b/app/src/mobile/util/touch.ts index 6a01fcd4d..c9b74c104 100644 --- a/app/src/mobile/util/touch.ts +++ b/app/src/mobile/util/touch.ts @@ -5,6 +5,7 @@ import {activeBlur} from "./keyboardToolbar"; import {isIPhone} from "../../protyle/util/compatibility"; import {App} from "../../index"; import {globalTouchEnd, globalTouchStart} from "../../boot/globalEvent/touch"; +import {Constants} from "../../constants"; let clientX: number; let clientY: number; @@ -42,7 +43,7 @@ export const handleTouchEnd = (event: TouchEvent, app: App) => { setTimeout(() => { editElement.focus(); window.JSAndroid?.showKeyboard(); - }, 100); + }, Constants.TIMEOUT_TRANSITION); } else { editElement.focus(); window.JSAndroid?.showKeyboard(); diff --git a/app/src/protyle/render/av/action.ts b/app/src/protyle/render/av/action.ts index b38f66162..0f3ccd111 100644 --- a/app/src/protyle/render/av/action.ts +++ b/app/src/protyle/render/av/action.ts @@ -327,11 +327,20 @@ export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLEle if (viewsElement) { viewsElement.classList.add("av__views--show"); } - setTimeout(() => { + /// #if MOBILE + if (searchElement.getAttribute("virtualkeyboardpolicy") !== "manual") { + searchElement.setAttribute("virtualkeyboardpolicy", "manual"); + setTimeout(() => { + searchElement.focus(); + window.JSAndroid?.showKeyboard(); + }, Constants.TIMEOUT_TRANSITION); + } else { searchElement.focus(); - // TODO window.JSAndroid?.showKeyboard(); - }, Constants.TIMEOUT_TRANSITION); + } + /// #else + searchElement.focus(); + /// #endif event.preventDefault(); event.stopPropagation(); return true;