// Path: app/src/main/java/fr/guddy/androidstarter/ApplicationAndroidStarter.java
// @AutoComponent(
//         modules = {
//                 ModuleAsync.class,
//                 ModuleBus.class,
//                 ModuleContext.class,
//                 ModuleDatabase.class,
//                 ModuleEnvironment.class,
//                 ModuleRest.class,
//                 ModuleTransformer.class
//         },
//         subcomponents = {
//                 MvpRepoDetail.class
//         }
// )
// @Singleton
// @AutoInjector(ApplicationAndroidStarter.class)
// public class ApplicationAndroidStarter extends Application {
//     private static final String TAG = ApplicationAndroidStarter.class.getSimpleName();
// 
//     //region Singleton
//     protected static ApplicationAndroidStarter sSharedApplication;
// 
//     public static ApplicationAndroidStarter sharedApplication() {
//         return sSharedApplication;
//     }
//     //endregion
// 
//     //region Fields (components)
//     protected ApplicationAndroidStarterComponent mComponentApplication;
//     //endregion
// 
//     //region Injected fields
//     @Inject
//     Merlin merlin;
//     //endregion
// 
//     //region Overridden methods
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         sSharedApplication = this;
// 
//         Logger.init(TAG)
//                 .logLevel(LogLevel.FULL);
// 
//         buildComponent();
// 
//         mComponentApplication.inject(this);
//         merlin.bind();
// 
//         final StrictMode.ThreadPolicy loStrictModeThreadPolicy = new StrictMode.ThreadPolicy.Builder()
//                 .detectAll()
//                 .penaltyDeath()
//                 .build();
//         StrictMode.setThreadPolicy(loStrictModeThreadPolicy);
//     }
// 
//     @Override
//     public void onTerminate() {
//         super.onTerminate();
//         sSharedApplication = null;
//         OpenHelperManager.releaseHelper();
//         merlin.unbind();
//     }
//     //endregion
// 
//     //region Getters
//     public ApplicationAndroidStarterComponent componentApplication() {
//         return mComponentApplication;
//     }
//     //endregion
// 
//     //region Protected methods
//     protected void buildComponent() {
//         mComponentApplication = DaggerApplicationAndroidStarterComponent.builder()
//                 .moduleAsync(new ModuleAsync())
//                 .moduleBus(new ModuleBus())
//                 .moduleContext(new ModuleContext(getApplicationContext()))
//                 .moduleDatabase(new ModuleDatabase())
//                 .moduleEnvironment(new ModuleEnvironment())
//                 .moduleRest(new ModuleRest())
//                 .moduleTransformer(new ModuleTransformer())
//                 .build();
//     }
//     //endregion
// }
// 
// Path: app/src/main/java/fr/guddy/androidstarter/persistence/entities/RepoEntity.java
// @Mappable(with = DTORepo.class)
// @DatabaseTable(tableName = "REPO", daoClass = DAORepo.class)
// public class RepoEntity extends AbstractOrmLiteEntity implements Serializable {
//     @Mapped
//     @DatabaseField
//     public Integer id;
// 
//     @Mapped
//     @DatabaseField
//     public String name;
// 
//     @Mapped
//     @DatabaseField
//     public String description;
// 
//     @Mapped
//     @DatabaseField
//     public String url;
// 
//     @DatabaseField
//     public String avatarUrl;
// }


import android.content.Context;
import android.support.annotation.NonNull;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.RequestCreator;
import javax.inject.Inject;
import autodagger.AutoInjector;
import butterknife.BindView;
import butterknife.ButterKnife;
import fr.guddy.androidstarter.ApplicationAndroidStarter;
import fr.guddy.androidstarter.R;
import fr.guddy.androidstarter.persistence.entities.RepoEntity;
import io.nlopez.smartadapters.views.BindableFrameLayout;

package fr.guddy.androidstarter.mvp.repo_list;





@AutoInjector(ApplicationAndroidStarter.class)
public class CellRepo extends BindableFrameLayout<RepoEntity> {
    //region Interactions
    public static final int ROW_PRESSED = 0;
    //endregion

    //region Injected members
    @Inject
    Picasso mPicasso;
    //endregion

    //region Injected views
    @BindView(R.id.CellRepo_TextView)
    TextView mTextView;
    @BindView(R.id.CellRepo_ImageView_Avatar)
    ImageView mImageViewAvatar;
    //endregion

    //region Constructor
    public CellRepo(@NonNull final Context poContext) {
        super(poContext);

// Path: app/src/main/java/fr/guddy/androidstarter/ApplicationAndroidStarter.java
// @AutoComponent(
//         modules = {
//                 ModuleAsync.class,
//                 ModuleBus.class,
//                 ModuleContext.class,
//                 ModuleDatabase.class,
//                 ModuleEnvironment.class,
//                 ModuleRest.class,
//                 ModuleTransformer.class
//         },
//         subcomponents = {
//                 MvpRepoDetail.class
//         }
// )
// @Singleton
// @AutoInjector(ApplicationAndroidStarter.class)
// public class ApplicationAndroidStarter extends Application {
//     private static final String TAG = ApplicationAndroidStarter.class.getSimpleName();
// 
//     //region Singleton
//     protected static ApplicationAndroidStarter sSharedApplication;
// 
//     public static ApplicationAndroidStarter sharedApplication() {
//         return sSharedApplication;
//     }
//     //endregion
// 
//     //region Fields (components)
//     protected ApplicationAndroidStarterComponent mComponentApplication;
//     //endregion
// 
//     //region Injected fields
//     @Inject
//     Merlin merlin;
//     //endregion
// 
//     //region Overridden methods
//     @Override
//     public void onCreate() {
//         super.onCreate();
//         sSharedApplication = this;
// 
//         Logger.init(TAG)
//                 .logLevel(LogLevel.FULL);
// 
//         buildComponent();
// 
//         mComponentApplication.inject(this);
//         merlin.bind();
// 
//         final StrictMode.ThreadPolicy loStrictModeThreadPolicy = new StrictMode.ThreadPolicy.Builder()
//                 .detectAll()
//                 .penaltyDeath()
//                 .build();
//         StrictMode.setThreadPolicy(loStrictModeThreadPolicy);
//     }
// 
//     @Override
//     public void onTerminate() {
//         super.onTerminate();
//         sSharedApplication = null;
//         OpenHelperManager.releaseHelper();
//         merlin.unbind();
//     }
//     //endregion
// 
//     //region Getters
//     public ApplicationAndroidStarterComponent componentApplication() {
//         return mComponentApplication;
//     }
//     //endregion
// 
//     //region Protected methods
//     protected void buildComponent() {
//         mComponentApplication = DaggerApplicationAndroidStarterComponent.builder()
//                 .moduleAsync(new ModuleAsync())
//                 .moduleBus(new ModuleBus())
//                 .moduleContext(new ModuleContext(getApplicationContext()))
//                 .moduleDatabase(new ModuleDatabase())
//                 .moduleEnvironment(new ModuleEnvironment())
//                 .moduleRest(new ModuleRest())
//                 .moduleTransformer(new ModuleTransformer())
//                 .build();
//     }
//     //endregion
// }
// 
// Path: app/src/main/java/fr/guddy/androidstarter/persistence/entities/RepoEntity.java
// @Mappable(with = DTORepo.class)
// @DatabaseTable(tableName = "REPO", daoClass = DAORepo.class)
// public class RepoEntity extends AbstractOrmLiteEntity implements Serializable {
//     @Mapped
//     @DatabaseField
//     public Integer id;
// 
//     @Mapped
//     @DatabaseField
//     public String name;
// 
//     @Mapped
//     @DatabaseField
//     public String description;
// 
//     @Mapped
//     @DatabaseField
//     public String url;
// 
//     @DatabaseField
//     public String avatarUrl;
// }


// Path: app/src/main/java/fr/guddy/androidstarter/mvp/repo_list/CellRepo.java
import android.content.Context;
import android.support.annotation.NonNull;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.RequestCreator;
import javax.inject.Inject;
import autodagger.AutoInjector;
import butterknife.BindView;
import butterknife.ButterKnife;
import fr.guddy.androidstarter.ApplicationAndroidStarter;
import fr.guddy.androidstarter.R;
import fr.guddy.androidstarter.persistence.entities.RepoEntity;
import io.nlopez.smartadapters.views.BindableFrameLayout;

package fr.guddy.androidstarter.mvp.repo_list;





@AutoInjector(ApplicationAndroidStarter.class)
public class CellRepo extends BindableFrameLayout<RepoEntity> {
    //region Interactions
    public static final int ROW_PRESSED = 0;
    //endregion

    //region Injected members
    @Inject
    Picasso mPicasso;
    //endregion

    //region Injected views
    @BindView(R.id.CellRepo_TextView)
    TextView mTextView;
    @BindView(R.id.CellRepo_ImageView_Avatar)
    ImageView mImageViewAvatar;
    //endregion

    //region Constructor
    public CellRepo(@NonNull final Context poContext) {
        super(poContext);

        ApplicationAndroidStarter.sharedApplication().componentApplication().inject(this);
