package com.mrousavy.camera.react.extensions import android.view.View import android.view.ViewGroup // React does not trigger onLayout events for dynamically added views (`addView`). This fixes that. // https://github.com/facebook/react-native/issues/17968#issuecomment-633308615 fun ViewGroup.installHierarchyFitter() { setOnHierarchyChangeListener(object : ViewGroup.OnHierarchyChangeListener { override fun onChildViewRemoved(parent: View?, child: View?) = Unit override fun onChildViewAdded(parent: View?, child: View?) { parent?.measure( View.MeasureSpec.makeMeasureSpec(measuredWidth, View.MeasureSpec.EXACTLY), View.MeasureSpec.makeMeasureSpec(measuredHeight, View.MeasureSpec.EXACTLY) ) parent?.layout(0, 0, parent.measuredWidth, parent.measuredHeight) } }) }