diff --git a/ReactAndroid/src/main/java/com/facebook/jni/DestructorThread.java b/ReactAndroid/src/main/java/com/facebook/jni/DestructorThread.java index 7acc8f4c28d..36f544b1cc4 100644 --- a/ReactAndroid/src/main/java/com/facebook/jni/DestructorThread.java +++ b/ReactAndroid/src/main/java/com/facebook/jni/DestructorThread.java @@ -31,7 +31,7 @@ public class DestructorThread { private Destructor next; private Destructor previous; - Destructor(Object referent) { + public Destructor(Object referent) { super(referent, sReferenceQueue); sDestructorStack.push(this); } @@ -41,7 +41,7 @@ public class DestructorThread { } /** Callback which is invoked when the original object has been garbage collected. */ - abstract void destruct(); + protected abstract void destruct(); } /** A list to keep all active Destructors in memory confined to the Destructor thread. */ @@ -84,7 +84,7 @@ public class DestructorThread { private static class Terminus extends Destructor { @Override - void destruct() { + protected void destruct() { throw new IllegalStateException("Cannot destroy Terminus Destructor."); } } diff --git a/ReactAndroid/src/main/java/com/facebook/jni/HybridData.java b/ReactAndroid/src/main/java/com/facebook/jni/HybridData.java index 158182df3ab..9a99eebedc1 100644 --- a/ReactAndroid/src/main/java/com/facebook/jni/HybridData.java +++ b/ReactAndroid/src/main/java/com/facebook/jni/HybridData.java @@ -63,7 +63,7 @@ public class HybridData { } @Override - void destruct() { + protected final void destruct() { // When invoked from the DestructorThread instead of resetNative, // the DestructorThread has exclusive ownership of the HybridData // so synchronization is not necessary.