test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ViewMapper.java in testautoa-0.4.0.pre19 vs test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ViewMapper.java in testautoa-0.4.0

- old
+ new

@@ -1,26 +1,26 @@ package sh.calaba.instrumentationbackend.query; import java.util.HashMap; import java.util.Map; -import java.util.Map.Entry; import sh.calaba.instrumentationbackend.InstrumentationBackend; -import sh.calaba.instrumentationbackend.query.ast.UIQueryUtils; import android.content.res.Resources; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.TextView; public class ViewMapper { @SuppressWarnings({ "rawtypes", "unchecked" }) - public static Object extractDataFromView(View v) { - + public static Object extractDataFromView(Object obj) { + if (!(obj instanceof View)) {return obj;} + View v = (View) obj; Map data = new HashMap(); - data.put("class", v.getClass().getName()); + data.put("class", v.getClass().getSimpleName()); + data.put("qualified_class", v.getClass().getName()); data.put("description", v.toString()); CharSequence description = v.getContentDescription(); data.put("contentDescription", description != null ? description.toString() : null); data.put("enabled", v.isEnabled()); String id = null; @@ -31,24 +31,20 @@ System.out.println("Resource not found for " + v.getId() + ". Moving on."); } data.put("id", id); - Map rect = new HashMap(); + Map frame = new HashMap(); int[] location = new int[2]; v.getLocationOnScreen(location); - rect.put("x", location[0]); - rect.put("y", location[1]); - - rect.put("center_x", location[0] + v.getWidth()/2.0); - rect.put("center_y", location[1] + v.getHeight()/2.0); - - rect.put("width", v.getWidth()); - rect.put("height", v.getHeight()); + frame.put("x", location[0]); + frame.put("y", location[1]); + frame.put("width", v.getWidth()); + frame.put("height", v.getHeight()); - data.put("rect", rect); + data.put("frame", frame); if (v instanceof Button) { Button b = (Button) v; data.put("text", b.getText().toString()); } @@ -60,34 +56,8 @@ TextView t = (TextView) v; data.put("text", t.getText().toString()); } return data; - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - public static Object mapView(Object o) { - if (o instanceof View) { - return extractDataFromView((View) o); - } - else if (o instanceof Map) { - Map copy = new HashMap(); - for (Object e : ((Map) o).entrySet()) { - Map.Entry entry = (Entry) e; - Object value = entry.getValue(); - if (value instanceof View) { - copy.put(entry.getKey(), UIQueryUtils.getId((View) value)); - } - else { - copy.put(entry.getKey(),entry.getValue()); - } - } - - return copy; - } - else if (o instanceof CharSequence) { - return o.toString(); - } - return o; } }