summaryrefslogtreecommitdiffstats
path: root/tools/layoutlib
diff options
context:
space:
mode:
Diffstat (limited to 'tools/layoutlib')
-rw-r--r--tools/layoutlib/bridge/src/android/graphics/Bitmap_Delegate.java3
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java88
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/DelegateManager.java16
3 files changed, 16 insertions, 91 deletions
diff --git a/tools/layoutlib/bridge/src/android/graphics/Bitmap_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/Bitmap_Delegate.java
index 392462f..0920497 100644
--- a/tools/layoutlib/bridge/src/android/graphics/Bitmap_Delegate.java
+++ b/tools/layoutlib/bridge/src/android/graphics/Bitmap_Delegate.java
@@ -162,8 +162,7 @@ public class Bitmap_Delegate {
}
/*package*/ static void nativeDestructor(int nativeBitmap) {
- // FIXME implement native delegate
- throw new UnsupportedOperationException("Native delegate needed for Bitmap");
+ sManager.removeDelegate(nativeBitmap);
}
/*package*/ static void nativeRecycle(int nativeBitmap) {
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java
index 53da2ca..efa0f27 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java
@@ -32,6 +32,7 @@ import com.android.tools.layoutlib.create.OverrideMethod;
import android.graphics.Bitmap;
import android.graphics.Typeface_Delegate;
+import android.util.Finalizers;
import java.lang.ref.SoftReference;
import java.lang.reflect.Field;
@@ -114,19 +115,12 @@ public final class Bridge extends LayoutBridge {
*/
@Override
public boolean init(String fontOsLocation, Map<String, Map<String, Integer>> enumValueMap) {
- BridgeAssetManager.initSystem();
+ sEnumValueMap = enumValueMap;
- return sinit(fontOsLocation, enumValueMap);
- }
+ Finalizers.init();
- @Override
- public boolean dispose() {
- BridgeAssetManager.clearSystem();
- return true;
- }
+ BridgeAssetManager.initSystem();
- private static synchronized boolean sinit(String fontOsLocation,
- Map<String, Map<String, Integer>> enumValueMap) {
// When DEBUG_LAYOUT is set and is not 0 or false, setup a default listener
// on static (native) methods which prints the signature on the console and
@@ -165,8 +159,6 @@ public final class Bridge extends LayoutBridge {
return false;
}
- sEnumValueMap = enumValueMap;
-
// now parse com.android.internal.R (and only this one as android.R is a subset of
// the internal version), and put the content in the maps.
try {
@@ -214,6 +206,12 @@ public final class Bridge extends LayoutBridge {
return true;
}
+ @Override
+ public boolean dispose() {
+ BridgeAssetManager.clearSystem();
+ return true;
+ }
+
/**
* Sets a 9 patch in a project cache or in the framework cache.
* @param value the path of the 9 patch
@@ -423,70 +421,4 @@ public final class Bridge extends LayoutBridge {
return null;
}
-
-
- // ---------- OBSOLETE API METHODS ----------
-
- /*
- * For compatilibty purposes, we implement the old deprecated version of computeLayout.
- * (non-Javadoc)
- * @see com.android.layoutlib.api.ILayoutBridge#computeLayout(com.android.layoutlib.api.IXmlPullParser, java.lang.Object, int, int, java.lang.String, java.util.Map, java.util.Map, com.android.layoutlib.api.IProjectCallback, com.android.layoutlib.api.ILayoutLog)
- */
- @Deprecated
- public com.android.layoutlib.api.ILayoutResult computeLayout(IXmlPullParser layoutDescription,
- Object projectKey,
- int screenWidth, int screenHeight, String themeName,
- Map<String, Map<String, IResourceValue>> projectResources,
- Map<String, Map<String, IResourceValue>> frameworkResources,
- IProjectCallback customViewLoader, ILayoutLog logger) {
- throw new UnsupportedOperationException();
- }
-
- /*
- * For compatilibty purposes, we implement the old deprecated version of computeLayout.
- * (non-Javadoc)
- * @see com.android.layoutlib.api.ILayoutBridge#computeLayout(com.android.layoutlib.api.IXmlPullParser, java.lang.Object, int, int, java.lang.String, boolean, java.util.Map, java.util.Map, com.android.layoutlib.api.IProjectCallback, com.android.layoutlib.api.ILayoutLog)
- */
- @Deprecated
- public com.android.layoutlib.api.ILayoutResult computeLayout(IXmlPullParser layoutDescription,
- Object projectKey,
- int screenWidth, int screenHeight, String themeName, boolean isProjectTheme,
- Map<String, Map<String, IResourceValue>> projectResources,
- Map<String, Map<String, IResourceValue>> frameworkResources,
- IProjectCallback customViewLoader, ILayoutLog logger) {
- throw new UnsupportedOperationException();
- }
-
- /*
- * For compatilibty purposes, we implement the old deprecated version of computeLayout.
- * (non-Javadoc)
- * @see com.android.layoutlib.api.ILayoutBridge#computeLayout(com.android.layoutlib.api.IXmlPullParser, java.lang.Object, int, int, int, float, float, java.lang.String, boolean, java.util.Map, java.util.Map, com.android.layoutlib.api.IProjectCallback, com.android.layoutlib.api.ILayoutLog)
- */
- @Deprecated
- public com.android.layoutlib.api.ILayoutResult computeLayout(IXmlPullParser layoutDescription,
- Object projectKey,
- int screenWidth, int screenHeight, int density, float xdpi, float ydpi,
- String themeName, boolean isProjectTheme,
- Map<String, Map<String, IResourceValue>> projectResources,
- Map<String, Map<String, IResourceValue>> frameworkResources,
- IProjectCallback customViewLoader, ILayoutLog logger) {
- throw new UnsupportedOperationException();
- }
-
- /*
- * (non-Javadoc)
- * @see com.android.layoutlib.api.ILayoutBridge#computeLayout(com.android.layoutlib.api.IXmlPullParser, java.lang.Object, int, int, boolean, int, float, float, java.lang.String, boolean, java.util.Map, java.util.Map, com.android.layoutlib.api.IProjectCallback, com.android.layoutlib.api.ILayoutLog)
- */
- @Deprecated
- public com.android.layoutlib.api.ILayoutResult computeLayout(IXmlPullParser layoutDescription,
- Object projectKey,
- int screenWidth, int screenHeight, boolean renderFullSize,
- int density, float xdpi, float ydpi,
- String themeName, boolean isProjectTheme,
- Map<String, Map<String, IResourceValue>> projectResources,
- Map<String, Map<String, IResourceValue>> frameworkResources,
- IProjectCallback customViewLoader, ILayoutLog logger) {
- throw new UnsupportedOperationException();
- }
-
}
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/DelegateManager.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/DelegateManager.java
index 169d751..b272963 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/DelegateManager.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/DelegateManager.java
@@ -59,9 +59,7 @@ public final class DelegateManager<T> {
* @return the delegate or null if not found.
*/
public T getDelegate(int native_object) {
- synchronized (mDelegates) {
- return mDelegates.get(native_object);
- }
+ return mDelegates.get(native_object);
}
/**
@@ -70,11 +68,9 @@ public final class DelegateManager<T> {
* @return a unique native int to identify the delegate
*/
public int addDelegate(T newDelegate) {
- synchronized (mDelegates) {
- int native_object = ++mDelegateCounter;
- mDelegates.put(native_object, newDelegate);
- return native_object;
- }
+ int native_object = ++mDelegateCounter;
+ mDelegates.put(native_object, newDelegate);
+ return native_object;
}
/**
@@ -82,8 +78,6 @@ public final class DelegateManager<T> {
* @param native_object the native int.
*/
public void removeDelegate(int native_object) {
- synchronized (mDelegates) {
- mDelegates.remove(native_object);
- }
+ mDelegates.remove(native_object);
}
}