aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-06-28 07:28:26 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-06-28 07:28:26 +0000
commit174a46550f2eddfcc5bb42b14cb42049ff46903d (patch)
treeacd58c407e21282ef2071610e405c9affc2675de
parenta5ac021d5b1c243f0a0e1c2c612f9107ee87c52c (diff)
parent1049f474bcc0a76ef911ff4f60c586a2c7d3f5b0 (diff)
downloadlayoutlib-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.java13
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 ----