summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2011-01-12 20:16:52 -0800
committerXavier Ducrohet <xav@android.com>2011-01-12 20:16:52 -0800
commit162ee1ed3d6c8a1e6d9347136e623e3429f6f3f8 (patch)
tree6acd20f7b96a38366dc67a77476eb2c768bf83a3
parent56222cfbe9973c518f7e8c9113c614de80b5a4b2 (diff)
downloadframeworks_base-162ee1ed3d6c8a1e6d9347136e623e3429f6f3f8.zip
frameworks_base-162ee1ed3d6c8a1e6d9347136e623e3429f6f3f8.tar.gz
frameworks_base-162ee1ed3d6c8a1e6d9347136e623e3429f6f3f8.tar.bz2
LayoutLib: Add getViewParent/getViewIndex on RenderSession.
Change-Id: If91aa837b71a7329f53b1c4190332c2296166940
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java
index 4c4eedb..bc2301d 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeRenderSession.java
@@ -22,10 +22,12 @@ import com.android.ide.common.rendering.api.Params;
import com.android.ide.common.rendering.api.RenderSession;
import com.android.ide.common.rendering.api.Result;
import com.android.ide.common.rendering.api.ViewInfo;
+import com.android.ide.common.rendering.api.Result.Status;
import com.android.layoutlib.bridge.impl.RenderSessionImpl;
import android.view.View;
import android.view.ViewGroup;
+import android.view.ViewParent;
import java.awt.image.BufferedImage;
import java.util.Map;
@@ -63,6 +65,43 @@ public class BridgeRenderSession extends RenderSession {
}
@Override
+ public Result getProperty(Object objectView, String propertyName) {
+ // TODO Auto-generated method stub
+ return super.getProperty(objectView, propertyName);
+ }
+
+ @Override
+ public Result setProperty(Object objectView, String propertyName, String propertyValue) {
+ // TODO Auto-generated method stub
+ return super.setProperty(objectView, propertyName, propertyValue);
+ }
+
+ @Override
+ public Result getViewParent(Object viewObject) {
+ if (viewObject instanceof View) {
+ return Status.SUCCESS.createResult(((View)viewObject).getParent());
+ }
+
+ throw new IllegalArgumentException("viewObject is not a View");
+ }
+
+ @Override
+ public Result getViewIndex(Object viewObject) {
+ if (viewObject instanceof View) {
+ View view = (View) viewObject;
+ ViewParent parentView = view.getParent();
+
+ if (parentView instanceof ViewGroup) {
+ Status.SUCCESS.createResult(((ViewGroup) parentView).indexOfChild(view));
+ }
+
+ return Status.SUCCESS.createResult();
+ }
+
+ throw new IllegalArgumentException("viewObject is not a View");
+ }
+
+ @Override
public Result render(long timeout) {
try {
Bridge.prepareThread();