diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java | 19 | ||||
-rw-r--r-- | tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeLayoutScene.java | 2 |
2 files changed, 20 insertions, 1 deletions
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 59fcc52..392717e 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java @@ -16,6 +16,7 @@ package com.android.layoutlib.bridge; +import com.android.layoutlib.api.Capabilities; import com.android.layoutlib.api.ILayoutLog; import com.android.layoutlib.api.IProjectCallback; import com.android.layoutlib.api.IResourceValue; @@ -40,6 +41,7 @@ import java.lang.ref.SoftReference; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.Arrays; +import java.util.EnumSet; import java.util.HashMap; import java.util.Map; import java.util.concurrent.locks.ReentrantLock; @@ -152,11 +154,19 @@ public final class Bridge extends LayoutBridge { } }; + private EnumSet<Capabilities> mCapabilities; + + @Override public int getApiLevel() { return LayoutBridge.API_CURRENT; } + @Override + public EnumSet<Capabilities> getCapabilities() { + return mCapabilities; + } + /* * (non-Javadoc) * @see com.android.layoutlib.api.ILayoutLibBridge#init(java.lang.String, java.util.Map) @@ -165,6 +175,15 @@ public final class Bridge extends LayoutBridge { public boolean init(String fontOsLocation, Map<String, Map<String, Integer>> enumValueMap) { sEnumValueMap = enumValueMap; + // don't use EnumSet.allOf(), because the bridge doesn't come with it's specific version + // of layoutlib_api. It is provided by the client which could have a more recent version + // with newer, unsupported capabilities. + mCapabilities = EnumSet.of( + Capabilities.RENDER, + Capabilities.VIEW_MANIPULATION, + Capabilities.ANIMATE); + + Finalizers.init(); BridgeAssetManager.initSystem(); diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeLayoutScene.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeLayoutScene.java index 2f7ef48..a491901 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeLayoutScene.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeLayoutScene.java @@ -119,7 +119,7 @@ public class BridgeLayoutScene extends LayoutScene { @Override public SceneResult moveChild(Object parentView, Object childView, int index, - IAnimationListener listener) { + Map<String, String> layoutParams, IAnimationListener listener) { if (parentView instanceof ViewGroup == false) { throw new IllegalArgumentException("parentView is not a ViewGroup"); } |