gitextract_60j9_cvf/ ├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── build.gradle ├── buildsystem/ │ ├── ci.gradle │ ├── debug.keystore │ └── dependencies.gradle ├── data/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── fernandocejas/ │ │ └── android10/ │ │ └── sample/ │ │ └── data/ │ │ ├── cache/ │ │ │ ├── FileManager.java │ │ │ ├── UserCache.java │ │ │ ├── UserCacheImpl.java │ │ │ └── serializer/ │ │ │ └── Serializer.java │ │ ├── entity/ │ │ │ ├── UserEntity.java │ │ │ └── mapper/ │ │ │ ├── UserEntityDataMapper.java │ │ │ └── UserEntityJsonMapper.java │ │ ├── exception/ │ │ │ ├── NetworkConnectionException.java │ │ │ ├── RepositoryErrorBundle.java │ │ │ └── UserNotFoundException.java │ │ ├── executor/ │ │ │ └── JobExecutor.java │ │ ├── net/ │ │ │ ├── ApiConnection.java │ │ │ ├── RestApi.java │ │ │ └── RestApiImpl.java │ │ └── repository/ │ │ ├── UserDataRepository.java │ │ └── datasource/ │ │ ├── CloudUserDataStore.java │ │ ├── DiskUserDataStore.java │ │ ├── UserDataStore.java │ │ └── UserDataStoreFactory.java │ └── test/ │ └── java/ │ └── com/ │ └── fernandocejas/ │ └── android10/ │ └── sample/ │ └── data/ │ ├── ApplicationStub.java │ ├── ApplicationTestCase.java │ ├── cache/ │ │ ├── FileManagerTest.java │ │ └── serializer/ │ │ └── SerializerTest.java │ ├── entity/ │ │ └── mapper/ │ │ ├── UserEntityDataMapperTest.java │ │ └── UserEntityJsonMapperTest.java │ ├── exception/ │ │ └── RepositoryErrorBundleTest.java │ └── repository/ │ ├── UserDataRepositoryTest.java │ └── datasource/ │ ├── CloudUserDataStoreTest.java │ ├── DiskUserDataStoreTest.java │ └── UserDataStoreFactoryTest.java ├── domain/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── fernandocejas/ │ │ └── android10/ │ │ └── sample/ │ │ └── domain/ │ │ ├── User.java │ │ ├── exception/ │ │ │ ├── DefaultErrorBundle.java │ │ │ └── ErrorBundle.java │ │ ├── executor/ │ │ │ ├── PostExecutionThread.java │ │ │ └── ThreadExecutor.java │ │ ├── interactor/ │ │ │ ├── DefaultObserver.java │ │ │ ├── GetUserDetails.java │ │ │ ├── GetUserList.java │ │ │ └── UseCase.java │ │ └── repository/ │ │ └── UserRepository.java │ └── test/ │ └── java/ │ └── com/ │ └── fernandocejas/ │ └── android10/ │ └── sample/ │ └── domain/ │ ├── UserTest.java │ ├── exception/ │ │ └── DefaultErrorBundleTest.java │ └── interactor/ │ ├── GetUserDetailsTest.java │ ├── GetUserListTest.java │ └── UseCaseTest.java ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── presentation/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── fernandocejas/ │ │ └── android10/ │ │ └── sample/ │ │ └── test/ │ │ ├── exception/ │ │ │ └── ErrorMessageFactoryTest.java │ │ ├── mapper/ │ │ │ └── UserModelDataMapperTest.java │ │ ├── presenter/ │ │ │ ├── UserDetailsPresenterTest.java │ │ │ └── UserListPresenterTest.java │ │ └── view/ │ │ └── activity/ │ │ ├── UserDetailsActivityTest.java │ │ └── UserListActivityTest.java │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── fernandocejas/ │ │ └── android10/ │ │ └── sample/ │ │ └── presentation/ │ │ ├── AndroidApplication.java │ │ ├── UIThread.java │ │ ├── exception/ │ │ │ └── ErrorMessageFactory.java │ │ ├── internal/ │ │ │ └── di/ │ │ │ ├── HasComponent.java │ │ │ ├── PerActivity.java │ │ │ ├── components/ │ │ │ │ ├── ActivityComponent.java │ │ │ │ ├── ApplicationComponent.java │ │ │ │ └── UserComponent.java │ │ │ └── modules/ │ │ │ ├── ActivityModule.java │ │ │ ├── ApplicationModule.java │ │ │ └── UserModule.java │ │ ├── mapper/ │ │ │ └── UserModelDataMapper.java │ │ ├── model/ │ │ │ └── UserModel.java │ │ ├── navigation/ │ │ │ └── Navigator.java │ │ ├── presenter/ │ │ │ ├── Presenter.java │ │ │ ├── UserDetailsPresenter.java │ │ │ └── UserListPresenter.java │ │ └── view/ │ │ ├── LoadDataView.java │ │ ├── UserDetailsView.java │ │ ├── UserListView.java │ │ ├── activity/ │ │ │ ├── BaseActivity.java │ │ │ ├── MainActivity.java │ │ │ ├── UserDetailsActivity.java │ │ │ └── UserListActivity.java │ │ ├── adapter/ │ │ │ ├── UsersAdapter.java │ │ │ └── UsersLayoutManager.java │ │ ├── component/ │ │ │ └── AutoLoadImageView.java │ │ └── fragment/ │ │ ├── BaseFragment.java │ │ ├── UserDetailsFragment.java │ │ └── UserListFragment.java │ └── res/ │ ├── drawable/ │ │ └── selector_item_user.xml │ ├── layout/ │ │ ├── activity_layout.xml │ │ ├── activity_main.xml │ │ ├── fragment_user_details.xml │ │ ├── fragment_user_list.xml │ │ ├── row_user.xml │ │ ├── view_progress.xml │ │ ├── view_retry.xml │ │ └── view_user_details.xml │ └── values/ │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml └── settings.gradle