MVP architecture template

Template

Output:

MVP files generation in one package.

Template Code

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")
package ${PACKAGE_NAME};#end
#parse("File Header.java")
public class ${ActivityName}Activity extends AppCompatActivity implements I${ActivityName}View{
        II${ActivityName}Interact interact;  // this is global variable
        @Override
        public void onCreate(Bundle savedInstaceState){
        super.onCreate(savedInstaceState);
        //your layout file inflation
        interact  = new ${ActivityName}InteractImpl(this);
        }
}
public interface I${ActivityName}View{
}

public interface II${ActivityName}Interact{
}

public class ${ActivityName}InteractImpl implements II${ActivityName}Interact{
    private I${ActivityName}View i${ActivityName}View;
    public ${ActivityName}InteractImpl(I${ActivityName}View i${ActivityName}View){
    this.i${ActivityName}View = i${ActivityName}View;
    }
}

Where to place above code ?

Step 2: