From 73a7a5fdc1e2102359b8ea1d5b8295cf49df22e0 Mon Sep 17 00:00:00 2001 From: Ben Irving Date: Mon, 2 Sep 2024 16:15:16 +0100 Subject: [PATCH] fix(Android): getChildDrawingOrder when using refreshcontrol with minifyEnabled --- android/src/main/java/com/swmansion/rnscreens/Screen.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/android/src/main/java/com/swmansion/rnscreens/Screen.kt b/android/src/main/java/com/swmansion/rnscreens/Screen.kt index 6bbfda09cc..4ae30f5538 100644 --- a/android/src/main/java/com/swmansion/rnscreens/Screen.kt +++ b/android/src/main/java/com/swmansion/rnscreens/Screen.kt @@ -9,9 +9,11 @@ import android.view.View import android.view.ViewGroup import android.view.WindowManager import android.webkit.WebView +import android.widget.ImageView import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.core.view.children import androidx.fragment.app.Fragment +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.facebook.react.bridge.GuardedRunnable import com.facebook.react.bridge.ReactContext import com.facebook.react.uimanager.UIManagerHelper @@ -363,7 +365,7 @@ class Screen( parent?.let { for (i in 0 until it.childCount) { val child = it.getChildAt(i) - if (child.javaClass.simpleName.equals("CircleImageView")) { + if (parent is SwipeRefreshLayout && child is ImageView) { // SwipeRefreshLayout class which has CircleImageView as a child, // does not handle `startViewTransition` properly. // It has a custom `getChildDrawingOrder` method which returns