/TextFocusIssue

Simple Android repo to show issue with focus on TextView

Primary LanguageKotlin

"# TextFocusIssue"

Stack trace of crash

2022-05-27 13:41:45.991 11312-11312/com.joelcperkins.textfocusissue E/AndroidRuntime: FATAL EXCEPTION: main Process: com.joelcperkins.textfocusissue, PID: 11312 java.lang.IllegalArgumentException: Required value was null. at androidx.compose.ui.focus.FocusTransactionsKt.clearChildFocus(FocusTransactions.kt:191) at androidx.compose.ui.focus.FocusTransactionsKt.requestFocusForChild(FocusTransactions.kt:225) at androidx.compose.ui.focus.FocusTransactionsKt.requestFocus(FocusTransactions.kt:46) at androidx.compose.ui.focus.FocusRequester.requestFocus(FocusRequester.kt:55) at com.joelcperkins.textfocusissue.MainActivityKt$RequestFocus$1$1.invoke(MainActivity.kt:66) at com.joelcperkins.textfocusissue.MainActivityKt$RequestFocus$1$1.invoke(MainActivity.kt:64) at androidx.compose.ui.focus.FocusChangedModifierKt$onFocusChanged$2$1.invoke(FocusChangedModifier.kt:47) at androidx.compose.ui.focus.FocusChangedModifierKt$onFocusChanged$2$1.invoke(FocusChangedModifier.kt:44) at androidx.compose.ui.focus.FocusEventModifierImpl.onFocusEvent(FocusEventModifier.kt:41) at androidx.compose.ui.node.ModifiedFocusEventNode.propagateFocusEvent(ModifiedFocusEventNode.kt:31) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.ModifiedFocusEventNode.propagateFocusEvent(ModifiedFocusEventNode.kt:35) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.ModifiedFocusEventNode.propagateFocusEvent(ModifiedFocusEventNode.kt:35) at androidx.compose.ui.node.LayoutNodeWrapper.propagateFocusEvent(LayoutNodeWrapper.kt:732) at androidx.compose.ui.node.ModifiedFocusNode.sendOnFocusEvent(ModifiedFocusNode.kt:63) at androidx.compose.ui.node.ModifiedFocusNode.setFocusState(ModifiedFocusNode.kt:48) at androidx.compose.ui.focus.FocusTransactionsKt.grantFocus(FocusTransactions.kt:173) at androidx.compose.ui.focus.FocusTransactionsKt.grantFocusToChild(FocusTransactions.kt:184) at androidx.compose.ui.focus.FocusTransactionsKt.requestFocusForChild(FocusTransactions.kt:219) at androidx.compose.ui.focus.FocusTransactionsKt.requestFocusForChild(FocusTransactions.kt:244) at androidx.compose.ui.focus.FocusTransactionsKt.requestFocus(FocusTransactions.kt:46) at androidx.compose.ui.focus.FocusRequester.requestFocus(FocusRequester.kt:55) at androidx.compose.foundation.text.CoreTextFieldKt.tapToFocus(CoreTextField.kt:761) at androidx.compose.foundation.text.CoreTextFieldKt.access$tapToFocus(CoreTextField.kt:1) 2022-05-27 13:41:45.992 11312-11312/com.joelcperkins.textfocusissue E/AndroidRuntime: at androidx.compose.foundation.text.CoreTextFieldKt$CoreTextField$pointerModifier$1.invoke-k-4lQ0M(CoreTextField.kt:295) at androidx.compose.foundation.text.CoreTextFieldKt$CoreTextField$pointerModifier$1.invoke(CoreTextField.kt:294) at androidx.compose.foundation.text.TextFieldPressGestureFilterKt$tapPressTextFieldModifier$1$2$2.invoke-k-4lQ0M(TextFieldPressGestureFilter.kt:82) at androidx.compose.foundation.text.TextFieldPressGestureFilterKt$tapPressTextFieldModifier$1$2$2.invoke(TextFieldPressGestureFilter.kt:55) at androidx.compose.foundation.gestures.TapGestureDetectorKt$detectTapAndPress$2$1$1.invokeSuspend(TapGestureDetector.kt:223) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:178) at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:166) at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:397) at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:431) at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:420) at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:328) at androidx.compose.ui.input.pointer.SuspendingPointerInputFilter$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:511) at androidx.compose.ui.input.pointer.SuspendingPointerInputFilter.dispatchPointerEvent(SuspendingPointerInputFilter.kt:406) at androidx.compose.ui.input.pointer.SuspendingPointerInputFilter.onPointerEvent-H0pRuoY(SuspendingPointerInputFilter.kt:419) at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:310) at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:297) at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:297) at androidx.compose.ui.input.pointer.NodeParent.dispatchMainEventPass(HitPathTracker.kt:179) at androidx.compose.ui.input.pointer.HitPathTracker.dispatchChanges(HitPathTracker.kt:98) at androidx.compose.ui.input.pointer.PointerInputEventProcessor.process-BIzXfog(PointerInputEventProcessor.kt:80) at androidx.compose.ui.platform.AndroidComposeView.sendMotionEvent-8iAsVTc(AndroidComposeView.android.kt:1159) at androidx.compose.ui.platform.AndroidComposeView.handleMotionEvent-8iAsVTc(AndroidComposeView.android.kt:1109) at androidx.compose.ui.platform.AndroidComposeView.dispatchTouchEvent(AndroidComposeView.android.kt:1059) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2801) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:498) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1890) at android.app.Activity.dispatchTouchEvent(Activity.java:4199) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:456) at android.view.View.dispatchPointerEvent(View.java:14858) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6446) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6247) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5725) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5782) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5748) 2022-05-27 13:41:45.993 11312-11312/com.joelcperkins.textfocusissue E/AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5913) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5756) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5970) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5729) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5782) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5748) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5756) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5729) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8696) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8647) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8616) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8819) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:259) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loopOnce(Looper.java:161) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7870) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) 2022-05-27 13:41:46.271 11312-11323/com.joelcperkins.textfocusissue W/System: A resource failed to call close.