diff --git a/bridge/src/android/content/res/AssetManager_Delegate.java b/bridge/src/android/content/res/AssetManager_Delegate.java
index 9dac05f..3b47ea7 100644
--- a/bridge/src/android/content/res/AssetManager_Delegate.java
+++ b/bridge/src/android/content/res/AssetManager_Delegate.java
@@ -16,7 +16,6 @@
 
 package android.content.res;
 
-import com.android.layoutlib.bridge.impl.DelegateManager;
 import com.android.tools.layoutlib.annotations.LayoutlibDelegate;
 
 import android.util.SparseArray;
@@ -33,28 +32,6 @@
  */
 public class AssetManager_Delegate {
 
-    // ---- delegate manager ----
-
-    private static final DelegateManager<AssetManager_Delegate> sManager =
-            new DelegateManager<>(AssetManager_Delegate.class);
-
-    public static DelegateManager<AssetManager_Delegate> getDelegateManager() {
-        return sManager;
-    }
-
-    // ---- delegate methods. ----
-
-    @LayoutlibDelegate
-    /*package*/ static long nativeCreate() {
-        AssetManager_Delegate delegate = new AssetManager_Delegate();
-        return sManager.addNewDelegate(delegate);
-    }
-
-    @LayoutlibDelegate
-    /*package*/ static void nativeDestroy(long ptr) {
-        sManager.removeJavaReferenceFor(ptr);
-    }
-
     @LayoutlibDelegate
     public static InputStream open(AssetManager mgr, String fileName) throws IOException {
         return mgr.open_Original(fileName);
@@ -70,13 +47,13 @@
     }
 
     @LayoutlibDelegate
-    /*package*/ static long nativeThemeCreate(long ptr) {
+    /*package*/ static long newTheme(AssetManager manager) {
         return Resources_Theme_Delegate.getDelegateManager()
                 .addNewDelegate(new Resources_Theme_Delegate());
     }
 
     @LayoutlibDelegate
-    /*package*/ static void nativeThemeDestroy(long theme) {
+    /*package*/ static void deleteTheme(AssetManager manager, long theme) {
         Resources_Theme_Delegate.getDelegateManager().removeJavaReferenceFor(theme);
     }
 
diff --git a/create/src/com/android/tools/layoutlib/create/CreateInfo.java b/create/src/com/android/tools/layoutlib/create/CreateInfo.java
index 6507125..f57e1e6 100644
--- a/create/src/com/android/tools/layoutlib/create/CreateInfo.java
+++ b/create/src/com/android/tools/layoutlib/create/CreateInfo.java
@@ -160,10 +160,8 @@
         "android.content.res.Resources$Theme#resolveAttribute",
         "android.content.res.Resources$Theme#resolveAttributes",
         "android.content.res.AssetManager#open",
-        "android.content.res.AssetManager#nativeCreate",
-        "android.content.res.AssetManager#nativeDestroy",
-        "android.content.res.AssetManager#nativeThemeCreate",
-        "android.content.res.AssetManager#nativeThemeDestroy",
+        "android.content.res.AssetManager#newTheme",
+        "android.content.res.AssetManager#deleteTheme",
         "android.content.res.AssetManager#getAssignedPackageIdentifiers",
         "android.content.res.TypedArray#getValueAt",
         "android.content.res.TypedArray#obtain",
