Commit 958f108
Restore subclipping view removal (facebook#48329)
Summary:
With the call to `removeView()` removed from `ReactViewClippingManager` in facebook#47634, we're seeing views erroneously sticking around in the layout.
While `removeViewWithSubviewClippingEnabled()` calls `removeViewsInLayout()`, it does not trigger the corresponding side effects of [removeView()](https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-15.0.0_r9/core/java/android/view/ViewGroup.java#5501):
```
public void removeView(View view) {
if (removeViewInternal(view)) {
--> requestLayout();
--> invalidate(true);
}
}
```
To compensate, flip `removeViewsInLayout()` to [`removeViews()`](https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-15.0.0_r9/core/java/android/view/ViewGroup.java#5562), which will ensure layout.
Changelog: [Android][Fixed] Restore layout/invalidate during ReactViewClippingManager.removeViewAt()
Reviewed By: javache
Differential Revision: D673989711 parent ea56c43 commit 958f108
File tree
1 file changed
+1
-0
lines changed- packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view
1 file changed
+1
-0
lines changedpackages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
749 | 749 | | |
750 | 750 | | |
751 | 751 | | |
| 752 | + | |
752 | 753 | | |
753 | 754 | | |
754 | 755 | | |
| |||
0 commit comments