diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2017-06-28 07:28:26 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-06-28 07:28:26 +0000 |
commit | 174a46550f2eddfcc5bb42b14cb42049ff46903d (patch) | |
tree | acd58c407e21282ef2071610e405c9affc2675de | |
parent | a5ac021d5b1c243f0a0e1c2c612f9107ee87c52c (diff) | |
parent | 1049f474bcc0a76ef911ff4f60c586a2c7d3f5b0 (diff) | |
download | layoutlib-174a46550f2eddfcc5bb42b14cb42049ff46903d.tar.gz |
release-request-1b0d6769-ebfa-4e2d-b128-039ac0dcd5c9-for-git_oc-mr1-release-4140700 snap-temp-L81200000078275553
Change-Id: I9f9199063d44f7e1a92fa050aada4a4cc65875a4
-rw-r--r-- | bridge/src/android/graphics/ColorFilter_Delegate.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/bridge/src/android/graphics/ColorFilter_Delegate.java b/bridge/src/android/graphics/ColorFilter_Delegate.java index cb013b60a0..84424bc179 100644 --- a/bridge/src/android/graphics/ColorFilter_Delegate.java +++ b/bridge/src/android/graphics/ColorFilter_Delegate.java @@ -21,6 +21,8 @@ import com.android.tools.layoutlib.annotations.LayoutlibDelegate; import java.awt.Graphics2D; +import libcore.util.NativeAllocationRegistry_Delegate; + /** * Delegate implementing the native methods of android.graphics.ColorFilter * @@ -41,6 +43,7 @@ public abstract class ColorFilter_Delegate { // ---- delegate manager ---- protected static final DelegateManager<ColorFilter_Delegate> sManager = new DelegateManager<ColorFilter_Delegate>(ColorFilter_Delegate.class); + private static long sFinalizer = -1; // ---- delegate helper data ---- @@ -66,8 +69,14 @@ public abstract class ColorFilter_Delegate { // ---- native methods ---- @LayoutlibDelegate - /*package*/ static void nSafeUnref(long native_instance) { - sManager.removeJavaReferenceFor(native_instance); + /*package*/ static long nativeGetFinalizer() { + synchronized (ColorFilter_Delegate.class) { + if (sFinalizer == -1) { + sFinalizer = NativeAllocationRegistry_Delegate.createFinalizer( + sManager::removeJavaReferenceFor); + } + } + return sFinalizer; } // ---- Private delegate/helper methods ---- |