Skip to content

Commit 0dd9e73

Browse files
mdvaccameta-codesync[bot]
authored andcommitted
Add @DoNotStripAny to AnimationBackendChoreographer (#55465)
Summary: Pull Request resolved: #55465 - AnimationBackendChoreographer.resume() and pause() are called from C++ via JNI reflection in JAnimationBackendChoreographer.cpp, but the class had no ProGuard/R8 protection annotation - R8 renames the methods during minification, causing NoSuchMethodError at runtime when JNI looks up "resume" by name - Every other JNI-accessed class in the fabric package (FabricUIManager, ComponentFactory, StateWrapperImpl, EventEmitterWrapper, EventBeatManager, MountItem) already uses DoNotStripAny — this was the only one missing changelog: [internal] internal Reviewed By: fkgozali Differential Revision: D92628923 fbshipit-source-id: deb7196047e9243cfa702c3d4d96b4431897f097
1 parent 1259771 commit 0dd9e73

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
package com.facebook.react.fabric
99

10+
import com.facebook.proguard.annotations.DoNotStripAny
1011
import com.facebook.react.bridge.ReactApplicationContext
1112
import com.facebook.react.modules.core.ReactChoreographer
1213
import com.facebook.react.uimanager.GuardedFrameCallback
@@ -17,6 +18,7 @@ internal fun interface AnimationFrameCallback {
1718
fun onAnimationFrame(frameTimeMs: Double)
1819
}
1920

21+
@DoNotStripAny
2022
internal class AnimationBackendChoreographer(
2123
reactApplicationContext: ReactApplicationContext,
2224
) {

0 commit comments

Comments
 (0)