#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.app.Dialog; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.content.Intent; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.databinding.DataBindingUtil; import javax.inject.Inject; import it.integry.integrywmsnative.MainApplication; import it.integry.integrywmsnative.core.expansion.BaseActivity; public class ${NAME}Activity extends BaseActivity { /* - Create the following layout resource file [activity_${dashName}.xml] - Create an entry in AndroidManifest.xml Fix the android:name tag with current path */ @Inject ${NAME}ViewModel mViewModel; //private Activity${NAME}Binding mBindings; //Pass here all external parameters public static void startActivity(Context context) { Intent myIntent = new Intent(context, ${NAME}Activity.class); //String keyExtraItem = DataCache.addItem(var); //myIntent.putExtra("keyExtraItem", keyExtraItem); context.startActivity(myIntent); } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); //mBindings = DataBindingUtil.setContentView(this, R.layout.activity_${dashName}); //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); } }