private JInvocation inflateView(JVar inflaterParam, JVar containerParam) { // inflater.inflate(R.layout.fragment_sample, container, false); return JExpr.invoke(inflaterParam, "inflate").arg(ref.r().staticRef("layout").ref("fragment_sample")).// arg(containerParam). // arg(JExpr.FALSE); }
public void doFindViewById(JBlock afterViewsBody, String id, JFieldVar field, JVar contentViewVar) { JFieldRef rId = ref.r().staticRef("id").ref(id); JInvocation findViewById = JExpr.invoke(contentViewVar, "findViewById").arg(rId); JExpression findViewByIdCasted = JExpr.cast(field.type(), findViewById); afterViewsBody.assign(field, findViewByIdCasted); }
private void createAndInitLocationsField() { // private String[] locations; locationsField = jClass.field(JMod.PRIVATE, ref.string().array(), "locations"); // locations = getResources().getStringArray(R.array.locations); JFieldRef rArrayLocations = ref.r().staticRef("array").ref("locations"); JInvocation getResources = JExpr.invoke("getResources"); JInvocation getStringArray = getResources.invoke("getStringArray").arg(rArrayLocations); afterViewsBody.assign(locationsField, getStringArray); }
public void doViewById(JBlock body, String id, JFieldVar field) { if (state.isAndroidAnnotations()) { field.annotate(ref.viewById()); } else if (state.isRoboguice()) { JAnnotationUse injectViewAnnotation = field.annotate(ref.injectView()); JFieldRef rId = ref.r().staticRef("id").ref(id); injectViewAnnotation.param("value", rId); } else { doFindViewById(body, id, field); } }
private void createOnCreateOptionsMenu() { JMethod onCreateOptionsMenu = null; JClass menu = !appDetails.isActionBarSherlock() ? ref.menu() : ref.sMenu(); onCreateOptionsMenu = jClass.method(JMod.PUBLIC, jCodeModel.BOOLEAN, "onCreateOptionsMenu"); JVar menuVar = onCreateOptionsMenu.param(menu, "menu"); onCreateOptionsMenu.annotate(ref.override()); JBlock onCreateOptionsMenuBody = onCreateOptionsMenu.body(); String getMenuInflater = appDetails.isActionBarSherlock() ? "getSupportMenuInflater" : "getMenuInflater"; JFieldRef rMenuMain = ref.r().staticRef("menu").ref("activity_main"); onCreateOptionsMenuBody.invoke(getMenuInflater).// invoke("inflate"). // arg(rMenuMain). // arg(menuVar); onCreateOptionsMenuBody._return(TRUE); }
private JBlock createAfterViewsMethod() { JBlock afterViewsBody; if (!appDetails.isAndroidAnnotations()) { JMethod onCreate = jClass.method(JMod.PUBLIC, jCodeModel.VOID, "onCreate"); onCreate.annotate(ref.override()); JVar params = onCreate.param(ref.bundle(), "savedInstanceState"); afterViewsBody = onCreate.body(); // super.onCreate() afterViewsBody.invoke(JExpr._super(), "onCreate").arg(params); // setContentView(R.layout.xxx) afterViewsBody.invoke("setContentView").arg(ref.r().staticRef("layout").ref(appDetails.getActivityLayout())); } else { JMethod afterViews = jClass.method(JMod.NONE, jCodeModel.VOID, "afterViews"); afterViews.annotate(ref.afterViews()); afterViewsBody = afterViews.body(); } return afterViewsBody; }
private void createActivity() { JClass parentActivity; if (appDetails.isRoboguice() && appDetails.isActionBarSherlock()) { if (appDetails.isViewPager()) { parentActivity = ref.ref(appDetails.getRoboSherlockFragmentActivityPackage()); } else { parentActivity = ref.ref(appDetails.getRoboSherlockActivityPackage()); } } else if (appDetails.isActionBarSherlock()) { parentActivity = appDetails.isViewPager() ? ref.sFragmentActivity() : ref.sActivity(); } else if (appDetails.isRoboguice()) { parentActivity = appDetails.isViewPager() ? ref.roboFragmentActivity() : ref.roboActivity(); } else { parentActivity = appDetails.isViewPager() ? ref.fragmentActivity() : ref.activity(); } jClass._extends(parentActivity); // @EActivity if (appDetails.isAndroidAnnotations()) { JAnnotationUse eactivityAnnotation = jClass.annotate(ref.eactivity()); JFieldRef field = ref.r().staticRef("layout").ref(appDetails.getActivityLayout()); eactivityAnnotation.param("value", field); } }
JVar contextVar = configureActionBarBody.decl(ref.context(), "context", getContext); JFieldRef rArrayLocations = ref.r().staticRef("array").ref("locations");
private void renderClassLevelAnnotations(JDefinedClass classModel, List<FieldModel> fields) throws Exception { JFieldRef constantsClass = classModel.staticRef(Util.CONSTANTS_CLASS_NAME); JFieldRef elementsClass = classModel.staticRef(Util.ELEMENTS_CLASS_NAME); JClass coreConstants = codeModel.ref(CoreConstants.class); JFieldRef commonElementsRef = coreConstants.staticRef("CommonElements"); // XmlRootElement JAnnotationUse rootElementAnnotation = classModel.annotate(XmlRootElement.class); rootElementAnnotation.param("name", constantsClass.ref(Util.ROOT_ELEMENT_NAME_FIELD)); // XmlAccessorType JAnnotationUse xmlAccessorTypeAnnotation = classModel.annotate(XmlAccessorType.class); xmlAccessorTypeAnnotation.param("value", XmlAccessType.NONE); // XmlType JAnnotationUse xmlTypeAnnotation = classModel.annotate(XmlType.class); xmlTypeAnnotation.param("name", constantsClass.ref(Util.TYPE_NAME_FIELD)); JAnnotationArrayMember propOrderMember = xmlTypeAnnotation.paramArray("propOrder"); for (FieldModel field : fields) { if (Util.isCommonElement(field.fieldName)) { propOrderMember.param(commonElementsRef.ref(Util.toConstantsVariable(field.fieldName))); } else { propOrderMember.param(elementsClass.ref(Util.toConstantsVariable(field.fieldName))); } } propOrderMember.param(commonElementsRef.ref("FUTURE_ELEMENTS")); }
private Refs(JCodeModel m, String packageName, String layoutName) { this.m = m; this.packageName = packageName; this.layoutName = layoutName; viewHolder = m.ref("me.tatarka.socket.Socket"); viewClass = m.ref("android.view.View"); androidRClass = m.ref("android.R"); rClass = m.ref(packageName + ".R"); layoutRef = rClass.staticRef("layout").ref(layoutName); }
@Override public JExpression hasSetValue() { return field.ne(JExpr._null()).cand(field.ref("length").gt(JExpr.lit(0))); }
@Override public JExpression hasSetValue() { return field.ne(JExpr._null()).cand(field.ref("length").gt(JExpr.lit(0))); }
@Override public JExpression hasSetValue() { return field.ne(JExpr._null()).cand(field.ref("length").gt(JExpr.lit(0))); }
@Override public JExpression hasSetValue() { return field.ne(JExpr._null()).cand(field.ref("length").gt(JExpr.lit(0))); }
@Override public JExpression hasSetValue() { return field.ne(JExpr._null()).cand(field.ref("length").gt(JExpr.lit(0))); }
private void genInitFields(Refs r, Map<Ref, JFieldVar> fieldVarMap, JVar viewVar, Collection<Ref> refs, JBlock body) { for (Ref ref : refs) { JFieldVar fieldVar = fieldVarMap.get(ref); JFieldRef idVar = (ref.isAndroidId ? r.androidRClass : r.rClass).staticRef("id").ref(ref.id); if (ref instanceof View) { JClass viewType = r.ref(((View) ref).type); body.assign(fieldVar, cast(viewType, viewVar.invoke("findViewById").arg(idVar))); } else if (ref instanceof Include) { JClass includeType = r.ref(getClassName(((Include) ref).layout)); body.assign(fieldVar, _new(includeType).arg(viewVar)); } } }
private void renderField(JDefinedClass classModel, FieldModel fieldModel) { JFieldVar field = classModel.field(JMod.PRIVATE | JMod.FINAL, fieldModel.fieldType, fieldModel.fieldName); JAnnotationUse annotation = field.annotate(XmlElement.class); if (Util.isCommonElement(fieldModel.fieldName)) { JClass coreConstants = codeModel.ref(CoreConstants.class); JFieldRef commonElementsRef = coreConstants.staticRef("CommonElements"); annotation.param("name", commonElementsRef.ref(Util.toConstantsVariable(fieldModel.fieldName))); } else { JClass elementsClass = codeModel.ref(Util.ELEMENTS_CLASS_NAME); JFieldRef fieldXmlNameRef = elementsClass.staticRef(Util.toConstantsVariable(fieldModel.fieldName)); annotation.param("name", fieldXmlNameRef); } annotation.param("required", false); }