├── .gitignore ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── br │ │ │ └── com │ │ │ └── mgalhardo │ │ │ └── guidebook │ │ │ ├── MainApplication.java │ │ │ ├── dagger │ │ │ ├── MainComponent.java │ │ │ ├── UiComponent.java │ │ │ ├── module │ │ │ │ ├── ApplicationModule.java │ │ │ │ ├── PreferenceModule.java │ │ │ │ ├── SettingModule.java │ │ │ │ ├── domain │ │ │ │ │ └── RepositoryModule.java │ │ │ │ ├── infraestruture │ │ │ │ │ ├── ManagerModule.java │ │ │ │ │ ├── NetworkModule.java │ │ │ │ │ ├── RxJavaModule.java │ │ │ │ │ └── ServiceModule.java │ │ │ │ └── presentation │ │ │ │ │ └── PresenterModule.java │ │ │ └── scope │ │ │ │ └── PerActivity.java │ │ │ ├── domain │ │ │ ├── aggregation │ │ │ │ └── GuideAggregation.java │ │ │ ├── entity │ │ │ │ ├── Guide.java │ │ │ │ └── Venue.java │ │ │ └── repository │ │ │ │ └── GuideRepository.java │ │ │ ├── infraestruture │ │ │ ├── operator │ │ │ │ └── WorkerOperator.java │ │ │ └── storage │ │ │ │ ├── client │ │ │ │ ├── GuideCache.java │ │ │ │ └── GuideService.java │ │ │ │ └── manager │ │ │ │ └── GuideManager.java │ │ │ └── presentation │ │ │ ├── base │ │ │ ├── BaseActivity.java │ │ │ └── BaseFragment.java │ │ │ └── ui │ │ │ └── guidelist │ │ │ ├── GuideListActivity.java │ │ │ ├── GuideListAdapter.java │ │ │ ├── GuideListContract.java │ │ │ └── GuideListPresenter.java │ └── res │ │ ├── drawable │ │ ├── img_download.png │ │ ├── img_error.png │ │ └── img_icon_example.png │ │ ├── layout │ │ ├── activity_home.xml │ │ ├── include_empty_container.xml │ │ ├── include_error_container.xml │ │ ├── include_loading_container.xml │ │ └── item_guide.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ ├── java │ └── br │ │ └── com │ │ └── mgalhardo │ │ └── guidebook │ │ ├── ui │ │ └── guidelist │ │ │ └── GuideListPresenterTest.java │ │ └── util │ │ ├── IOUtils.java │ │ └── RxSchedulersOverrideRule.java │ └── resources │ └── upcoming-guides.json ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── images ├── app.png ├── architecture.png ├── mvp.png └── repository_pattern.png └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/.gitignore -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/MainApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/MainApplication.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/dagger/MainComponent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/dagger/MainComponent.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/dagger/UiComponent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/dagger/UiComponent.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/ApplicationModule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/ApplicationModule.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/PreferenceModule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/PreferenceModule.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/SettingModule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/SettingModule.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/domain/RepositoryModule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/domain/RepositoryModule.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/infraestruture/ManagerModule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/infraestruture/ManagerModule.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/infraestruture/NetworkModule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/infraestruture/NetworkModule.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/infraestruture/RxJavaModule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/infraestruture/RxJavaModule.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/infraestruture/ServiceModule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/infraestruture/ServiceModule.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/presentation/PresenterModule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/dagger/module/presentation/PresenterModule.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/dagger/scope/PerActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/dagger/scope/PerActivity.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/domain/aggregation/GuideAggregation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/domain/aggregation/GuideAggregation.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/domain/entity/Guide.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/domain/entity/Guide.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/domain/entity/Venue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/domain/entity/Venue.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/domain/repository/GuideRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/domain/repository/GuideRepository.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/infraestruture/operator/WorkerOperator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/infraestruture/operator/WorkerOperator.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/infraestruture/storage/client/GuideCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/infraestruture/storage/client/GuideCache.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/infraestruture/storage/client/GuideService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/infraestruture/storage/client/GuideService.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/infraestruture/storage/manager/GuideManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/infraestruture/storage/manager/GuideManager.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/presentation/base/BaseActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/presentation/base/BaseActivity.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/presentation/base/BaseFragment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/presentation/base/BaseFragment.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/presentation/ui/guidelist/GuideListActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/presentation/ui/guidelist/GuideListActivity.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/presentation/ui/guidelist/GuideListAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/presentation/ui/guidelist/GuideListAdapter.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/presentation/ui/guidelist/GuideListContract.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/presentation/ui/guidelist/GuideListContract.java -------------------------------------------------------------------------------- /app/src/main/java/br/com/mgalhardo/guidebook/presentation/ui/guidelist/GuideListPresenter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/java/br/com/mgalhardo/guidebook/presentation/ui/guidelist/GuideListPresenter.java -------------------------------------------------------------------------------- /app/src/main/res/drawable/img_download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/drawable/img_download.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/img_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/drawable/img_error.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/img_icon_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/drawable/img_icon_example.png -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_home.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/layout/activity_home.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/include_empty_container.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/layout/include_empty_container.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/include_error_container.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/layout/include_error_container.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/include_loading_container.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/layout/include_loading_container.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_guide.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/layout/item_guide.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /app/src/test/java/br/com/mgalhardo/guidebook/ui/guidelist/GuideListPresenterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/test/java/br/com/mgalhardo/guidebook/ui/guidelist/GuideListPresenterTest.java -------------------------------------------------------------------------------- /app/src/test/java/br/com/mgalhardo/guidebook/util/IOUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/test/java/br/com/mgalhardo/guidebook/util/IOUtils.java -------------------------------------------------------------------------------- /app/src/test/java/br/com/mgalhardo/guidebook/util/RxSchedulersOverrideRule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/test/java/br/com/mgalhardo/guidebook/util/RxSchedulersOverrideRule.java -------------------------------------------------------------------------------- /app/src/test/resources/upcoming-guides.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/app/src/test/resources/upcoming-guides.json -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/gradlew.bat -------------------------------------------------------------------------------- /images/app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/images/app.png -------------------------------------------------------------------------------- /images/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/images/architecture.png -------------------------------------------------------------------------------- /images/mvp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/images/mvp.png -------------------------------------------------------------------------------- /images/repository_pattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcellogalhardo/android-challenge/HEAD/images/repository_pattern.png -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | --------------------------------------------------------------------------------