diff --git a/app/components/post_draft/post_input/post_input.tsx b/app/components/post_draft/post_input/post_input.tsx index 82e1d33f2..e6b7562e4 100644 --- a/app/components/post_draft/post_input/post_input.tsx +++ b/app/components/post_draft/post_input/post_input.tsx @@ -136,10 +136,14 @@ export default function PostInput({ return {...style.input, maxHeight}; }, [maxHeight, style.input]); - const handleAndroidKeyboard = () => { + const handleAndroidKeyboardHide = () => { onBlur(); }; + const handleAndroidKeyboardShow = () => { + onFocus(); + }; + const onBlur = useCallback(() => { updateDraftMessage(serverUrl, channelId, rootId, value); setIsFocused(false); @@ -252,13 +256,16 @@ export default function PostInput({ }, [serverUrl, channelId, rootId, value]); useEffect(() => { - let keyboardListener: EmitterSubscription | undefined; + let keyboardHideListener: EmitterSubscription | undefined; + let keyboardShowListener: EmitterSubscription | undefined; if (Platform.OS === 'android') { - keyboardListener = Keyboard.addListener('keyboardDidHide', handleAndroidKeyboard); + keyboardHideListener = Keyboard.addListener('keyboardDidHide', handleAndroidKeyboardHide); + keyboardShowListener = Keyboard.addListener('keyboardDidShow', handleAndroidKeyboardShow); } return (() => { - keyboardListener?.remove(); + keyboardShowListener?.remove(); + keyboardHideListener?.remove(); }); }, []);