├── .gitignore ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── ryanair │ │ │ └── cheapflights │ │ │ ├── CheapFlightsApplication.java │ │ │ ├── di │ │ │ ├── FlightInfoResultsModule.java │ │ │ └── FlightInfoSearchModule.java │ │ │ └── ui │ │ │ ├── BaseActivity.java │ │ │ ├── Extras.java │ │ │ └── flightinformation │ │ │ ├── FlightInfoResultsActivity.java │ │ │ ├── FlightInfoResultsAdapter.java │ │ │ └── FlightInfoSearchActivity.java │ └── res │ │ ├── drawable-hdpi │ │ ├── drawer_shadow.9.png │ │ └── ic_drawer.png │ │ ├── drawable-mdpi │ │ ├── drawer_shadow.9.png │ │ └── ic_drawer.png │ │ ├── drawable-xhdpi │ │ ├── drawer_shadow.9.png │ │ └── ic_drawer.png │ │ ├── drawable-xxhdpi │ │ ├── drawer_shadow.9.png │ │ └── ic_drawer.png │ │ ├── layout │ │ ├── activity_flight_info_results.xml │ │ ├── activity_flight_info_search.xml │ │ ├── activity_main.xml │ │ └── item_flight_info.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── ryanair │ └── cheapflights │ ├── domain │ └── command │ │ └── GetFlightInfoTest.java │ └── util │ └── ObservableUtil.java ├── config ├── quality.gradle └── quality │ └── checkstyle │ └── checkstyle.xml ├── data ├── .gitignore ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── ryanair │ └── cheapflights │ └── data │ └── api │ └── dotRez │ ├── Api.java │ ├── model │ └── flightinformation │ │ ├── FlightInfoRequest.java │ │ └── FlightInfoResponse.java │ └── service │ └── FlightInfoService.java ├── domain ├── .gitignore ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── ryanair │ └── cheapflights │ └── domain │ └── command │ └── GetFlightInfo.java ├── entity ├── .gitignore ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── ryanair │ └── cheapflights │ └── entity │ ├── Airport.java │ └── FlightInfo.java ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── presentation ├── .gitignore ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── ryanair │ └── cheapflights │ └── presentation │ ├── presenter │ ├── FlightInfoResultsPresenter.java │ ├── FlightInfoSearchPresenter.java │ └── Presenter.java │ └── view │ ├── FlightInfoResultsView.java │ └── FlightInfoSearchView.java ├── repository ├── .gitignore ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── ryanair │ └── cheapflights │ └── repository │ └── FlightInfoRepository.java └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | *.iml -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/com/ryanair/cheapflights/CheapFlightsApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/java/com/ryanair/cheapflights/CheapFlightsApplication.java -------------------------------------------------------------------------------- /app/src/main/java/com/ryanair/cheapflights/di/FlightInfoResultsModule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/java/com/ryanair/cheapflights/di/FlightInfoResultsModule.java -------------------------------------------------------------------------------- /app/src/main/java/com/ryanair/cheapflights/di/FlightInfoSearchModule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/java/com/ryanair/cheapflights/di/FlightInfoSearchModule.java -------------------------------------------------------------------------------- /app/src/main/java/com/ryanair/cheapflights/ui/BaseActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/java/com/ryanair/cheapflights/ui/BaseActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/ryanair/cheapflights/ui/Extras.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/java/com/ryanair/cheapflights/ui/Extras.java -------------------------------------------------------------------------------- /app/src/main/java/com/ryanair/cheapflights/ui/flightinformation/FlightInfoResultsActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/java/com/ryanair/cheapflights/ui/flightinformation/FlightInfoResultsActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/ryanair/cheapflights/ui/flightinformation/FlightInfoResultsAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/java/com/ryanair/cheapflights/ui/flightinformation/FlightInfoResultsAdapter.java -------------------------------------------------------------------------------- /app/src/main/java/com/ryanair/cheapflights/ui/flightinformation/FlightInfoSearchActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/java/com/ryanair/cheapflights/ui/flightinformation/FlightInfoSearchActivity.java -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/drawer_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/drawable-hdpi/drawer_shadow.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/drawable-hdpi/ic_drawer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/drawer_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/drawable-mdpi/drawer_shadow.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/drawable-mdpi/ic_drawer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/drawer_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/drawable-xhdpi/drawer_shadow.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/drawable-xhdpi/ic_drawer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/drawable-xxhdpi/ic_drawer.png -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_flight_info_results.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/layout/activity_flight_info_results.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_flight_info_search.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/layout/activity_flight_info_search.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/layout/activity_main.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_flight_info.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/layout/item_flight_info.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/values-w820dp/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /app/src/test/java/com/ryanair/cheapflights/domain/command/GetFlightInfoTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/test/java/com/ryanair/cheapflights/domain/command/GetFlightInfoTest.java -------------------------------------------------------------------------------- /app/src/test/java/com/ryanair/cheapflights/util/ObservableUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/app/src/test/java/com/ryanair/cheapflights/util/ObservableUtil.java -------------------------------------------------------------------------------- /config/quality.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/config/quality.gradle -------------------------------------------------------------------------------- /config/quality/checkstyle/checkstyle.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/config/quality/checkstyle/checkstyle.xml -------------------------------------------------------------------------------- /data/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | *.iml 3 | -------------------------------------------------------------------------------- /data/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/data/build.gradle -------------------------------------------------------------------------------- /data/src/main/java/com/ryanair/cheapflights/data/api/dotRez/Api.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/data/src/main/java/com/ryanair/cheapflights/data/api/dotRez/Api.java -------------------------------------------------------------------------------- /data/src/main/java/com/ryanair/cheapflights/data/api/dotRez/model/flightinformation/FlightInfoRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/data/src/main/java/com/ryanair/cheapflights/data/api/dotRez/model/flightinformation/FlightInfoRequest.java -------------------------------------------------------------------------------- /data/src/main/java/com/ryanair/cheapflights/data/api/dotRez/model/flightinformation/FlightInfoResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/data/src/main/java/com/ryanair/cheapflights/data/api/dotRez/model/flightinformation/FlightInfoResponse.java -------------------------------------------------------------------------------- /data/src/main/java/com/ryanair/cheapflights/data/api/dotRez/service/FlightInfoService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/data/src/main/java/com/ryanair/cheapflights/data/api/dotRez/service/FlightInfoService.java -------------------------------------------------------------------------------- /domain/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | *.iml -------------------------------------------------------------------------------- /domain/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/domain/build.gradle -------------------------------------------------------------------------------- /domain/src/main/java/com/ryanair/cheapflights/domain/command/GetFlightInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/domain/src/main/java/com/ryanair/cheapflights/domain/command/GetFlightInfo.java -------------------------------------------------------------------------------- /entity/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /entity/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/entity/build.gradle -------------------------------------------------------------------------------- /entity/src/main/java/com/ryanair/cheapflights/entity/Airport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/entity/src/main/java/com/ryanair/cheapflights/entity/Airport.java -------------------------------------------------------------------------------- /entity/src/main/java/com/ryanair/cheapflights/entity/FlightInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/entity/src/main/java/com/ryanair/cheapflights/entity/FlightInfo.java -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/gradlew.bat -------------------------------------------------------------------------------- /presentation/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | *.iml 3 | -------------------------------------------------------------------------------- /presentation/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/presentation/build.gradle -------------------------------------------------------------------------------- /presentation/src/main/java/com/ryanair/cheapflights/presentation/presenter/FlightInfoResultsPresenter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/presentation/src/main/java/com/ryanair/cheapflights/presentation/presenter/FlightInfoResultsPresenter.java -------------------------------------------------------------------------------- /presentation/src/main/java/com/ryanair/cheapflights/presentation/presenter/FlightInfoSearchPresenter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/presentation/src/main/java/com/ryanair/cheapflights/presentation/presenter/FlightInfoSearchPresenter.java -------------------------------------------------------------------------------- /presentation/src/main/java/com/ryanair/cheapflights/presentation/presenter/Presenter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/presentation/src/main/java/com/ryanair/cheapflights/presentation/presenter/Presenter.java -------------------------------------------------------------------------------- /presentation/src/main/java/com/ryanair/cheapflights/presentation/view/FlightInfoResultsView.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/presentation/src/main/java/com/ryanair/cheapflights/presentation/view/FlightInfoResultsView.java -------------------------------------------------------------------------------- /presentation/src/main/java/com/ryanair/cheapflights/presentation/view/FlightInfoSearchView.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/presentation/src/main/java/com/ryanair/cheapflights/presentation/view/FlightInfoSearchView.java -------------------------------------------------------------------------------- /repository/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /repository/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/repository/build.gradle -------------------------------------------------------------------------------- /repository/src/main/java/com/ryanair/cheapflights/repository/FlightInfoRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/repository/src/main/java/com/ryanair/cheapflights/repository/FlightInfoRepository.java -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ryanair/android-layered-architecture-example/HEAD/settings.gradle --------------------------------------------------------------------------------