Merge "LayoutLib: Update to use the new moveChild API."
This commit is contained in:
committed by
Android (Google) Code Review
commit
63f4e23347
@@ -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();
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user