#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]

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">


    <data>
    </data>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">


    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>




- Create an entry in AndroidManifest.xml
Fix the android:name tag with current path

<activity
    android:name="${NAME}Activity"
    android:label="@string/activity_${dashName}_title"
    android:screenOrientation="portrait"
    android:theme="@style/Light" />


*/


    @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);
    }

}