gitextract_n6u9vjvq/ ├── .gitignore ├── .idea/ │ ├── .name │ ├── compiler.xml │ ├── copyright/ │ │ └── profiles_settings.xml │ ├── encodings.xml │ ├── gradle.xml │ ├── misc.xml │ ├── modules.xml │ ├── runConfigurations.xml │ └── vcs.xml ├── README.md ├── app/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── io/ │ │ └── patrykpoborca/ │ │ └── cleanarchitecture/ │ │ ├── TestHelper.java │ │ ├── dagger/ │ │ │ ├── TestClassInjector.java │ │ │ └── mockmodules/ │ │ │ ├── MockLocalModule.java │ │ │ ├── MockNetworkModule.java │ │ │ └── MockTestModule.java │ │ ├── mockimpl/ │ │ │ ├── MockLocalDataCache.java │ │ │ ├── MockMVPCIPview.java │ │ │ ├── MockOkHTTP.java │ │ │ ├── MockRetrofit.java │ │ │ ├── MockTweeterActivityPview.java │ │ │ └── MockTweeterApi.java │ │ └── tests/ │ │ ├── MVPCITest.java │ │ ├── MVPTest.java │ │ ├── MVVMTest.java │ │ └── PlainTweeterTest.java │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── io/ │ │ │ └── patrykpoborca/ │ │ │ └── cleanarchitecture/ │ │ │ ├── CleanArchitectureApplication.java │ │ │ ├── dagger/ │ │ │ │ ├── components/ │ │ │ │ │ ├── ActivityInjectorComponent.java │ │ │ │ │ ├── ApplicationComponent.java │ │ │ │ │ └── BaseComponent.java │ │ │ │ ├── interactors/ │ │ │ │ │ ├── NetworkInteractor.java │ │ │ │ │ └── base/ │ │ │ │ │ └── BaseInteractor.java │ │ │ │ ├── modules/ │ │ │ │ │ ├── ApplicationModule.java │ │ │ │ │ ├── InteractorModule.java │ │ │ │ │ ├── LocalModule.java │ │ │ │ │ ├── NetworkModule.java │ │ │ │ │ ├── PresenterModule.java │ │ │ │ │ └── ThreadingModule.java │ │ │ │ └── scopes/ │ │ │ │ ├── ActivityScope.java │ │ │ │ ├── ApplicationScope.java │ │ │ │ └── ExposedAPIScope.java │ │ │ ├── localdata/ │ │ │ │ └── LocalDataCache.java │ │ │ ├── network/ │ │ │ │ ├── TweeterApi.java │ │ │ │ └── base/ │ │ │ │ ├── OKHttp.java │ │ │ │ └── Retrofit.java │ │ │ ├── ui/ │ │ │ │ ├── BaseCleanArchitectureActivity.java │ │ │ │ ├── MVP/ │ │ │ │ │ ├── TweeterActivityMVP.java │ │ │ │ │ ├── TweeterMVPPresenterImpl.java │ │ │ │ │ ├── base/ │ │ │ │ │ │ ├── BasePresenterActivity.java │ │ │ │ │ │ └── Interfaces/ │ │ │ │ │ │ ├── PView.java │ │ │ │ │ │ └── Presenter.java │ │ │ │ │ └── interfaces/ │ │ │ │ │ ├── TweeterMVPPView.java │ │ │ │ │ └── TweeterMVPPresenter.java │ │ │ │ ├── MVPCI/ │ │ │ │ │ ├── TweeterActivityMVPCI.java │ │ │ │ │ ├── TweeterMVPCIPresenter.java │ │ │ │ │ ├── base/ │ │ │ │ │ │ ├── BasePresenterActivityMVPCI.java │ │ │ │ │ │ └── BasePresenterMVPCI.java │ │ │ │ │ ├── interfaces/ │ │ │ │ │ │ └── TweeterActivityMVPCIPview.java │ │ │ │ │ └── models/ │ │ │ │ │ └── UserProfile.java │ │ │ │ ├── MVVM/ │ │ │ │ │ ├── MainViewmodel.java │ │ │ │ │ ├── TweeterActivityMVVM.java │ │ │ │ │ └── base/ │ │ │ │ │ ├── BaseViewModel.java │ │ │ │ │ └── BaseViewModelActivity.java │ │ │ │ ├── PlainTweeterActivity.java │ │ │ │ └── RouterActivity.java │ │ │ └── util/ │ │ │ ├── Constants.java │ │ │ ├── LoadingFragment.java │ │ │ └── utility.java │ │ └── res/ │ │ ├── layout/ │ │ │ ├── activity_main.xml │ │ │ ├── activity_router.xml │ │ │ └── fragment_progress.xml │ │ ├── menu/ │ │ │ └── menu_main.xml │ │ ├── values/ │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── values-w820dp/ │ │ └── dimens.xml │ └── test/ │ └── java/ │ ├── dagger/ │ │ ├── TestClassInjector.java │ │ └── mockmodules/ │ │ ├── MockLocalModule.java │ │ ├── MockNetworkModule.java │ │ ├── MockTestModule.java │ │ └── MockThreadingModule.java │ ├── helper/ │ │ └── TestHelper.java │ ├── mockimpl/ │ │ ├── MockLocalDataCache.java │ │ ├── MockMVPCIPview.java │ │ ├── MockOkHTTP.java │ │ ├── MockRetrofit.java │ │ ├── MockTweeterActivityPview.java │ │ └── MockTweeterApi.java │ └── tests/ │ ├── MVPCITest.java │ ├── MVPTest.java │ └── MVVMTest.java ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle