# Obfuscation would defeat the Contentsquare SDK purpose by potentially
# breaking the functionality that relies on named class
# and method interfaces for reflection and native calls

# Ensure that React Native core and JNI interfaces are not obfuscated
-keep class com.facebook.react.** { *; }
-keep class com.facebook.jni.** { *; }

# Keep all classes from react-native-safe-area-context
-keep class com.th3rdwave.safeareacontext.** { *; }

# Preserve all classes from react-native-gesture-handler
-keep class com.swmansion.gesturehandler.react.** { *; }

# Maintain all classes from react-native-screens
-keep class com.swmansion.rnscreens.** { *; }

# Protect all WebView classes provided by react-native-webview
-keep class com.reactnativecommunity.webview.** { *; }

# Keep ErrorAnalysis and it's fields
-keep class com.contentsquare.android.error.analysis.ErrorAnalysis { *; }
