#set( $regex = "([a-z])([A-Z]+)") #set( $replacement = "$1_$2") #set( $dashName = $NAME.replaceAll($regex, $replacement).toLowerCase()) #set( $variableName = $NAME.replace($NAME.substring(0, 1), $NAME.substring(0, 1).toLowerCase())) import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import javax.inject.Inject; import it.integry.integrywmsnative.MainApplication; import it.integry.integrywmsnative.core.expansion.BaseFragment; public class ${NAME}Fragment extends BaseFragment { /* - Create the following layout resource file [fragment_${dashName}.xml] */ @Inject ${NAME}ViewModel mViewModel; //private Fragment${NAME}Binding mBindings; public ${NAME}Fragment() { // Required empty public constructor } public static ${NAME}Fragment newInstance() { return new ${NAME}Fragment(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment setRetainInstance(true); //mBindings = Fragment${NAME}Binding.inflate(inflater, container, false); //mBindings.setLifecycleOwner(this); /* - Add following lines into MainApplicationComponent [a] into @Component ${NAME}Module.class [b] into interface body ${NAME}Component.Factory ${variableName}Component(); */ MainApplication.appComponent .${variableName}Component() .create() .inject(this); return mBindings.getRoot(); } }