Skip to content

IllegalStateException: ShellPageContainer#onMeasure() did not set the measured dimension by calling setMeasuredDimenstion() #13152

@BioTurboNick

Description

@BioTurboNick

Description

I've seen this report sporadically in the wild (via AppCenter) but I haven't yet been able to reproduce.

May be related to #10776 ?

Is it possible for there to be a case where Child.NativeView is not an Android.Views.View (or becomes null?) during a layout cycle? Perhaps SetMeasuredDimension should always be called regardless of Child.PlatformView?

protected override void OnMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
if (Child.PlatformView is AView aView)
{
aView.Measure(widthMeasureSpec, heightMeasureSpec);
SetMeasuredDimension(aView.MeasuredWidth, aView.MeasuredHeight);
}
}
}

Steps to Reproduce

pending

Link to public reproduction project repository

pending

Version with bug

7.0 (current)

Last version that worked well

Unknown/Other

Affected platforms

Android

Affected platform versions

Android 8.1, 9, 10

Did you find any workaround?

No response

Relevant log output

android.view.View.measure View.java:22298
android.view.ViewGroup.measureChildWithMargins ViewGroup.java:6668
androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasureChild CoordinatorLayout.java:795
com.google.android.material.appbar.HeaderScrollingViewBehavior.onMeasureChild HeaderScrollingViewBehavior.java:100
com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onMeasureChild AppBarLayout.java:2253
androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure CoordinatorLayout.java:866
android.view.View.measure View.java:22286
android.view.ViewGroup.measureChildWithMargins ViewGroup.java:6668
android.widget.FrameLayout.onMeasure FrameLayout.java:185
android.view.View.measure View.java:22286
android.widget.LinearLayout.measureVertical LinearLayout.java:975
android.widget.LinearLayout.onMeasure LinearLayout.java:702
android.view.View.measure View.java:22286
android.view.ViewGroup.measureChildWithMargins ViewGroup.java:6668
android.widget.FrameLayout.onMeasure FrameLayout.java:185
android.view.View.measure View.java:22286
androidx.drawerlayout.widget.DrawerLayout.onMeasure DrawerLayout.java:1156
android.view.View.measure View.java:22286
android.view.ViewGroup.measureChildWithMargins ViewGroup.java:6668
android.widget.LinearLayout.measureChildBeforeLayout LinearLayout.java:1539
android.widget.LinearLayout.measureHorizontal LinearLayout.java:1184
android.widget.LinearLayout.onMeasure LinearLayout.java:704
android.view.View.measure View.java:22286
android.view.ViewGroup.measureChildWithMargins ViewGroup.java:6668
android.widget.FrameLayout.onMeasure FrameLayout.java:185
androidx.appcompat.widget.ContentFrameLayout.onMeasure ContentFrameLayout.java:145
android.view.View.measure View.java:22286
android.view.ViewGroup.measureChildWithMargins ViewGroup.java:6668
android.widget.FrameLayout.onMeasure FrameLayout.java:185
android.view.View.measure View.java:22286
android.view.ViewGroup.measureChildWithMargins ViewGroup.java:6668
android.widget.FrameLayout.onMeasure FrameLayout.java:185
android.view.View.measure View.java:22286
android.view.ViewGroup.measureChildWithMargins ViewGroup.java:6668
android.widget.LinearLayout.measureChildBeforeLayout LinearLayout.java:1539
android.widget.LinearLayout.measureVertical LinearLayout.java:823
android.widget.LinearLayout.onMeasure LinearLayout.java:702
android.view.View.measure View.java:22286
android.view.ViewGroup.measureChildWithMargins ViewGroup.java:6668
android.widget.FrameLayout.onMeasure FrameLayout.java:185
com.android.internal.policy.DecorView.onMeasure DecorView.java:837
android.view.View.measure View.java:22286
android.view.ViewRootImpl.performMeasure ViewRootImpl.java:2646
android.view.ViewRootImpl.measureHierarchy ViewRootImpl.java:1674
android.view.ViewRootImpl.performTraversals ViewRootImpl.java:1933
android.view.ViewRootImpl.doTraversal ViewRootImpl.java:1558
android.view.ViewRootImpl$TraversalRunnable.run ViewRootImpl.java:7463
android.view.Choreographer$CallbackRecord.run Choreographer.java:1041
android.view.Choreographer.doCallbacks Choreographer.java:847
android.view.Choreographer.doFrame Choreographer.java:774
android.view.Choreographer$FrameDisplayEventReceiver.run Choreographer.java:1027
android.os.Handler.handleCallback Handler.java:809
android.os.Handler.dispatchMessage Handler.java:102
android.os.Looper.loop Looper.java:166
android.app.ActivityThread.main ActivityThread.java:7555
java.lang.reflect.Method.invoke Method.java
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run RuntimeInit.java:469
com.android.internal.os.ZygoteInit.main ZygoteInit.java:963

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions