element-hq / element-hq/element-android
[External keyboard] Crash when hitting "Enter" on Verification bottom sheet
- Dominant language
- Kotlin
- Stars
- 3.7k
- Forks
- 917
- PR merge metrics
- No merged PRs in 30d
Description
### Steps to reproduce
1. Use an external keyboard
2. Start a verification flow to verify another user
3. Once the bottom sheet is displayed, navigate with the keyboard to the item "Start verification"
4. Press Enter on the external keyboard
### Outcome
#### What did you expect?
The verification starts, as when the user click on the screen on "Start verification"
#### What happened instead?
The application crashes
```
2023-05-11 16:09:14.239 24281-24281 AndroidRuntime im.vector.app.nightly E FATAL EXCEPTION: main
Process: im.vector.app.nightly, PID: 24281
java.lang.IllegalArgumentException: parameter must be a descendant of this view
at android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:6296)
at android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:6225)
at androidx.core.widget.NestedScrollView.isWithinDeltaOfScreen(NestedScrollView.java:8)
at androidx.core.widget.NestedScrollView.onSizeChanged(NestedScrollView.java:14)
at android.view.View.sizeChange(View.java:23881)
at android.view.View.setFrame(View.java:23833)
at android.view.View.layout(View.java:23690)
at android.view.ViewGroup.layout(ViewGroup.java:6413)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23693)
at android.view.ViewGroup.layout(ViewGroup.java:6413)
at androidx.coordinatorlayout.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:144)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:29)
at com.google.android.material.bottomsheet.BottomSheetBehavior.onLayoutChild(BottomSheetBehavior.java:111)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:43)
at android.view.View.layout(View.java:23693)
at android.view.ViewGroup.layout(ViewGroup.java:6413)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23693)
at android.view.ViewGroup.layout(ViewGroup.java:6413)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23693)
at android.view.ViewGroup.layout(ViewGroup.java:6413)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23693)
at android.view.ViewGroup.layout(ViewGroup.java:6413)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23693)
at android.view.ViewGroup.layout(ViewGroup.java:6413)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1638)
at android.view.View.layout(View.java:23693)
at android.view.ViewGroup.layout(ViewGroup.java:6413)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:799)
at android.view.View.layout(View.java:23693)
at android.view.ViewGroup.layout(ViewGroup.java:6413)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3999)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3372)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2328)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9087)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1231)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239)
at android.view.Choreographer.doCallbacks(Choreographer.java:899)
at android.view.Choreographer.doFrame(Choreographer.java:832)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1214)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7872)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
```
### Your phone model
Many
### Operating system version
Android 10, also observed on other devices
### Application version and app store
1.5.32 (and previous)
### Homeserver
NA
### Will you send logs?
No
### Are you willing to provide a PR?
No
Contributor guide
Assessment
This issue has not been assessed yet.