use of com.helger.jcodemodel.JBlock in project androidannotations by androidannotations.
the class EComponentHolder method setPowerManagerRef.
private void setPowerManagerRef() {
JBlock methodBody = getInitBodyInjectionBlock();
JFieldRef serviceRef = getClasses().CONTEXT.staticRef("POWER_SERVICE");
powerManagerRef = getGeneratedClass().field(PRIVATE, getClasses().POWER_MANAGER, "powerManager" + generationSuffix());
methodBody.assign(powerManagerRef, cast(getClasses().POWER_MANAGER, getContextRef().invoke("getSystemService").arg(serviceRef)));
}
use of com.helger.jcodemodel.JBlock in project androidannotations by androidannotations.
the class EComponentWithViewSupportHolder method createFoundViewAndIfNotNullBlock.
protected FoundViewHolder createFoundViewAndIfNotNullBlock(JFieldRef idRef, AbstractJClass viewClass, IJAssignmentTarget fieldRef) {
IJExpression findViewExpression = findViewById(idRef);
JBlock block = getOnViewChangedBodyBeforeInjectionBlock();
if (viewClass == null) {
viewClass = getClasses().VIEW;
} else if (viewClass != getClasses().VIEW) {
findViewExpression = cast(viewClass, findViewExpression);
}
IJAssignmentTarget foundView = fieldRef;
if (foundView == null) {
JVar view = block.decl(viewClass, "view_" + idRef.name(), findViewExpression);
if (viewClass.isParameterized()) {
codeModelHelper.addSuppressWarnings(view, "unchecked");
}
foundView = view;
} else {
block.add(foundView.assign(findViewExpression));
}
return new FoundViewHolder(this, viewClass, foundView, getOnViewChangedBodyViewHolderBlock());
}
use of com.helger.jcodemodel.JBlock in project androidannotations by androidannotations.
the class EComponentWithViewSupportHolder method setFindNativeFragmentByTag.
protected void setFindNativeFragmentByTag() {
findNativeFragmentByTag = getGeneratedClass().method(PRIVATE, getClasses().FRAGMENT, "findNativeFragmentByTag");
JVar tagParam = findNativeFragmentByTag.param(getClasses().STRING, "tag");
JBlock body = findNativeFragmentByTag.body();
body._if(getContextRef()._instanceof(getClasses().ACTIVITY).not())._then()._return(_null());
JVar activityVar = body.decl(getClasses().ACTIVITY, "activity_", cast(getClasses().ACTIVITY, getContextRef()));
body._return(activityVar.invoke("getFragmentManager").invoke("findFragmentByTag").arg(tagParam));
}
use of com.helger.jcodemodel.JBlock in project androidannotations by androidannotations.
the class EComponentWithViewSupportHolder method setFindSupportFragmentById.
protected void setFindSupportFragmentById() {
findSupportFragmentById = getGeneratedClass().method(PRIVATE, getClasses().SUPPORT_V4_FRAGMENT, "findSupportFragmentById");
JVar idParam = findSupportFragmentById.param(getCodeModel().INT, "id");
JBlock body = findSupportFragmentById.body();
body._if(getContextRef()._instanceof(getClasses().FRAGMENT_ACTIVITY).not())._then()._return(_null());
JVar activityVar = body.decl(getClasses().FRAGMENT_ACTIVITY, "activity_", cast(getClasses().FRAGMENT_ACTIVITY, getContextRef()));
body._return(activityVar.invoke("getSupportFragmentManager").invoke("findFragmentById").arg(idParam));
}
use of com.helger.jcodemodel.JBlock in project androidannotations by androidannotations.
the class EComponentWithViewSupportHolder method createPageChangeHolder.
private PageChangeHolder createPageChangeHolder(JFieldRef idRef, TypeMirror viewParameterType, boolean hasAddOnPageChangeListenerMethod) {
JDefinedClass onPageChangeListenerClass = getCodeModel().anonymousClass(getClasses().PAGE_CHANGE_LISTENER);
AbstractJClass viewClass = getClasses().VIEW_PAGER;
if (viewParameterType != null) {
viewClass = getJClass(viewParameterType.toString());
}
JBlock onViewChangedBody = getOnViewChangedBodyInjectionBlock().blockSimple();
JVar viewVariable = onViewChangedBody.decl(FINAL, viewClass, "view", cast(viewClass, findViewById(idRef)));
JBlock block = onViewChangedBody._if(viewVariable.ne(JExpr._null()))._then();
if (hasAddOnPageChangeListenerMethod) {
block.invoke(viewVariable, "addOnPageChangeListener").arg(_new(onPageChangeListenerClass));
} else {
block.invoke(viewVariable, "setOnPageChangeListener").arg(_new(onPageChangeListenerClass));
}
return new PageChangeHolder(this, viewVariable, onPageChangeListenerClass);
}
Aggregations