From 4cd6cc161bffaa6041ad90a647cd5e25d46953b7 Mon Sep 17 00:00:00 2001
From: Mirek Stanek <froger.mcs@gmail.com>
Date: Sun, 12 Jun 2016 17:00:06 +0200
Subject: [PATCH 01/13] updated dependencies, removed producers related code

---
 README.md                                     |  2 +-
 app/build.gradle                              | 28 ++++---
 .../githubclient/inject/ApplicationMock.java  |  1 +
 .../inject/GithubApiModuleMock.java           |  3 +-
 app/src/main/AndroidManifest.xml              |  4 +-
 .../io/githubclient/AppComponent.java         |  7 +-
 .../githubclient/AppProductionComponent.java  | 20 -----
 .../githubclient/GithubClientApplication.java | 20 +----
 .../api/GithubApiModule.java}                 | 49 ++++++------
 .../io/githubclient/data/api/UserModule.java  | 18 +----
 .../ui/activity/BaseActivity.java             |  5 --
 .../ui/activity/SplashActivity.java           |  7 +-
 .../activity/module/SplashActivityModule.java |  8 +-
 .../presenter/SplashActivityPresenter.java    | 77 ++++++-------------
 build.gradle                                  | 10 +--
 15 files changed, 92 insertions(+), 167 deletions(-)
 delete mode 100644 app/src/main/java/frogermcs/io/githubclient/AppProductionComponent.java
 rename app/src/main/java/frogermcs/io/githubclient/{GithubApiProducerModule.java => data/api/GithubApiModule.java} (55%)

diff --git a/README.md b/README.md
index a8b086b..4460025 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@ Example of Github API client implemented on top of Dagger 2 DI framework.
 
 This code was created as an example for Dependency Injection with Dagger 2 series on my dev-blog:
 
-- [Introduction to Dependency Injection](http://frogermcs.github.io/dependency-injection-with-dagger-2-introdution-to-di/)
+- [Introdution to Dependency Injection](http://frogermcs.github.io/dependency-injection-with-dagger-2-introdution-to-di/)
 - [Dagger 2 API](http://frogermcs.github.io/dependency-injection-with-dagger-2-the-api/)
 - [Dagger 2 - custom scopes](http://frogermcs.github.io/dependency-injection-with-dagger-2-custom-scopes/)
 - [Dagger 2 - graph creation performance](http://frogermcs.github.io/dagger-graph-creation-performance/)
diff --git a/app/build.gradle b/app/build.gradle
index 51b76d3..904afa5 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -26,29 +26,33 @@ android {
 
 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
-    compile 'com.android.support:appcompat-v7:23.1.1'
+    compile 'com.android.support:appcompat-v7:23.4.0'
+    compile 'com.android.support:recyclerview-v7:23.4.0'
 
     //Dagger 2
-    compile 'com.google.dagger:dagger:2.1'
-    compile 'com.google.dagger:dagger-producers:2.1'
-    apt 'com.google.dagger:dagger-compiler:2.1'
+    compile 'com.google.dagger:dagger:2.4'
+    apt 'com.google.dagger:dagger-compiler:2.4'
+    provided 'org.glassfish:javax.annotation:10.0-b28'
+    compile 'com.google.auto.factory:auto-factory:1.0-beta3'
 
     compile 'com.jakewharton:butterknife:7.0.1'
     compile 'com.jakewharton.timber:timber:4.1.0'
-    compile 'io.reactivex:rxandroid:1.1.0'
-    compile 'io.reactivex:rxjava:1.1.0'
+    compile 'io.reactivex:rxandroid:1.2.0'
+    compile 'io.reactivex:rxjava:1.1.5'
     compile 'com.jakewharton.rxbinding:rxbinding:0.3.0'
-    compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
-    compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta4'
-    compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
-    compile 'com.squareup.okhttp3:okhttp:3.2.0'
-    compile 'com.squareup.okhttp3:logging-interceptor:3.2.0'
+    compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'
+    compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta3'
+    compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'
+    compile 'com.squareup.okhttp3:okhttp:3.0.1'
+    compile 'com.squareup.okhttp3:logging-interceptor:3.0.1'
     compile 'com.google.guava:guava:18.0'
 
     testCompile "org.robolectric:robolectric:3.0"
     testCompile "org.mockito:mockito-core:1.10.19"
 
-    androidTestCompile 'com.android.support:support-annotations:23.1.1'
+    androidTestCompile 'com.android.support:support-annotations:23.4.0'
+    androidTestCompile 'com.squareup:javawriter:2.5.1'
+
     androidTestCompile 'junit:junit:4.12'
     androidTestCompile 'com.android.support.test:runner:0.4'
     androidTestCompile 'com.android.support.test:rules:0.4'
diff --git a/app/src/androidTest/java/frogermcs/io/githubclient/inject/ApplicationMock.java b/app/src/androidTest/java/frogermcs/io/githubclient/inject/ApplicationMock.java
index 73e8dc0..0533059 100644
--- a/app/src/androidTest/java/frogermcs/io/githubclient/inject/ApplicationMock.java
+++ b/app/src/androidTest/java/frogermcs/io/githubclient/inject/ApplicationMock.java
@@ -4,6 +4,7 @@
 import frogermcs.io.githubclient.AppModule;
 import frogermcs.io.githubclient.DaggerAppComponent;
 import frogermcs.io.githubclient.GithubClientApplication;
+import frogermcs.io.githubclient.data.api.GithubApiModule;
 
 /**
  * Created by Miroslaw Stanek on 24.09.15.
diff --git a/app/src/androidTest/java/frogermcs/io/githubclient/inject/GithubApiModuleMock.java b/app/src/androidTest/java/frogermcs/io/githubclient/inject/GithubApiModuleMock.java
index 3b2b13a..cf86071 100644
--- a/app/src/androidTest/java/frogermcs/io/githubclient/inject/GithubApiModuleMock.java
+++ b/app/src/androidTest/java/frogermcs/io/githubclient/inject/GithubApiModuleMock.java
@@ -1,12 +1,13 @@
 package frogermcs.io.githubclient.inject;
 
+import frogermcs.io.githubclient.data.api.GithubApiModule;
 import frogermcs.io.githubclient.data.api.GithubApiService;
 import frogermcs.io.githubclient.data.api.UserManager;
 
 /**
  * Created by Miroslaw Stanek on 23.09.15.
  */
-public class GithubApiModuleMock {
+public class GithubApiModuleMock extends GithubApiModule {
 
     private UserManager userManagerMock;
 
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 34f4d66..56bae07 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -14,9 +14,7 @@
         android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name"
         android:theme="@style/AppTheme">
-        <activity
-            android:name=".ui.activity.SplashActivity"
-            android:windowSoftInputMode="stateHidden">
+        <activity android:name=".ui.activity.SplashActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
 
diff --git a/app/src/main/java/frogermcs/io/githubclient/AppComponent.java b/app/src/main/java/frogermcs/io/githubclient/AppComponent.java
index 1f262e5..0abd9dc 100644
--- a/app/src/main/java/frogermcs/io/githubclient/AppComponent.java
+++ b/app/src/main/java/frogermcs/io/githubclient/AppComponent.java
@@ -1,10 +1,9 @@
 package frogermcs.io.githubclient;
 
-import android.app.Application;
-
 import javax.inject.Singleton;
 
 import dagger.Component;
+import frogermcs.io.githubclient.data.api.GithubApiModule;
 import frogermcs.io.githubclient.data.UserComponent;
 import frogermcs.io.githubclient.data.api.UserModule;
 import frogermcs.io.githubclient.ui.activity.component.SplashActivityComponent;
@@ -16,7 +15,8 @@
 @Singleton
 @Component(
         modules = {
-                AppModule.class
+                AppModule.class,
+                GithubApiModule.class
         }
 )
 public interface AppComponent {
@@ -25,5 +25,4 @@ public interface AppComponent {
 
     UserComponent plus(UserModule userModule);
 
-    Application application();
 }
\ No newline at end of file
diff --git a/app/src/main/java/frogermcs/io/githubclient/AppProductionComponent.java b/app/src/main/java/frogermcs/io/githubclient/AppProductionComponent.java
deleted file mode 100644
index ed55ec6..0000000
--- a/app/src/main/java/frogermcs/io/githubclient/AppProductionComponent.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package frogermcs.io.githubclient;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-import dagger.producers.ProductionComponent;
-import frogermcs.io.githubclient.data.api.UserManager;
-import frogermcs.io.githubclient.data.api.UserModule;
-
-/**
- * Created by Miroslaw Stanek on 05.03.2016.
- */
-@ProductionComponent(
-        dependencies = AppComponent.class,
-        modules = GithubApiProducerModule.class
-)
-public interface AppProductionComponent {
-    ListenableFuture<UserManager> userManager();
-
-    ListenableFuture<UserModule.Factory> userModuleFactory();
-}
\ No newline at end of file
diff --git a/app/src/main/java/frogermcs/io/githubclient/GithubClientApplication.java b/app/src/main/java/frogermcs/io/githubclient/GithubClientApplication.java
index 2a77974..aaec8a6 100644
--- a/app/src/main/java/frogermcs/io/githubclient/GithubClientApplication.java
+++ b/app/src/main/java/frogermcs/io/githubclient/GithubClientApplication.java
@@ -5,20 +5,18 @@
 
 import com.frogermcs.androiddevmetrics.AndroidDevMetrics;
 
-import java.util.concurrent.Executors;
-
 import frogermcs.io.githubclient.data.UserComponent;
 import frogermcs.io.githubclient.data.api.UserModule;
+import frogermcs.io.githubclient.data.model.User;
 import timber.log.Timber;
 
 /**
  * Created by Miroslaw Stanek on 22.04.15.
  */
-public class GithubClientApplication extends Application {
+    public class GithubClientApplication extends Application {
 
     private AppComponent appComponent;
     private UserComponent userComponent;
-    private AppProductionComponent appProductionComponent;
 
     public static GithubClientApplication get(Context context) {
         return (GithubClientApplication) context.getApplicationContext();
@@ -39,16 +37,10 @@ private void initAppComponent() {
         appComponent = DaggerAppComponent.builder()
                 .appModule(new AppModule(this))
                 .build();
-
-
-        appProductionComponent = DaggerAppProductionComponent.builder()
-                .executor(Executors.newSingleThreadExecutor())
-                .appComponent(appComponent)
-                .build();
     }
 
-    public UserComponent createUserComponent(UserModule userModule) {
-        userComponent = appComponent.plus(userModule);
+    public UserComponent createUserComponent(User user) {
+        userComponent = appComponent.plus(new UserModule(user));
         return userComponent;
     }
 
@@ -64,8 +56,4 @@ public UserComponent getUserComponent() {
         return userComponent;
     }
 
-    public AppProductionComponent getAppProductionComponent() {
-        return appProductionComponent;
-    }
-
 }
\ No newline at end of file
diff --git a/app/src/main/java/frogermcs/io/githubclient/GithubApiProducerModule.java b/app/src/main/java/frogermcs/io/githubclient/data/api/GithubApiModule.java
similarity index 55%
rename from app/src/main/java/frogermcs/io/githubclient/GithubApiProducerModule.java
rename to app/src/main/java/frogermcs/io/githubclient/data/api/GithubApiModule.java
index 7a4098a..b3f8318 100644
--- a/app/src/main/java/frogermcs/io/githubclient/GithubApiProducerModule.java
+++ b/app/src/main/java/frogermcs/io/githubclient/data/api/GithubApiModule.java
@@ -1,29 +1,32 @@
-package frogermcs.io.githubclient;
+package frogermcs.io.githubclient.data.api;
 
 import android.app.Application;
 
 import java.util.concurrent.TimeUnit;
 
-import dagger.producers.ProducerModule;
-import dagger.producers.Produces;
-import frogermcs.io.githubclient.data.api.GithubApiService;
-import frogermcs.io.githubclient.data.api.UserManager;
-import frogermcs.io.githubclient.data.api.UserModule;
+import javax.inject.Singleton;
+
+import dagger.Module;
+import dagger.Provides;
+import frogermcs.io.githubclient.BuildConfig;
+import frogermcs.io.githubclient.R;
 import okhttp3.OkHttpClient;
 import okhttp3.logging.HttpLoggingInterceptor;
+import retrofit2.RxJavaCallAdapterFactory;
+import retrofit2.GsonConverterFactory;
 import retrofit2.Retrofit;
-import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;
-import retrofit2.converter.gson.GsonConverterFactory;
 
 /**
- * Created by Miroslaw Stanek on 05.03.2016.
+ * Created by Miroslaw Stanek on 22.04.15.
  */
-@ProducerModule
-public class GithubApiProducerModule {
+@Module
+public class GithubApiModule {
 
-    @Produces
-    public OkHttpClient produceOkHttpClient() {
+    @Provides
+    @Singleton
+    public OkHttpClient provideOkHttpClient() {
         final OkHttpClient.Builder builder = new OkHttpClient.Builder();
+
         if (BuildConfig.DEBUG) {
             HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
             logging.setLevel(HttpLoggingInterceptor.Level.BODY);
@@ -36,8 +39,9 @@ public OkHttpClient produceOkHttpClient() {
         return builder.build();
     }
 
-    @Produces
-    public Retrofit produceRestAdapter(Application application, OkHttpClient okHttpClient) {
+    @Provides
+    @Singleton
+    public Retrofit provideRestAdapter(Application application, OkHttpClient okHttpClient) {
         Retrofit.Builder builder = new Retrofit.Builder();
         builder.client(okHttpClient)
                 .baseUrl(application.getString(R.string.endpoint))
@@ -46,18 +50,15 @@ public Retrofit produceRestAdapter(Application application, OkHttpClient okHttpC
         return builder.build();
     }
 
-    @Produces
-    public GithubApiService produceGithubApiService(Retrofit restAdapter) {
+    @Provides
+    @Singleton
+    public GithubApiService provideGithubApiService(Retrofit restAdapter) {
         return restAdapter.create(GithubApiService.class);
     }
 
-    @Produces
-    public UserManager produceUserManager(GithubApiService githubApiService) {
+    @Provides
+    @Singleton
+    public UserManager provideUserManager(GithubApiService githubApiService) {
         return new UserManager(githubApiService);
     }
-
-    @Produces
-    public UserModule.Factory produceUserModuleFactory(GithubApiService githubApiService) {
-        return new UserModule.Factory(githubApiService);
-    }
 }
diff --git a/app/src/main/java/frogermcs/io/githubclient/data/api/UserModule.java b/app/src/main/java/frogermcs/io/githubclient/data/api/UserModule.java
index 443d5eb..c1b726b 100644
--- a/app/src/main/java/frogermcs/io/githubclient/data/api/UserModule.java
+++ b/app/src/main/java/frogermcs/io/githubclient/data/api/UserModule.java
@@ -12,11 +12,9 @@
 public class UserModule {
 
     private User user;
-    private GithubApiService githubApiService;
 
-    private UserModule(User user, GithubApiService githubApiService) {
+    public UserModule(User user) {
         this.user = user;
-        this.githubApiService = githubApiService;
     }
 
     @Provides
@@ -27,19 +25,7 @@ User provideUser() {
 
     @Provides
     @UserScope
-    RepositoriesManager provideRepositoriesManager() {
+    RepositoriesManager provideRepositoriesManager(User user, GithubApiService githubApiService) {
         return new RepositoriesManager(user, githubApiService);
     }
-
-    public static class Factory {
-        private GithubApiService githubApiService;
-
-        public Factory(GithubApiService githubApiService) {
-            this.githubApiService = githubApiService;
-        }
-
-        public UserModule create(User user) {
-            return new UserModule(user, githubApiService);
-        }
-    }
 }
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/activity/BaseActivity.java b/app/src/main/java/frogermcs/io/githubclient/ui/activity/BaseActivity.java
index d3a2d41..b00bc17 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/activity/BaseActivity.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/activity/BaseActivity.java
@@ -4,7 +4,6 @@
 import android.support.v7.app.AppCompatActivity;
 
 import frogermcs.io.githubclient.AppComponent;
-import frogermcs.io.githubclient.AppProductionComponent;
 import frogermcs.io.githubclient.GithubClientApplication;
 
 /**
@@ -19,8 +18,4 @@ protected void onCreate(Bundle savedInstanceState) {
     }
 
     protected abstract void setupActivityComponent();
-
-    public AppProductionComponent getAppProductionComponent() {
-        return GithubClientApplication.get(this).getAppProductionComponent();
-    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/activity/SplashActivity.java b/app/src/main/java/frogermcs/io/githubclient/ui/activity/SplashActivity.java
index aa4e51b..069feb5 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/activity/SplashActivity.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/activity/SplashActivity.java
@@ -2,6 +2,7 @@
 
 import android.content.Intent;
 import android.os.Bundle;
+import android.os.Debug;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
@@ -17,6 +18,7 @@
 import butterknife.OnClick;
 import frogermcs.io.githubclient.GithubClientApplication;
 import frogermcs.io.githubclient.R;
+import frogermcs.io.githubclient.data.model.User;
 import frogermcs.io.githubclient.ui.activity.module.SplashActivityModule;
 import frogermcs.io.githubclient.ui.activity.presenter.SplashActivityPresenter;
 import frogermcs.io.githubclient.utils.AnalyticsManager;
@@ -67,7 +69,7 @@ protected void onDestroy() {
     //Local dependencies graph is constructed here
     @Override
     protected void setupActivityComponent() {
-        //Uncomment those lines to measure dependencies creation time
+        //Uncomment those lines do measure dependencies creation time
         //Debug.startMethodTracing("SplashTrace");
         GithubClientApplication.get(this)
                 .getAppComponent()
@@ -81,7 +83,8 @@ public void onShowRepositoriesClick() {
         presenter.onShowRepositoriesClick();
     }
 
-    public void showRepositoriesListForUser() {
+    public void showRepositoriesListForUser(User user) {
+        GithubClientApplication.get(this).createUserComponent(user);
         startActivity(new Intent(this, RepositoriesListActivity.class));
     }
 
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/activity/module/SplashActivityModule.java b/app/src/main/java/frogermcs/io/githubclient/ui/activity/module/SplashActivityModule.java
index df8d537..94e13a4 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/activity/module/SplashActivityModule.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/activity/module/SplashActivityModule.java
@@ -2,6 +2,9 @@
 
 import dagger.Module;
 import dagger.Provides;
+import frogermcs.io.githubclient.HeavyExternalLibrary;
+import frogermcs.io.githubclient.HeavyLibraryWrapper;
+import frogermcs.io.githubclient.data.api.UserManager;
 import frogermcs.io.githubclient.ui.activity.ActivityScope;
 import frogermcs.io.githubclient.ui.activity.SplashActivity;
 import frogermcs.io.githubclient.ui.activity.presenter.SplashActivityPresenter;
@@ -26,7 +29,8 @@ SplashActivity provideSplashActivity() {
 
     @Provides
     @ActivityScope
-    SplashActivityPresenter provideSplashActivityPresenter(Validator validator) {
-        return new SplashActivityPresenter(splashActivity, validator);
+    SplashActivityPresenter
+    provideSplashActivityPresenter(Validator validator, UserManager userManager, HeavyLibraryWrapper heavyLibraryWrapper) {
+        return new SplashActivityPresenter(splashActivity, validator, userManager, heavyLibraryWrapper);
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/activity/presenter/SplashActivityPresenter.java b/app/src/main/java/frogermcs/io/githubclient/ui/activity/presenter/SplashActivityPresenter.java
index 8517f15..dbbf46d 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/activity/presenter/SplashActivityPresenter.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/activity/presenter/SplashActivityPresenter.java
@@ -1,18 +1,11 @@
 package frogermcs.io.githubclient.ui.activity.presenter;
 
-import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.Futures;
-
-import frogermcs.io.githubclient.AppProductionComponent;
-import frogermcs.io.githubclient.GithubClientApplication;
+import frogermcs.io.githubclient.HeavyLibraryWrapper;
 import frogermcs.io.githubclient.data.api.UserManager;
-import frogermcs.io.githubclient.data.api.UserModule;
 import frogermcs.io.githubclient.data.model.User;
 import frogermcs.io.githubclient.ui.activity.SplashActivity;
 import frogermcs.io.githubclient.utils.SimpleObserver;
 import frogermcs.io.githubclient.utils.Validator;
-import rx.Observable;
-import rx.functions.Func2;
 
 /**
  * Created by Miroslaw Stanek on 23.04.15.
@@ -22,59 +15,39 @@ public class SplashActivityPresenter {
 
     private SplashActivity splashActivity;
     private Validator validator;
-    private AppProductionComponent appProductionComponent;
-
     private UserManager userManager;
+    private HeavyLibraryWrapper heavyLibraryWrapper;
 
-    public SplashActivityPresenter(SplashActivity splashActivity, Validator validator) {
+    public SplashActivityPresenter(SplashActivity splashActivity, Validator validator,
+                                   UserManager userManager, HeavyLibraryWrapper heavyLibraryWrapper) {
         this.splashActivity = splashActivity;
-        this.appProductionComponent = splashActivity.getAppProductionComponent();
         this.validator = validator;
-        Futures.addCallback(appProductionComponent.userManager(), new FutureCallback<UserManager>() {
-            @Override
-            public void onSuccess(UserManager result) {
-                SplashActivityPresenter.this.userManager = result;
-            }
-
-            @Override
-            public void onFailure(Throwable t) {
-
-            }
-        });
+        this.userManager = userManager;
+        this.heavyLibraryWrapper = heavyLibraryWrapper;
+
+        //This calls should be delivered to ExternalLibrary right after it will be initialized
+        this.heavyLibraryWrapper.callMethod();
+        this.heavyLibraryWrapper.callMethod();
+        this.heavyLibraryWrapper.callMethod();
+        this.heavyLibraryWrapper.callMethod();
     }
 
     public void onShowRepositoriesClick() {
-        if (userManager == null) {
-            return;
-        }
-
         if (validator.validUsername(username)) {
             splashActivity.showLoading(true);
-            Observable.combineLatest(
-                    Observable.from(appProductionComponent.userModuleFactory()),
-                    userManager.getUser(username),
-                    new Func2<UserModule.Factory, User, UserModule>() {
-                        @Override
-                        public UserModule call(UserModule.Factory factory, User user) {
-                            return factory.create(user);
-                        }
-                    }
-            )
-                    .subscribe(new SimpleObserver<UserModule>() {
-                        @Override
-                        public void onNext(UserModule userModule) {
-                            GithubClientApplication.get(splashActivity).createUserComponent(userModule);
-
-                            splashActivity.showLoading(false);
-                            splashActivity.showRepositoriesListForUser();
-                        }
-
-                        @Override
-                        public void onError(Throwable e) {
-                            splashActivity.showLoading(false);
-                            splashActivity.showValidationError();
-                        }
-                    });
+            userManager.getUser(username).subscribe(new SimpleObserver<User>() {
+                @Override
+                public void onNext(User user) {
+                    splashActivity.showLoading(false);
+                    splashActivity.showRepositoriesListForUser(user);
+                }
+
+                @Override
+                public void onError(Throwable e) {
+                    splashActivity.showLoading(false);
+                    splashActivity.showValidationError();
+                }
+            });
         } else {
             splashActivity.showValidationError();
         }
diff --git a/build.gradle b/build.gradle
index 6678105..8f04ca3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,13 +1,9 @@
 buildscript {
     repositories {
         jcenter()
-        mavenCentral()
-        maven {
-            url "https://oss.sonatype.org/content/repositories/snapshots"
-        }
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:2.0.0-beta5'
+        classpath 'com.android.tools.build:gradle:2.2.0-alpha2'
         classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
         classpath 'com.frogermcs.androiddevmetrics:androiddevmetrics-plugin:0.4'
     }
@@ -16,9 +12,5 @@ buildscript {
 allprojects {
     repositories {
         jcenter()
-        mavenCentral()
-        maven {
-            url "https://oss.sonatype.org/content/repositories/snapshots"
-        }
     }
 }

From 4ee4a68bf2170295823020c6354976722b1a632a Mon Sep 17 00:00:00 2001
From: Mirek Stanek <froger.mcs@gmail.com>
Date: Sun, 12 Jun 2016 17:16:13 +0200
Subject: [PATCH 02/13] Added autofactory and multibinding example

---
 .../data/api/RepositoriesManager.java         |  2 +
 .../githubclient/data/model/Repository.java   | 10 +++
 .../ui/activity/RepositoriesListActivity.java | 33 ++++----
 .../RepositoriesListActivityModule.java       | 47 ++++++++++-
 .../ui/adapter/RepositoriesListAdapter.java   | 78 ++++++++++++-------
 .../RepositoriesListViewHolderFactory.java    | 11 +++
 .../viewholder/RepositoryViewHolder.java      | 18 +++++
 .../viewholder/RepositoryViewHolderBig.java   | 39 ++++++++++
 .../RepositoryViewHolderFeatured.java         | 38 +++++++++
 .../RepositoryViewHolderNormal.java           | 32 ++++++++
 .../res/layout/activity_repositories_list.xml |  7 +-
 app/src/main/res/layout/list_item_big.xml     | 30 +++++++
 .../main/res/layout/list_item_featured.xml    | 34 ++++++++
 app/src/main/res/layout/list_item_normal.xml  | 14 ++++
 14 files changed, 343 insertions(+), 50 deletions(-)
 create mode 100644 app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoriesListViewHolderFactory.java
 create mode 100644 app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolder.java
 create mode 100644 app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderBig.java
 create mode 100644 app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderFeatured.java
 create mode 100644 app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderNormal.java
 create mode 100644 app/src/main/res/layout/list_item_big.xml
 create mode 100644 app/src/main/res/layout/list_item_featured.xml
 create mode 100644 app/src/main/res/layout/list_item_normal.xml

diff --git a/app/src/main/java/frogermcs/io/githubclient/data/api/RepositoriesManager.java b/app/src/main/java/frogermcs/io/githubclient/data/api/RepositoriesManager.java
index cbcbb02..778a2d1 100644
--- a/app/src/main/java/frogermcs/io/githubclient/data/api/RepositoriesManager.java
+++ b/app/src/main/java/frogermcs/io/githubclient/data/api/RepositoriesManager.java
@@ -35,6 +35,8 @@ public ImmutableList<Repository> call(List<RepositoryResponse> repositoriesListR
                             repository.id = repositoryResponse.id;
                             repository.name = repositoryResponse.name;
                             repository.url = repositoryResponse.url;
+                            repository.stargazers_count = repositoryResponse.stargazers_count;
+                            repository.forks_count = repositoryResponse.forks_count;
                             listBuilder.add(repository);
                         }
                         return listBuilder.build();
diff --git a/app/src/main/java/frogermcs/io/githubclient/data/model/Repository.java b/app/src/main/java/frogermcs/io/githubclient/data/model/Repository.java
index e1c0a13..e6c078a 100644
--- a/app/src/main/java/frogermcs/io/githubclient/data/model/Repository.java
+++ b/app/src/main/java/frogermcs/io/githubclient/data/model/Repository.java
@@ -7,6 +7,10 @@
  * Created by Miroslaw Stanek on 22.04.15.
  */
 public class Repository implements Parcelable {
+    public static final int TYPE_NORMAL = 0;
+    public static final int TYPE_BIG = 1;
+    public static final int TYPE_FEATURED = 2;
+
     public static final Parcelable.Creator<Repository> CREATOR = new Parcelable.Creator<Repository>() {
         public Repository createFromParcel(Parcel source) {
             return new Repository(source);
@@ -19,6 +23,8 @@ public Repository[] newArray(int size) {
     public long id;
     public String name;
     public String url;
+    public int stargazers_count;
+    public int forks_count;
 
     public Repository() {
     }
@@ -27,6 +33,8 @@ private Repository(Parcel in) {
         this.id = in.readLong();
         this.name = in.readString();
         this.url = in.readString();
+        this.stargazers_count = in.readInt();
+        this.forks_count = in.readInt();
     }
 
     @Override
@@ -39,5 +47,7 @@ public void writeToParcel(Parcel dest, int flags) {
         dest.writeLong(this.id);
         dest.writeString(this.name);
         dest.writeString(this.url);
+        dest.writeInt(this.stargazers_count);
+        dest.writeInt(this.forks_count);
     }
 }
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoriesListActivity.java b/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoriesListActivity.java
index a6893ef..9baaeed 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoriesListActivity.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoriesListActivity.java
@@ -1,50 +1,50 @@
 package frogermcs.io.githubclient.ui.activity;
 
 import android.os.Bundle;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
 import android.view.View;
-import android.widget.ListView;
 import android.widget.ProgressBar;
 
 import com.google.common.collect.ImmutableList;
 
-import java.util.ArrayList;
-
 import javax.inject.Inject;
 
 import butterknife.Bind;
 import butterknife.ButterKnife;
-import butterknife.OnItemClick;
 import frogermcs.io.githubclient.GithubClientApplication;
 import frogermcs.io.githubclient.R;
 import frogermcs.io.githubclient.data.model.Repository;
 import frogermcs.io.githubclient.ui.activity.module.RepositoriesListActivityModule;
 import frogermcs.io.githubclient.ui.activity.presenter.RepositoriesListActivityPresenter;
 import frogermcs.io.githubclient.ui.adapter.RepositoriesListAdapter;
-import frogermcs.io.githubclient.utils.AnalyticsManager;
 
 
 public class RepositoriesListActivity extends BaseActivity {
-    @Bind(R.id.lvRepositories)
-    ListView lvRepositories;
+    @Bind(R.id.rvRepositories)
+    RecyclerView rvRepositories;
     @Bind(R.id.pbLoading)
     ProgressBar pbLoading;
 
     @Inject
     RepositoriesListActivityPresenter presenter;
     @Inject
-    AnalyticsManager analyticsManager;
-
-    private RepositoriesListAdapter repositoriesListAdapter;
+    RepositoriesListAdapter repositoriesListAdapter;
+    @Inject
+    LinearLayoutManager linearLayoutManager;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_repositories_list);
         ButterKnife.bind(this);
+        setupRepositoriesListView();
         presenter.loadRepositories();
+    }
 
-        repositoriesListAdapter = new RepositoriesListAdapter(this, new ArrayList<Repository>());
-        lvRepositories.setAdapter(repositoriesListAdapter);
+    private void setupRepositoriesListView() {
+        rvRepositories.setAdapter(repositoriesListAdapter);
+        rvRepositories.setLayoutManager(linearLayoutManager);
     }
 
     @Override
@@ -55,18 +55,15 @@ protected void setupActivityComponent() {
     }
 
     public void showLoading(boolean loading) {
-        lvRepositories.setVisibility(loading ? View.GONE : View.VISIBLE);
+        rvRepositories.setVisibility(loading ? View.GONE : View.VISIBLE);
         pbLoading.setVisibility(loading ? View.VISIBLE : View.GONE);
     }
 
     public void setRepositories(ImmutableList<Repository> repositories) {
-        repositoriesListAdapter.clear();
-        repositoriesListAdapter.addAll(repositories);
+        repositoriesListAdapter.updateRepositoriesList(repositories);
     }
 
-    @OnItemClick(R.id.lvRepositories)
-    public void onRepositoryClick(int position) {
-        Repository repository = repositoriesListAdapter.getItem(position);
+    public void onRepositoryClick(Repository repository) {
         RepositoryDetailsActivity.startWithRepository(repository, this);
     }
 
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/activity/module/RepositoriesListActivityModule.java b/app/src/main/java/frogermcs/io/githubclient/ui/activity/module/RepositoriesListActivityModule.java
index 83d463c..cc3a144 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/activity/module/RepositoriesListActivityModule.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/activity/module/RepositoriesListActivityModule.java
@@ -1,12 +1,23 @@
 package frogermcs.io.githubclient.ui.activity.module;
 
+import android.support.v7.widget.LinearLayoutManager;
+
+import java.util.Map;
+
 import dagger.Module;
 import dagger.Provides;
+import dagger.multibindings.IntKey;
+import dagger.multibindings.IntoMap;
 import frogermcs.io.githubclient.data.api.RepositoriesManager;
+import frogermcs.io.githubclient.data.model.Repository;
 import frogermcs.io.githubclient.ui.activity.ActivityScope;
 import frogermcs.io.githubclient.ui.activity.RepositoriesListActivity;
 import frogermcs.io.githubclient.ui.activity.presenter.RepositoriesListActivityPresenter;
-import frogermcs.io.githubclient.utils.AnalyticsManager;
+import frogermcs.io.githubclient.ui.adapter.RepositoriesListAdapter;
+import frogermcs.io.githubclient.ui.adapter.viewholder.RepositoriesListViewHolderFactory;
+import frogermcs.io.githubclient.ui.adapter.viewholder.RepositoryViewHolderBigFactory;
+import frogermcs.io.githubclient.ui.adapter.viewholder.RepositoryViewHolderFeaturedFactory;
+import frogermcs.io.githubclient.ui.adapter.viewholder.RepositoryViewHolderNormalFactory;
 
 /**
  * Created by Miroslaw Stanek on 23.04.15.
@@ -30,4 +41,38 @@ RepositoriesListActivity provideRepositoriesListActivity() {
     RepositoriesListActivityPresenter provideRepositoriesListActivityPresenter(RepositoriesManager repositoriesManager) {
         return new RepositoriesListActivityPresenter(repositoriesListActivity, repositoriesManager);
     }
+
+    @Provides
+    @ActivityScope
+    RepositoriesListAdapter provideRepositoriesListAdapter(RepositoriesListActivity repositoriesListActivity,
+                                                           Map<Integer, RepositoriesListViewHolderFactory> viewHolderFactories) {
+        return new RepositoriesListAdapter(repositoriesListActivity, viewHolderFactories);
+    }
+
+    @Provides
+    @ActivityScope
+    LinearLayoutManager provideLinearLayoutManager(RepositoriesListActivity repositoriesListActivity) {
+        return new LinearLayoutManager(repositoriesListActivity);
+    }
+
+    @Provides
+    @IntoMap
+    @IntKey(Repository.TYPE_NORMAL)
+    RepositoriesListViewHolderFactory provideViewHolderNormal() {
+        return new RepositoryViewHolderNormalFactory();
+    }
+
+    @Provides
+    @IntoMap
+    @IntKey(Repository.TYPE_BIG)
+    RepositoriesListViewHolderFactory provideViewHolderBig() {
+        return new RepositoryViewHolderBigFactory();
+    }
+
+    @Provides
+    @IntoMap
+    @IntKey(Repository.TYPE_FEATURED)
+    RepositoriesListViewHolderFactory provideViewHolderFeatured() {
+        return new RepositoryViewHolderFeaturedFactory();
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/RepositoriesListAdapter.java b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/RepositoriesListAdapter.java
index 7adeff3..863b43b 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/RepositoriesListAdapter.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/RepositoriesListAdapter.java
@@ -1,53 +1,75 @@
 package frogermcs.io.githubclient.ui.adapter;
 
-import android.content.Context;
-import android.view.LayoutInflater;
+import android.support.v7.widget.RecyclerView;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.TextView;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
-import butterknife.Bind;
-import butterknife.ButterKnife;
 import frogermcs.io.githubclient.data.model.Repository;
+import frogermcs.io.githubclient.ui.activity.RepositoriesListActivity;
+import frogermcs.io.githubclient.ui.adapter.viewholder.RepositoriesListViewHolderFactory;
+import frogermcs.io.githubclient.ui.adapter.viewholder.RepositoryViewHolder;
 
 /**
  * Created by Miroslaw Stanek on 24.04.15.
  */
-public class RepositoriesListAdapter extends ArrayAdapter<Repository> {
+public class RepositoriesListAdapter extends RecyclerView.Adapter {
 
-    private LayoutInflater inflater;
+    private RepositoriesListActivity repositoriesListActivity;
+    private Map<Integer, RepositoriesListViewHolderFactory> viewHolderFactories;
 
-    public RepositoriesListAdapter(Context context, List<Repository> objects) {
-        super(context, 0, objects);
-        this.inflater = LayoutInflater.from(context);
+    private final List<Repository> repositories = new ArrayList<>();
+
+    public RepositoriesListAdapter(RepositoriesListActivity repositoriesListActivity,
+                                   Map<Integer, RepositoriesListViewHolderFactory> viewHolderFactories) {
+        this.repositoriesListActivity = repositoriesListActivity;
+        this.viewHolderFactories = viewHolderFactories;
     }
 
     @Override
-    public View getView(int position, View convertView, ViewGroup parent) {
-        RepositoryHolder holder;
-        if (convertView == null) {
-            convertView = inflater.inflate(android.R.layout.simple_list_item_1, parent, false);
-            holder = new RepositoryHolder(convertView);
-            convertView.setTag(holder);
-        } else {
-            holder = (RepositoryHolder) convertView.getTag();
-        }
+    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        final RecyclerView.ViewHolder viewHolder = viewHolderFactories.get(viewType).createViewHolder(parent);
+        viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                onRepositoryItemClicked(viewHolder.getAdapterPosition());
+            }
+        });
+        return viewHolder;
+    }
 
-        Repository repository = getItem(position);
-        holder.text1.setText(repository.name);
+    private void onRepositoryItemClicked(int adapterPosition) {
+        repositoriesListActivity.onRepositoryClick(repositories.get(adapterPosition));
+    }
 
-        return convertView;
+    @Override
+    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
+        ((RepositoryViewHolder) holder).bind(repositories.get(position));
     }
 
-    static class RepositoryHolder {
-        @Bind(android.R.id.text1)
-        TextView text1;
+    @Override
+    public int getItemCount() {
+        return repositories.size();
+    }
 
-        public RepositoryHolder(View view) {
-            ButterKnife.bind(this, view);
+    @Override
+    public int getItemViewType(int position) {
+        Repository repository = repositories.get(position);
+        if (repository.stargazers_count > 500) {
+            if (repository.forks_count > 100) {
+                return Repository.TYPE_FEATURED;
+            }
+            return Repository.TYPE_BIG;
         }
+        return Repository.TYPE_NORMAL;
+    }
+
+    public void updateRepositoriesList(List<Repository> repositories) {
+        this.repositories.clear();
+        this.repositories.addAll(repositories);
+        notifyDataSetChanged();
     }
 }
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoriesListViewHolderFactory.java b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoriesListViewHolderFactory.java
new file mode 100644
index 0000000..a929877
--- /dev/null
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoriesListViewHolderFactory.java
@@ -0,0 +1,11 @@
+package frogermcs.io.githubclient.ui.adapter.viewholder;
+
+import android.support.v7.widget.RecyclerView;
+
+/**
+ * Created by Miroslaw Stanek on 11.06.2016.
+ */
+
+public interface RepositoriesListViewHolderFactory {
+    RecyclerView.ViewHolder createViewHolder(android.view.ViewGroup parent);
+}
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolder.java b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolder.java
new file mode 100644
index 0000000..afa86a2
--- /dev/null
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolder.java
@@ -0,0 +1,18 @@
+package frogermcs.io.githubclient.ui.adapter.viewholder;
+
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+
+import frogermcs.io.githubclient.data.model.Repository;
+
+/**
+ * Created by Miroslaw Stanek on 11.06.2016.
+ */
+
+public abstract class RepositoryViewHolder extends RecyclerView.ViewHolder {
+    public RepositoryViewHolder(View itemView) {
+        super(itemView);
+    }
+
+    public abstract void bind(Repository repository);
+}
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderBig.java b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderBig.java
new file mode 100644
index 0000000..e847c70
--- /dev/null
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderBig.java
@@ -0,0 +1,39 @@
+package frogermcs.io.githubclient.ui.adapter.viewholder;
+
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import com.google.auto.factory.AutoFactory;
+
+import butterknife.Bind;
+import butterknife.ButterKnife;
+import frogermcs.io.githubclient.R;
+import frogermcs.io.githubclient.data.model.Repository;
+
+/**
+ * Created by Miroslaw Stanek on 11.06.2016.
+ */
+@AutoFactory(implementing = RepositoriesListViewHolderFactory.class)
+public class RepositoryViewHolderBig extends RepositoryViewHolder {
+
+    @Bind(R.id.tvName)
+    TextView tvName;
+    @Bind(R.id.tvStars)
+    TextView tvStars;
+    @Bind(R.id.tvForks)
+    TextView tvForks;
+
+    public RepositoryViewHolderBig(ViewGroup parent) {
+        super(LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_big, parent, false));
+        ButterKnife.bind(this, itemView);
+    }
+
+    @Override
+    public void bind(Repository repository) {
+        tvName.setText(repository.name);
+        tvStars.setText("Stars: " + repository.stargazers_count);
+        tvForks.setText("Forks: " + repository.forks_count);
+    }
+}
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderFeatured.java b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderFeatured.java
new file mode 100644
index 0000000..24fd120
--- /dev/null
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderFeatured.java
@@ -0,0 +1,38 @@
+package frogermcs.io.githubclient.ui.adapter.viewholder;
+
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import com.google.auto.factory.AutoFactory;
+
+import butterknife.Bind;
+import butterknife.ButterKnife;
+import frogermcs.io.githubclient.R;
+import frogermcs.io.githubclient.data.model.Repository;
+
+/**
+ * Created by Miroslaw Stanek on 11.06.2016.
+ */
+@AutoFactory(implementing = RepositoriesListViewHolderFactory.class)
+public class RepositoryViewHolderFeatured extends RepositoryViewHolder {
+
+    @Bind(R.id.tvName)
+    TextView tvName;
+    @Bind(R.id.tvStars)
+    TextView tvStars;
+    @Bind(R.id.tvForks)
+    TextView tvForks;
+
+    public RepositoryViewHolderFeatured(ViewGroup parent) {
+        super(LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_featured, parent, false));
+        ButterKnife.bind(this, itemView);
+    }
+
+    @Override
+    public void bind(Repository repository) {
+        tvName.setText(repository.name);
+        tvStars.setText("Stars: " + repository.stargazers_count);
+        tvForks.setText("Forks: " + repository.forks_count);
+    }
+}
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderNormal.java b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderNormal.java
new file mode 100644
index 0000000..7a8c440
--- /dev/null
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderNormal.java
@@ -0,0 +1,32 @@
+package frogermcs.io.githubclient.ui.adapter.viewholder;
+
+import android.view.LayoutInflater;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import com.google.auto.factory.AutoFactory;
+
+import butterknife.Bind;
+import butterknife.ButterKnife;
+import frogermcs.io.githubclient.R;
+import frogermcs.io.githubclient.data.model.Repository;
+
+/**
+ * Created by Miroslaw Stanek on 11.06.2016.
+ */
+@AutoFactory(implementing = RepositoriesListViewHolderFactory.class)
+public class RepositoryViewHolderNormal extends RepositoryViewHolder {
+
+    @Bind(R.id.tvName)
+    TextView tvName;
+
+    public RepositoryViewHolderNormal(ViewGroup parent) {
+        super(LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_normal, parent, false));
+        ButterKnife.bind(this, itemView);
+    }
+
+    @Override
+    public void bind(Repository repository) {
+        tvName.setText(repository.name);
+    }
+}
diff --git a/app/src/main/res/layout/activity_repositories_list.xml b/app/src/main/res/layout/activity_repositories_list.xml
index b65dc57..ead0907 100644
--- a/app/src/main/res/layout/activity_repositories_list.xml
+++ b/app/src/main/res/layout/activity_repositories_list.xml
@@ -3,10 +3,11 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:gravity="center"
-    tools:context="frogermcs.io.githubclient.ui.activity.RepositoriesListActivity">
+    tools:context="frogermcs.io.githubclient.ui.activity.RepositoriesListActivity"
+    android:orientation="vertical">
 
-    <ListView
-        android:id="@+id/lvRepositories"
+    <android.support.v7.widget.RecyclerView
+        android:id="@+id/rvRepositories"
         android:layout_width="match_parent"
         android:layout_height="match_parent" />
 
diff --git a/app/src/main/res/layout/list_item_big.xml b/app/src/main/res/layout/list_item_big.xml
new file mode 100644
index 0000000..e32243d
--- /dev/null
+++ b/app/src/main/res/layout/list_item_big.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:padding="16dp">
+
+    <TextView
+        android:id="@+id/tvName"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="8dp"
+        android:text="Lorem ipsum dolor"
+        android:textSize="16sp"
+        android:textStyle="bold" />
+
+    <TextView
+        android:id="@+id/tvStars"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:text="Stars: 123"
+        android:textSize="13sp" />
+
+    <TextView
+        android:id="@+id/tvForks"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:text="Forks: 123"
+        android:textSize="13sp" />
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_item_featured.xml b/app/src/main/res/layout/list_item_featured.xml
new file mode 100644
index 0000000..77707f8
--- /dev/null
+++ b/app/src/main/res/layout/list_item_featured.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="#FF9800"
+    android:orientation="vertical"
+    android:padding="16dp">
+
+    <TextView
+        android:id="@+id/tvName"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="8dp"
+        android:text="Lorem ipsum dolor"
+        android:textColor="#ffffff"
+        android:textSize="16sp"
+        android:textStyle="bold" />
+
+    <TextView
+        android:id="@+id/tvStars"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:text="Stars: 123"
+        android:textColor="#ffffff"
+        android:textSize="13sp" />
+
+    <TextView
+        android:id="@+id/tvForks"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:text="Forks: 123"
+        android:textColor="#ffffff"
+        android:textSize="13sp" />
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_item_normal.xml b/app/src/main/res/layout/list_item_normal.xml
new file mode 100644
index 0000000..980ad24
--- /dev/null
+++ b/app/src/main/res/layout/list_item_normal.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/tvName"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="16dp"
+        android:textSize="16sp"
+        android:text="Lorem ipsum dolor" />
+</LinearLayout>
\ No newline at end of file

From e053edd9ebf0de1fe2cc177251824fbabfa4cda4 Mon Sep 17 00:00:00 2001
From: Mirek Stanek <froger.mcs@gmail.com>
Date: Sun, 12 Jun 2016 20:33:56 +0200
Subject: [PATCH 03/13] cleanup

---
 .../adapter/viewholder/RepositoriesListViewHolderFactory.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoriesListViewHolderFactory.java b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoriesListViewHolderFactory.java
index a929877..23e0134 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoriesListViewHolderFactory.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoriesListViewHolderFactory.java
@@ -1,11 +1,12 @@
 package frogermcs.io.githubclient.ui.adapter.viewholder;
 
 import android.support.v7.widget.RecyclerView;
+import android.view.ViewGroup;
 
 /**
  * Created by Miroslaw Stanek on 11.06.2016.
  */
 
 public interface RepositoriesListViewHolderFactory {
-    RecyclerView.ViewHolder createViewHolder(android.view.ViewGroup parent);
+    RecyclerView.ViewHolder createViewHolder(ViewGroup parent);
 }

From d213a1e5ad7474000d3b289b483d9892c5aa7deb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miros=C5=82aw=20Stanek?= <froger.mcs@gmail.com>
Date: Sun, 12 Jun 2016 22:13:28 +0200
Subject: [PATCH 04/13] Update README.md

---
 README.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/README.md b/README.md
index 4460025..e193710 100644
--- a/README.md
+++ b/README.md
@@ -8,5 +8,6 @@ This code was created as an example for Dependency Injection with Dagger 2 serie
 - [Dagger 2 - custom scopes](http://frogermcs.github.io/dependency-injection-with-dagger-2-custom-scopes/)
 - [Dagger 2 - graph creation performance](http://frogermcs.github.io/dagger-graph-creation-performance/)
 - [Dependency injection with Dagger 2 - Producers](http://frogermcs.github.io/dependency-injection-with-dagger-2-producers/)
+- [Inject everything - ViewHolder and Dagger 2 (with Multibinding and AutoFactory example)](http://frogermcs.github.io/inject-everything-viewholder-and-dagger-2-example/)
  
 This code was originally prepared for my presentation at Google I/O Extended 2015 in Tech Space Cracow. http://www.meetup.com/GDG-Krakow/events/221822600/

From 40b66bc7a0496a78bdea85520d41e9bd8e9eedd3 Mon Sep 17 00:00:00 2001
From: Rafael Toledo <rafaeldtoledo@gmail.com>
Date: Wed, 26 Oct 2016 13:23:26 -0200
Subject: [PATCH 05/13] Updates libraries and tools, and targets API 25

---
 app/build.gradle                              | 50 +++++++++----------
 .../data/api/GithubApiModule.java             |  4 +-
 .../ui/activity/RepositoriesListActivity.java |  6 +--
 .../activity/RepositoryDetailsActivity.java   |  8 +--
 .../ui/activity/SplashActivity.java           |  8 +--
 .../viewholder/RepositoryViewHolderBig.java   |  9 ++--
 .../RepositoryViewHolderFeatured.java         |  8 +--
 .../RepositoryViewHolderNormal.java           |  4 +-
 build.gradle                                  |  3 +-
 gradle/wrapper/gradle-wrapper.properties      |  2 +-
 10 files changed, 50 insertions(+), 52 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index 904afa5..23062e9 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,16 +1,15 @@
 apply plugin: 'com.android.application'
-apply plugin: 'com.neenbedankt.android-apt'
 apply plugin: 'com.frogermcs.androiddevmetrics'
 
 android {
-    compileSdkVersion 23
-    buildToolsVersion "23.0.2"
+    compileSdkVersion 25
+    buildToolsVersion "25.0.0"
     useLibrary 'org.apache.http.legacy'
 
     defaultConfig {
         applicationId "frogermcs.io.githubclient"
         minSdkVersion 15
-        targetSdkVersion 23
+        targetSdkVersion 25
         versionCode 1
         versionName "1.0"
 
@@ -26,37 +25,38 @@ android {
 
 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
-    compile 'com.android.support:appcompat-v7:23.4.0'
-    compile 'com.android.support:recyclerview-v7:23.4.0'
+    compile 'com.android.support:appcompat-v7:25.0.0'
+    compile 'com.android.support:recyclerview-v7:25.0.0'
 
     //Dagger 2
-    compile 'com.google.dagger:dagger:2.4'
-    apt 'com.google.dagger:dagger-compiler:2.4'
+    compile 'com.google.dagger:dagger:2.7'
+    annotationProcessor 'com.google.dagger:dagger-compiler:2.7'
     provided 'org.glassfish:javax.annotation:10.0-b28'
     compile 'com.google.auto.factory:auto-factory:1.0-beta3'
 
-    compile 'com.jakewharton:butterknife:7.0.1'
-    compile 'com.jakewharton.timber:timber:4.1.0'
-    compile 'io.reactivex:rxandroid:1.2.0'
-    compile 'io.reactivex:rxjava:1.1.5'
-    compile 'com.jakewharton.rxbinding:rxbinding:0.3.0'
-    compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'
-    compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta3'
-    compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'
-    compile 'com.squareup.okhttp3:okhttp:3.0.1'
-    compile 'com.squareup.okhttp3:logging-interceptor:3.0.1'
-    compile 'com.google.guava:guava:18.0'
-
-    testCompile "org.robolectric:robolectric:3.0"
+    compile 'com.jakewharton:butterknife:8.4.0'
+    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
+    compile 'com.jakewharton.timber:timber:4.3.1'
+    compile 'io.reactivex:rxandroid:1.2.1'
+    compile 'io.reactivex:rxjava:1.2.1'
+    compile 'com.jakewharton.rxbinding:rxbinding:0.4.0'
+    compile 'com.squareup.retrofit2:retrofit:2.1.0'
+    compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
+    compile 'com.squareup.retrofit2:converter-gson:2.1.0'
+    compile 'com.squareup.okhttp3:okhttp:3.4.1'
+    compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
+    compile 'com.google.guava:guava:19.0'
+
+    testCompile "org.robolectric:robolectric:3.1.2"
     testCompile "org.mockito:mockito-core:1.10.19"
 
-    androidTestCompile 'com.android.support:support-annotations:23.4.0'
+    androidTestCompile 'com.android.support:support-annotations:25.0.0'
     androidTestCompile 'com.squareup:javawriter:2.5.1'
 
     androidTestCompile 'junit:junit:4.12'
-    androidTestCompile 'com.android.support.test:runner:0.4'
-    androidTestCompile 'com.android.support.test:rules:0.4'
-    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
+    androidTestCompile 'com.android.support.test:runner:0.5'
+    androidTestCompile 'com.android.support.test:rules:0.5'
+    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
     androidTestCompile "org.mockito:mockito-core:1.10.19"
     androidTestCompile "com.google.dexmaker:dexmaker:1.2"
     androidTestCompile "com.google.dexmaker:dexmaker-mockito:1.2"
diff --git a/app/src/main/java/frogermcs/io/githubclient/data/api/GithubApiModule.java b/app/src/main/java/frogermcs/io/githubclient/data/api/GithubApiModule.java
index b3f8318..668882b 100644
--- a/app/src/main/java/frogermcs/io/githubclient/data/api/GithubApiModule.java
+++ b/app/src/main/java/frogermcs/io/githubclient/data/api/GithubApiModule.java
@@ -12,9 +12,9 @@
 import frogermcs.io.githubclient.R;
 import okhttp3.OkHttpClient;
 import okhttp3.logging.HttpLoggingInterceptor;
-import retrofit2.RxJavaCallAdapterFactory;
-import retrofit2.GsonConverterFactory;
 import retrofit2.Retrofit;
+import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;
+import retrofit2.converter.gson.GsonConverterFactory;
 
 /**
  * Created by Miroslaw Stanek on 22.04.15.
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoriesListActivity.java b/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoriesListActivity.java
index 9baaeed..05c4fb3 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoriesListActivity.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoriesListActivity.java
@@ -10,7 +10,7 @@
 
 import javax.inject.Inject;
 
-import butterknife.Bind;
+import butterknife.BindView;
 import butterknife.ButterKnife;
 import frogermcs.io.githubclient.GithubClientApplication;
 import frogermcs.io.githubclient.R;
@@ -21,9 +21,9 @@
 
 
 public class RepositoriesListActivity extends BaseActivity {
-    @Bind(R.id.rvRepositories)
+    @BindView(R.id.rvRepositories)
     RecyclerView rvRepositories;
-    @Bind(R.id.pbLoading)
+    @BindView(R.id.pbLoading)
     ProgressBar pbLoading;
 
     @Inject
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoryDetailsActivity.java b/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoryDetailsActivity.java
index 0e5b460..4989abd 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoryDetailsActivity.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoryDetailsActivity.java
@@ -7,7 +7,7 @@
 
 import javax.inject.Inject;
 
-import butterknife.Bind;
+import butterknife.BindView;
 import butterknife.ButterKnife;
 import frogermcs.io.githubclient.GithubClientApplication;
 import frogermcs.io.githubclient.R;
@@ -20,11 +20,11 @@
 public class RepositoryDetailsActivity extends BaseActivity {
     private static final String ARG_REPOSITORY = "arg_repository";
 
-    @Bind(R.id.tvRepoName)
+    @BindView(R.id.tvRepoName)
     TextView tvRepoName;
-    @Bind(R.id.tvRepoDetails)
+    @BindView(R.id.tvRepoDetails)
     TextView tvRepoDetails;
-    @Bind(R.id.tvUserName)
+    @BindView(R.id.tvUserName)
     TextView tvUserName;
 
     @Inject
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/activity/SplashActivity.java b/app/src/main/java/frogermcs/io/githubclient/ui/activity/SplashActivity.java
index 069feb5..e5bbebe 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/activity/SplashActivity.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/activity/SplashActivity.java
@@ -13,7 +13,7 @@
 
 import javax.inject.Inject;
 
-import butterknife.Bind;
+import butterknife.BindView;
 import butterknife.ButterKnife;
 import butterknife.OnClick;
 import frogermcs.io.githubclient.GithubClientApplication;
@@ -28,11 +28,11 @@
 
 public class SplashActivity extends BaseActivity {
 
-    @Bind(R.id.etUsername)
+    @BindView(R.id.etUsername)
     EditText etUsername;
-    @Bind(R.id.pbLoading)
+    @BindView(R.id.pbLoading)
     ProgressBar pbLoading;
-    @Bind(R.id.btnShowRepositories)
+    @BindView(R.id.btnShowRepositories)
     Button btnShowRepositories;
 
     //These references will be satisfied by 'SplashActivityComponent.inject(this)' method
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderBig.java b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderBig.java
index e847c70..16e97a8 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderBig.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderBig.java
@@ -1,13 +1,12 @@
 package frogermcs.io.githubclient.ui.adapter.viewholder;
 
-import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.ViewGroup;
 import android.widget.TextView;
 
 import com.google.auto.factory.AutoFactory;
 
-import butterknife.Bind;
+import butterknife.BindView;
 import butterknife.ButterKnife;
 import frogermcs.io.githubclient.R;
 import frogermcs.io.githubclient.data.model.Repository;
@@ -18,11 +17,11 @@
 @AutoFactory(implementing = RepositoriesListViewHolderFactory.class)
 public class RepositoryViewHolderBig extends RepositoryViewHolder {
 
-    @Bind(R.id.tvName)
+    @BindView(R.id.tvName)
     TextView tvName;
-    @Bind(R.id.tvStars)
+    @BindView(R.id.tvStars)
     TextView tvStars;
-    @Bind(R.id.tvForks)
+    @BindView(R.id.tvForks)
     TextView tvForks;
 
     public RepositoryViewHolderBig(ViewGroup parent) {
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderFeatured.java b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderFeatured.java
index 24fd120..ca49dc3 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderFeatured.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderFeatured.java
@@ -6,7 +6,7 @@
 
 import com.google.auto.factory.AutoFactory;
 
-import butterknife.Bind;
+import butterknife.BindView;
 import butterknife.ButterKnife;
 import frogermcs.io.githubclient.R;
 import frogermcs.io.githubclient.data.model.Repository;
@@ -17,11 +17,11 @@
 @AutoFactory(implementing = RepositoriesListViewHolderFactory.class)
 public class RepositoryViewHolderFeatured extends RepositoryViewHolder {
 
-    @Bind(R.id.tvName)
+    @BindView(R.id.tvName)
     TextView tvName;
-    @Bind(R.id.tvStars)
+    @BindView(R.id.tvStars)
     TextView tvStars;
-    @Bind(R.id.tvForks)
+    @BindView(R.id.tvForks)
     TextView tvForks;
 
     public RepositoryViewHolderFeatured(ViewGroup parent) {
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderNormal.java b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderNormal.java
index 7a8c440..3176f4d 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderNormal.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/viewholder/RepositoryViewHolderNormal.java
@@ -6,7 +6,7 @@
 
 import com.google.auto.factory.AutoFactory;
 
-import butterknife.Bind;
+import butterknife.BindView;
 import butterknife.ButterKnife;
 import frogermcs.io.githubclient.R;
 import frogermcs.io.githubclient.data.model.Repository;
@@ -17,7 +17,7 @@
 @AutoFactory(implementing = RepositoriesListViewHolderFactory.class)
 public class RepositoryViewHolderNormal extends RepositoryViewHolder {
 
-    @Bind(R.id.tvName)
+    @BindView(R.id.tvName)
     TextView tvName;
 
     public RepositoryViewHolderNormal(ViewGroup parent) {
diff --git a/build.gradle b/build.gradle
index 8f04ca3..482ae88 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,8 +3,7 @@ buildscript {
         jcenter()
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:2.2.0-alpha2'
-        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
+        classpath 'com.android.tools.build:gradle:2.2.2'
         classpath 'com.frogermcs.androiddevmetrics:androiddevmetrics-plugin:0.4'
     }
 }
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index fcef1f7..b00fe42 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https://services.gradle.org/distributions/gradle-2.10-all.zip
+distributionUrl=https://services.gradle.org/distributions/gradle-2.14.1-all.zip

From cfd55333ea786bb7de59f4fd1f070bd67e807af5 Mon Sep 17 00:00:00 2001
From: Mirek Stanek <froger.mcs@gmail.com>
Date: Mon, 12 Feb 2018 21:01:19 +0100
Subject: [PATCH 06/13] updated androiddevmetrics dependencies

---
 app/build.gradle                              | 22 ++++++++++---------
 .../githubclient/AppProductionComponent.java  |  5 ++++-
 .../io/githubclient/ExecutorModule.java       | 21 ++++++++++++++++++
 .../githubclient/GithubClientApplication.java |  3 ---
 .../ui/activity/RepositoriesListActivity.java |  6 ++---
 .../activity/RepositoryDetailsActivity.java   |  8 +++----
 .../ui/activity/SplashActivity.java           |  8 +++----
 .../ui/adapter/RepositoriesListAdapter.java   |  4 ++--
 build.gradle                                  |  5 ++---
 9 files changed, 52 insertions(+), 30 deletions(-)
 create mode 100644 app/src/main/java/frogermcs/io/githubclient/ExecutorModule.java

diff --git a/app/build.gradle b/app/build.gradle
index 51b76d3..5bd9ff7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,16 +1,15 @@
 apply plugin: 'com.android.application'
-apply plugin: 'com.neenbedankt.android-apt'
 apply plugin: 'com.frogermcs.androiddevmetrics'
 
 android {
-    compileSdkVersion 23
-    buildToolsVersion "23.0.2"
+    compileSdkVersion 26
+    buildToolsVersion "27.0.3"
     useLibrary 'org.apache.http.legacy'
 
     defaultConfig {
         applicationId "frogermcs.io.githubclient"
         minSdkVersion 15
-        targetSdkVersion 23
+        targetSdkVersion 26
         versionCode 1
         versionName "1.0"
 
@@ -26,14 +25,16 @@ android {
 
 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
-    compile 'com.android.support:appcompat-v7:23.1.1'
+    compile 'com.android.support:support-compat:26.1.0'
+    compile 'com.android.support:appcompat-v7:26.1.0'
 
     //Dagger 2
-    compile 'com.google.dagger:dagger:2.1'
-    compile 'com.google.dagger:dagger-producers:2.1'
-    apt 'com.google.dagger:dagger-compiler:2.1'
+    compile 'com.google.dagger:dagger:2.14.1'
+    compile 'com.google.dagger:dagger-producers:2.14.1'
+    annotationProcessor 'com.google.dagger:dagger-compiler:2.14.1'
 
-    compile 'com.jakewharton:butterknife:7.0.1'
+    compile 'com.jakewharton:butterknife:8.8.1'
+    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
     compile 'com.jakewharton.timber:timber:4.1.0'
     compile 'io.reactivex:rxandroid:1.1.0'
     compile 'io.reactivex:rxjava:1.1.0'
@@ -43,7 +44,8 @@ dependencies {
     compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
     compile 'com.squareup.okhttp3:okhttp:3.2.0'
     compile 'com.squareup.okhttp3:logging-interceptor:3.2.0'
-    compile 'com.google.guava:guava:18.0'
+    compile 'com.google.guava:guava:23.4-android'
+    compile 'com.google.code.findbugs:jsr305:2.0.1'
 
     testCompile "org.robolectric:robolectric:3.0"
     testCompile "org.mockito:mockito-core:1.10.19"
diff --git a/app/src/main/java/frogermcs/io/githubclient/AppProductionComponent.java b/app/src/main/java/frogermcs/io/githubclient/AppProductionComponent.java
index ed55ec6..642aae6 100644
--- a/app/src/main/java/frogermcs/io/githubclient/AppProductionComponent.java
+++ b/app/src/main/java/frogermcs/io/githubclient/AppProductionComponent.java
@@ -11,7 +11,10 @@
  */
 @ProductionComponent(
         dependencies = AppComponent.class,
-        modules = GithubApiProducerModule.class
+        modules = {
+                GithubApiProducerModule.class,
+                ExecutorModule.class
+        }
 )
 public interface AppProductionComponent {
     ListenableFuture<UserManager> userManager();
diff --git a/app/src/main/java/frogermcs/io/githubclient/ExecutorModule.java b/app/src/main/java/frogermcs/io/githubclient/ExecutorModule.java
new file mode 100644
index 0000000..df4dd2a
--- /dev/null
+++ b/app/src/main/java/frogermcs/io/githubclient/ExecutorModule.java
@@ -0,0 +1,21 @@
+package frogermcs.io.githubclient;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+import dagger.Module;
+import dagger.Provides;
+import dagger.producers.Production;
+
+/**
+ * Created by froger_mcs on 12/02/2018.
+ */
+
+@Module
+final class ExecutorModule {
+    @Provides
+    @Production
+    static Executor executor() {
+        return Executors.newSingleThreadExecutor();
+    }
+}
diff --git a/app/src/main/java/frogermcs/io/githubclient/GithubClientApplication.java b/app/src/main/java/frogermcs/io/githubclient/GithubClientApplication.java
index 2a77974..2279f1a 100644
--- a/app/src/main/java/frogermcs/io/githubclient/GithubClientApplication.java
+++ b/app/src/main/java/frogermcs/io/githubclient/GithubClientApplication.java
@@ -5,8 +5,6 @@
 
 import com.frogermcs.androiddevmetrics.AndroidDevMetrics;
 
-import java.util.concurrent.Executors;
-
 import frogermcs.io.githubclient.data.UserComponent;
 import frogermcs.io.githubclient.data.api.UserModule;
 import timber.log.Timber;
@@ -42,7 +40,6 @@ private void initAppComponent() {
 
 
         appProductionComponent = DaggerAppProductionComponent.builder()
-                .executor(Executors.newSingleThreadExecutor())
                 .appComponent(appComponent)
                 .build();
     }
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoriesListActivity.java b/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoriesListActivity.java
index a6893ef..01a152c 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoriesListActivity.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoriesListActivity.java
@@ -11,7 +11,7 @@
 
 import javax.inject.Inject;
 
-import butterknife.Bind;
+import butterknife.BindView;
 import butterknife.ButterKnife;
 import butterknife.OnItemClick;
 import frogermcs.io.githubclient.GithubClientApplication;
@@ -24,9 +24,9 @@
 
 
 public class RepositoriesListActivity extends BaseActivity {
-    @Bind(R.id.lvRepositories)
+    @BindView(R.id.lvRepositories)
     ListView lvRepositories;
-    @Bind(R.id.pbLoading)
+    @BindView(R.id.pbLoading)
     ProgressBar pbLoading;
 
     @Inject
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoryDetailsActivity.java b/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoryDetailsActivity.java
index 0e5b460..4989abd 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoryDetailsActivity.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/activity/RepositoryDetailsActivity.java
@@ -7,7 +7,7 @@
 
 import javax.inject.Inject;
 
-import butterknife.Bind;
+import butterknife.BindView;
 import butterknife.ButterKnife;
 import frogermcs.io.githubclient.GithubClientApplication;
 import frogermcs.io.githubclient.R;
@@ -20,11 +20,11 @@
 public class RepositoryDetailsActivity extends BaseActivity {
     private static final String ARG_REPOSITORY = "arg_repository";
 
-    @Bind(R.id.tvRepoName)
+    @BindView(R.id.tvRepoName)
     TextView tvRepoName;
-    @Bind(R.id.tvRepoDetails)
+    @BindView(R.id.tvRepoDetails)
     TextView tvRepoDetails;
-    @Bind(R.id.tvUserName)
+    @BindView(R.id.tvUserName)
     TextView tvUserName;
 
     @Inject
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/activity/SplashActivity.java b/app/src/main/java/frogermcs/io/githubclient/ui/activity/SplashActivity.java
index aa4e51b..b6cd498 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/activity/SplashActivity.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/activity/SplashActivity.java
@@ -12,7 +12,7 @@
 
 import javax.inject.Inject;
 
-import butterknife.Bind;
+import butterknife.BindView;
 import butterknife.ButterKnife;
 import butterknife.OnClick;
 import frogermcs.io.githubclient.GithubClientApplication;
@@ -26,11 +26,11 @@
 
 public class SplashActivity extends BaseActivity {
 
-    @Bind(R.id.etUsername)
+    @BindView(R.id.etUsername)
     EditText etUsername;
-    @Bind(R.id.pbLoading)
+    @BindView(R.id.pbLoading)
     ProgressBar pbLoading;
-    @Bind(R.id.btnShowRepositories)
+    @BindView(R.id.btnShowRepositories)
     Button btnShowRepositories;
 
     //These references will be satisfied by 'SplashActivityComponent.inject(this)' method
diff --git a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/RepositoriesListAdapter.java b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/RepositoriesListAdapter.java
index 7adeff3..a313a49 100644
--- a/app/src/main/java/frogermcs/io/githubclient/ui/adapter/RepositoriesListAdapter.java
+++ b/app/src/main/java/frogermcs/io/githubclient/ui/adapter/RepositoriesListAdapter.java
@@ -9,7 +9,7 @@
 
 import java.util.List;
 
-import butterknife.Bind;
+import butterknife.BindView;
 import butterknife.ButterKnife;
 import frogermcs.io.githubclient.data.model.Repository;
 
@@ -43,7 +43,7 @@ public View getView(int position, View convertView, ViewGroup parent) {
     }
 
     static class RepositoryHolder {
-        @Bind(android.R.id.text1)
+        @BindView(android.R.id.text1)
         TextView text1;
 
         public RepositoryHolder(View view) {
diff --git a/build.gradle b/build.gradle
index 6678105..cbcdd50 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,9 +7,8 @@ buildscript {
         }
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:2.0.0-beta5'
-        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
-        classpath 'com.frogermcs.androiddevmetrics:androiddevmetrics-plugin:0.4'
+        classpath 'com.android.tools.build:gradle:3.0.1'
+        classpath 'com.frogermcs.androiddevmetrics:androiddevmetrics-plugin:0.6'
     }
 }
 

From b5b71b8af52b7b16113b1955877de0707c4c8fa7 Mon Sep 17 00:00:00 2001
From: Krzysztof Skrzynecki <krzysztof@digi.me>
Date: Mon, 26 Feb 2018 22:00:04 +0000
Subject: [PATCH 07/13] Upgraded gradle wrapper with Gradle 4.1

---
 gradle/wrapper/gradle-wrapper.jar        | Bin 49896 -> 54333 bytes
 gradle/wrapper/gradle-wrapper.properties |   3 +-
 gradlew                                  |  78 +++++++++++++----------
 gradlew.bat                              |  14 ++--
 4 files changed, 48 insertions(+), 47 deletions(-)

diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 8c0fb64a8698b08ecc4158d828ca593c4928e9dd..c44b679acd3f794ddbb3aa5e919244914911014a 100644
GIT binary patch
delta 48235
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
GXa5HTs{)k(

delta 44049
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

diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index b00fe42..f16d266 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,5 @@
-#Wed Apr 10 15:27:10 PDT 2013
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https://services.gradle.org/distributions/gradle-2.14.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-bin.zip
diff --git a/gradlew b/gradlew
index 91a7e26..cccdd3d 100755
--- a/gradlew
+++ b/gradlew
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
 
 ##############################################################################
 ##
@@ -6,20 +6,38 @@
 ##
 ##############################################################################
 
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+        PRG="$link"
+    else
+        PRG=`dirname "$PRG"`"/$link"
+    fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
 
 APP_NAME="Gradle"
 APP_BASE_NAME=`basename "$0"`
 
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
 # Use the maximum available, or set MAX_FD != -1 to use that value.
 MAX_FD="maximum"
 
-warn ( ) {
+warn () {
     echo "$*"
 }
 
-die ( ) {
+die () {
     echo
     echo "$*"
     echo
@@ -30,6 +48,7 @@ die ( ) {
 cygwin=false
 msys=false
 darwin=false
+nonstop=false
 case "`uname`" in
   CYGWIN* )
     cygwin=true
@@ -40,31 +59,11 @@ case "`uname`" in
   MINGW* )
     msys=true
     ;;
+  NONSTOP* )
+    nonstop=true
+    ;;
 esac
 
-# For Cygwin, ensure paths are in UNIX format before anything is touched.
-if $cygwin ; then
-    [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-fi
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-        PRG="$link"
-    else
-        PRG=`dirname "$PRG"`"/$link"
-    fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >&-
-APP_HOME="`pwd -P`"
-cd "$SAVED" >&-
-
 CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
 
 # Determine the Java command to use to start the JVM.
@@ -90,7 +89,7 @@ location of your Java installation."
 fi
 
 # Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
     MAX_FD_LIMIT=`ulimit -H -n`
     if [ $? -eq 0 ] ; then
         if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@@ -114,6 +113,7 @@ fi
 if $cygwin ; then
     APP_HOME=`cygpath --path --mixed "$APP_HOME"`
     CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+    JAVACMD=`cygpath --unix "$JAVACMD"`
 
     # We build the pattern for arguments to be converted via cygpath
     ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
@@ -154,11 +154,19 @@ if $cygwin ; then
     esac
 fi
 
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
-    JVM_OPTS=("$@")
+# Escape application args
+save () {
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+    echo " "
 }
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+  cd "$(dirname "$0")"
+fi
 
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
index aec9973..e95643d 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -8,14 +8,14 @@
 @rem Set local scope for the variables with windows NT shell
 if "%OS%"=="Windows_NT" setlocal
 
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
-
 set DIRNAME=%~dp0
 if "%DIRNAME%" == "" set DIRNAME=.
 set APP_BASE_NAME=%~n0
 set APP_HOME=%DIRNAME%
 
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
 @rem Find java.exe
 if defined JAVA_HOME goto findJavaFromJavaHome
 
@@ -46,10 +46,9 @@ echo location of your Java installation.
 goto fail
 
 :init
-@rem Get command-line arguments, handling Windowz variants
+@rem Get command-line arguments, handling Windows variants
 
 if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
 
 :win9xME_args
 @rem Slurp the command line arguments.
@@ -60,11 +59,6 @@ set _SKIP=2
 if "x%~1" == "x" goto execute
 
 set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
 
 :execute
 @rem Setup the command line

From 7871bcf20f78598c6b53705b8a1441482e8d2853 Mon Sep 17 00:00:00 2001
From: Krzysztof Skrzynecki <krzysztof@digi.me>
Date: Mon, 26 Feb 2018 22:04:50 +0000
Subject: [PATCH 08/13] Added google maven repository, so android gradle plugin
 can be found

---
 build.gradle | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/build.gradle b/build.gradle
index 7214af8..9875a15 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         jcenter()
+        google()
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:3.0.1'
@@ -11,5 +12,6 @@ buildscript {
 allprojects {
     repositories {
         jcenter()
+        google()
     }
 }

From 7a7157c7c2481e4a53fb6641a8b8ac289ebea490 Mon Sep 17 00:00:00 2001
From: Krzysztof Skrzynecki <krzysztof@digi.me>
Date: Mon, 26 Feb 2018 22:06:53 +0000
Subject: [PATCH 09/13] Updated dependency configuration to use
 `implementation` instead of `compile`

---
 app/build.gradle | 61 ++++++++++++++++++++++++------------------------
 1 file changed, 31 insertions(+), 30 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index 566b0c5..72a6301 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -24,44 +24,45 @@ android {
 }
 
 dependencies {
-    compile fileTree(dir: 'libs', include: ['*.jar'])
-    compile 'com.android.support:support-compat:26.1.0'
-    compile 'com.android.support:appcompat-v7:26.1.0'
-    compile 'com.android.support:recyclerview-v7:26.1.0'
+    implementation fileTree(dir: 'libs', include: ['*.jar'])
+    implementation 'com.android.support:support-compat:26.1.0'
+    implementation 'com.android.support:appcompat-v7:26.1.0'
+    implementation 'com.android.support:recyclerview-v7:26.1.0'
 
     //Dagger 2
-    compile 'com.google.dagger:dagger:2.14.1'
-    compile 'com.google.dagger:dagger-producers:2.14.1'
+    implementation 'com.google.dagger:dagger:2.14.1'
+    implementation 'com.google.dagger:dagger-producers:2.14.1'
     annotationProcessor 'com.google.dagger:dagger-compiler:2.14.1'
     provided 'org.glassfish:javax.annotation:10.0-b28'
-    compile 'com.google.auto.factory:auto-factory:1.0-beta3'
+    implementation 'com.google.auto.factory:auto-factory:1.0-beta3'
     annotationProcessor 'com.google.auto.factory:auto-factory:1.0-beta3'
 
-    compile 'com.jakewharton:butterknife:8.8.1'
+    implementation 'com.jakewharton:butterknife:8.8.1'
     annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
-    compile 'com.jakewharton.timber:timber:4.3.1'
-    compile 'io.reactivex:rxandroid:1.2.1'
-    compile 'io.reactivex:rxjava:1.2.1'
-    compile 'com.jakewharton.rxbinding:rxbinding:0.4.0'
-    compile 'com.squareup.retrofit2:retrofit:2.1.0'
-    compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
-    compile 'com.squareup.retrofit2:converter-gson:2.1.0'
-    compile 'com.squareup.okhttp3:okhttp:3.4.1'
-    compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
-    compile 'com.google.guava:guava:23.4-android'
-    compile 'com.google.code.findbugs:jsr305:2.0.1'
+    implementation 'com.jakewharton.timber:timber:4.3.1'
+    implementation 'io.reactivex:rxandroid:1.2.1'
+    implementation 'io.reactivex:rxjava:1.2.1'
+    implementation 'com.jakewharton.rxbinding:rxbinding:0.4.0'
+    implementation 'com.squareup.retrofit2:retrofit:2.1.0'
+    implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
+    implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
+    implementation 'com.squareup.okhttp3:okhttp:3.4.1'
+    implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1'
+    implementation 'com.google.guava:guava:23.4-android'
+    implementation 'com.google.code.findbugs:jsr305:2.0.1'
 
-    testCompile "org.robolectric:robolectric:3.1.2"
-    testCompile "org.mockito:mockito-core:1.10.19"
+    testImplementation "org.robolectric:robolectric:3.1.2"
+    testImplementation "org.mockito:mockito-core:1.10.19"
 
-    androidTestCompile 'com.android.support:support-annotations:25.0.0'
-    androidTestCompile 'com.squareup:javawriter:2.5.1'
+    androidTestImplementation 'com.android.support:support-annotations:25.0.0'
+    androidTestImplementation 'com.squareup:javawriter:2.5.1'
 
-    androidTestCompile 'junit:junit:4.12'
-    androidTestCompile 'com.android.support.test:runner:0.5'
-    androidTestCompile 'com.android.support.test:rules:0.5'
-    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
-    androidTestCompile "org.mockito:mockito-core:1.10.19"
-    androidTestCompile "com.google.dexmaker:dexmaker:1.2"
-    androidTestCompile "com.google.dexmaker:dexmaker-mockito:1.2"
+    androidTestImplementation 'junit:junit:4.12'
+    androidTestImplementation 'com.android.support.test:runner:0.5'
+    androidTestImplementation 'com.android.support.test:rules:0.5'
+    androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2'
+    androidTestImplementation "org.mockito:mockito-core:1.10.19"
+    androidTestImplementation "com.google.dexmaker:dexmaker:1.2"
+    androidTestImplementation "com.google.dexmaker:dexmaker-mockito:1.2"
+    testImplementation 'junit:junit:4.12'
 }

From c4b8639803d8f129381d9f3b3ac71a565da28821 Mon Sep 17 00:00:00 2001
From: Krzysztof Skrzynecki <krzysztof@digi.me>
Date: Mon, 26 Feb 2018 22:10:18 +0000
Subject: [PATCH 10/13] Added explicit declaration of annotation processor for
 test configuration - it resolves warning displayed on `./gradlew test`

---
 app/build.gradle | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app/build.gradle b/app/build.gradle
index 72a6301..eb9894f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -65,4 +65,5 @@ dependencies {
     androidTestImplementation "com.google.dexmaker:dexmaker:1.2"
     androidTestImplementation "com.google.dexmaker:dexmaker-mockito:1.2"
     testImplementation 'junit:junit:4.12'
+    testAnnotationProcessor "com.google.auto.factory:auto-factory:1.0-beta3"
 }

From 08fe2b33efa1a8842af1cc21c90821ce7ea76c59 Mon Sep 17 00:00:00 2001
From: Krzysztof Skrzynecki <krzysztof@digi.me>
Date: Mon, 26 Feb 2018 22:13:28 +0000
Subject: [PATCH 11/13] Cleaned up tests' set

---
 .../io/githubclient/ui/activity/SplashActivityTests.java | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/app/src/test/java/frogermcs/io/githubclient/ui/activity/SplashActivityTests.java b/app/src/test/java/frogermcs/io/githubclient/ui/activity/SplashActivityTests.java
index 6275603..0df4abf 100644
--- a/app/src/test/java/frogermcs/io/githubclient/ui/activity/SplashActivityTests.java
+++ b/app/src/test/java/frogermcs/io/githubclient/ui/activity/SplashActivityTests.java
@@ -1,7 +1,5 @@
 package frogermcs.io.githubclient.ui.activity;
 
-import android.support.annotation.NonNull;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -10,16 +8,13 @@
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 import org.robolectric.Robolectric;
-import org.robolectric.RobolectricGradleTestRunner;
+import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
 import frogermcs.io.githubclient.BuildConfig;
-import frogermcs.io.githubclient.MockAppModule;
 import frogermcs.io.githubclient.TestGithubClientApplication;
 import frogermcs.io.githubclient.ui.activity.component.SplashActivityComponent;
-import frogermcs.io.githubclient.ui.activity.module.MockSplashActivityModule;
-import frogermcs.io.githubclient.ui.activity.module.SplashActivityModule;
 import frogermcs.io.githubclient.utils.AnalyticsManager;
 
 import static org.mockito.Matchers.any;
@@ -30,7 +25,7 @@
 /**
  * Created by Miroslaw Stanek on 19.09.15.
  */
-@RunWith(RobolectricGradleTestRunner.class)
+@RunWith(RobolectricTestRunner.class)
 @Config(
         sdk = 18,
         constants = BuildConfig.class,

From 8adc7a3d2b0961aa7da367e61876c0baf7ba53e4 Mon Sep 17 00:00:00 2001
From: Krzysztof Skrzynecki <krzysztof@digi.me>
Date: Mon, 26 Feb 2018 22:25:17 +0000
Subject: [PATCH 12/13] Set the severity of 'InvalidPackage' error to warning

Note:
'InvalidPackage' error is reported for com.google.auto:auto-factory package, but we can treat is as a warning
---
 app/build.gradle | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/app/build.gradle b/app/build.gradle
index eb9894f..63ca602 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -21,6 +21,9 @@ android {
             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
         }
     }
+    lintOptions {
+        warning 'InvalidPackage'
+    }
 }
 
 dependencies {

From 6af0fa84252575c53dcd4d1c2016fe6f7bf5c145 Mon Sep 17 00:00:00 2001
From: Mirek Stanek <froger.mcs@gmail.com>
Date: Fri, 26 Apr 2019 11:56:59 +0200
Subject: [PATCH 13/13] updated dependencies

---
 app/build.gradle | 15 +++++++--------
 build.gradle     |  4 ++--
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index 63ca602..c1901a0 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -2,14 +2,13 @@ apply plugin: 'com.android.application'
 apply plugin: 'com.frogermcs.androiddevmetrics'
 
 android {
-    compileSdkVersion 26
-    buildToolsVersion "27.0.3"
+    compileSdkVersion 28
     useLibrary 'org.apache.http.legacy'
 
     defaultConfig {
         applicationId "frogermcs.io.githubclient"
         minSdkVersion 15
-        targetSdkVersion 26
+        targetSdkVersion 28
         versionCode 1
         versionName "1.0"
 
@@ -28,9 +27,9 @@ android {
 
 dependencies {
     implementation fileTree(dir: 'libs', include: ['*.jar'])
-    implementation 'com.android.support:support-compat:26.1.0'
-    implementation 'com.android.support:appcompat-v7:26.1.0'
-    implementation 'com.android.support:recyclerview-v7:26.1.0'
+    implementation 'com.android.support:support-compat:28.0.0'
+    implementation 'com.android.support:appcompat-v7:28.0.0'
+    implementation 'com.android.support:recyclerview-v7:28.0.0'
 
     //Dagger 2
     implementation 'com.google.dagger:dagger:2.14.1'
@@ -56,7 +55,8 @@ dependencies {
 
     testImplementation "org.robolectric:robolectric:3.1.2"
     testImplementation "org.mockito:mockito-core:1.10.19"
-
+    testImplementation 'junit:junit:4.12'
+    
     androidTestImplementation 'com.android.support:support-annotations:25.0.0'
     androidTestImplementation 'com.squareup:javawriter:2.5.1'
 
@@ -67,6 +67,5 @@ dependencies {
     androidTestImplementation "org.mockito:mockito-core:1.10.19"
     androidTestImplementation "com.google.dexmaker:dexmaker:1.2"
     androidTestImplementation "com.google.dexmaker:dexmaker-mockito:1.2"
-    testImplementation 'junit:junit:4.12'
     testAnnotationProcessor "com.google.auto.factory:auto-factory:1.0-beta3"
 }
diff --git a/build.gradle b/build.gradle
index 9875a15..3a627ad 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,8 +4,8 @@ buildscript {
         google()
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:3.0.1'
-        classpath 'com.frogermcs.androiddevmetrics:androiddevmetrics-plugin:0.6'
+        classpath 'com.android.tools.build:gradle:3.2.1'
+        classpath 'com.frogermcs.androiddevmetrics:androiddevmetrics-plugin:0.7'
     }
 }