├── .gitignore ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── ronnie │ │ └── payback_pixabay │ │ └── ImageListFragmentTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── ronnie │ │ │ └── payback_pixabay │ │ │ └── ImageApp.kt │ └── res │ │ ├── drawable │ │ ├── ic_image.xml │ │ └── splash_image.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_adaptive_back.png │ │ ├── ic_launcher_adaptive_fore.png │ │ ├── ic_launcher_round.png │ │ ├── ic_launcher_round_adaptive_back.png │ │ └── ic_launcher_round_adaptive_fore.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_adaptive_back.png │ │ ├── ic_launcher_adaptive_fore.png │ │ ├── ic_launcher_round.png │ │ ├── ic_launcher_round_adaptive_back.png │ │ └── ic_launcher_round_adaptive_fore.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_adaptive_back.png │ │ ├── ic_launcher_adaptive_fore.png │ │ ├── ic_launcher_round.png │ │ ├── ic_launcher_round_adaptive_back.png │ │ └── ic_launcher_round_adaptive_fore.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_adaptive_back.png │ │ ├── ic_launcher_adaptive_fore.png │ │ ├── ic_launcher_round.png │ │ ├── ic_launcher_round_adaptive_back.png │ │ └── ic_launcher_round_adaptive_fore.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_adaptive_back.png │ │ ├── ic_launcher_adaptive_fore.png │ │ ├── ic_launcher_round.png │ │ ├── ic_launcher_round_adaptive_back.png │ │ └── ic_launcher_round_adaptive_fore.png │ │ ├── values-v31 │ │ └── themes.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── themes.xml │ └── test │ └── java │ └── com │ └── ronnie │ └── payback_pixabay │ └── ExampleUnitTest.kt ├── commons ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── ronnie │ └── commons │ └── Constants.kt ├── data ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── ronnie │ │ └── data │ │ └── RoomDBTest.kt │ └── main │ ├── AndroidManifest.xml │ ├── assets │ └── response.json │ ├── java │ └── com │ │ └── ronnie │ │ └── data │ │ ├── api │ │ └── PixaBayApi.kt │ │ ├── dao │ │ ├── ImageDao.kt │ │ └── RemoteKeyDao.kt │ │ ├── db │ │ └── PixaBayRoomDb.kt │ │ ├── di │ │ └── DataModule.kt │ │ ├── mappers │ │ └── DataLayerMappers.kt │ │ ├── mediator │ │ └── PixaBayRemoteMediator.kt │ │ ├── models │ │ ├── dtos │ │ │ ├── ImageDto.kt │ │ │ └── ImageResponseDto.kt │ │ └── entities │ │ │ ├── ImagesEntity.kt │ │ │ └── RemoteKey.kt │ │ └── repository │ │ └── SearchImagesRepositoryImpl.kt │ └── res │ └── values │ └── strings.xml ├── domain ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── ronnie │ └── domain │ ├── di │ └── DomainModule.kt │ ├── models │ └── Image.kt │ ├── repositories │ └── SearchImagesRepository.kt │ └── usecases │ └── SearchUseCase.kt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── presentation ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── ronnie │ │ └── presenatation │ │ ├── MainImageActivity.kt │ │ ├── adapters │ │ ├── ImagesAdapter.kt │ │ └── LoadingStateAdapter.kt │ │ ├── dialogs │ │ └── ConfirmDialogFragment.kt │ │ ├── fragments │ │ ├── ImageDetailFragment.kt │ │ └── ImagesListFragment.kt │ │ ├── mappers │ │ └── Mappers.kt │ │ ├── model │ │ └── ImagePresentation.kt │ │ ├── utils │ │ ├── Constants.kt │ │ ├── DataBinder.kt │ │ ├── Extensions.kt │ │ ├── ImageDiffCallback.kt │ │ └── ItemOffsetDecoration.kt │ │ └── viewmodel │ │ └── MainViewModel.kt │ └── res │ ├── anim │ ├── slide_down.xml │ ├── slide_in_left.xml │ ├── slide_in_right.xml │ ├── slide_out_left.xml │ ├── slide_out_right.xml │ └── slide_up.xml │ ├── drawable │ ├── fruit.jpeg │ ├── ic_close.xml │ ├── ic_comment.xml │ ├── ic_download.xml │ ├── ic_favorite.xml │ ├── ic_info.xml │ ├── ic_search.xml │ ├── oops.png │ └── rounded_corner_background.xml │ ├── layout-land │ ├── activity_main.xml │ └── fragment_image_details.xml │ ├── layout-sw600dp │ └── image_item.xml │ ├── layout │ ├── activity_main.xml │ ├── fragment_confirm_dialog.xml │ ├── fragment_image_details.xml │ ├── fragment_image_list.xml │ ├── image_item.xml │ └── network_state_item.xml │ ├── navigation │ └── nav_graph.xml │ └── values │ ├── colors.xml │ ├── dimens.xml │ ├── strings.xml │ └── themes.xml ├── screenshots ├── arch.png ├── details.png ├── dialog.png ├── empty.png ├── error.png ├── error_paging.png ├── home.png ├── tab1.png └── tab2.png └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/androidTest/java/com/ronnie/payback_pixabay/ImageListFragmentTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/androidTest/java/com/ronnie/payback_pixabay/ImageListFragmentTest.kt -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/com/ronnie/payback_pixabay/ImageApp.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/java/com/ronnie/payback_pixabay/ImageApp.kt -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_image.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/drawable/ic_image.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/splash_image.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/drawable/splash_image.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round_adaptive_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round_adaptive_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round_adaptive_fore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round_adaptive_fore.png -------------------------------------------------------------------------------- /app/src/main/res/values-v31/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/values-v31/themes.xml -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /app/src/test/java/com/ronnie/payback_pixabay/ExampleUnitTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/app/src/test/java/com/ronnie/payback_pixabay/ExampleUnitTest.kt -------------------------------------------------------------------------------- /commons/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /commons/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/commons/build.gradle -------------------------------------------------------------------------------- /commons/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /commons/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/commons/proguard-rules.pro -------------------------------------------------------------------------------- /commons/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/commons/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /commons/src/main/java/com/ronnie/commons/Constants.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/commons/src/main/java/com/ronnie/commons/Constants.kt -------------------------------------------------------------------------------- /data/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /data/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/build.gradle -------------------------------------------------------------------------------- /data/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/proguard-rules.pro -------------------------------------------------------------------------------- /data/src/androidTest/java/com/ronnie/data/RoomDBTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/androidTest/java/com/ronnie/data/RoomDBTest.kt -------------------------------------------------------------------------------- /data/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /data/src/main/assets/response.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/assets/response.json -------------------------------------------------------------------------------- /data/src/main/java/com/ronnie/data/api/PixaBayApi.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/java/com/ronnie/data/api/PixaBayApi.kt -------------------------------------------------------------------------------- /data/src/main/java/com/ronnie/data/dao/ImageDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/java/com/ronnie/data/dao/ImageDao.kt -------------------------------------------------------------------------------- /data/src/main/java/com/ronnie/data/dao/RemoteKeyDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/java/com/ronnie/data/dao/RemoteKeyDao.kt -------------------------------------------------------------------------------- /data/src/main/java/com/ronnie/data/db/PixaBayRoomDb.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/java/com/ronnie/data/db/PixaBayRoomDb.kt -------------------------------------------------------------------------------- /data/src/main/java/com/ronnie/data/di/DataModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/java/com/ronnie/data/di/DataModule.kt -------------------------------------------------------------------------------- /data/src/main/java/com/ronnie/data/mappers/DataLayerMappers.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/java/com/ronnie/data/mappers/DataLayerMappers.kt -------------------------------------------------------------------------------- /data/src/main/java/com/ronnie/data/mediator/PixaBayRemoteMediator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/java/com/ronnie/data/mediator/PixaBayRemoteMediator.kt -------------------------------------------------------------------------------- /data/src/main/java/com/ronnie/data/models/dtos/ImageDto.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/java/com/ronnie/data/models/dtos/ImageDto.kt -------------------------------------------------------------------------------- /data/src/main/java/com/ronnie/data/models/dtos/ImageResponseDto.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/java/com/ronnie/data/models/dtos/ImageResponseDto.kt -------------------------------------------------------------------------------- /data/src/main/java/com/ronnie/data/models/entities/ImagesEntity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/java/com/ronnie/data/models/entities/ImagesEntity.kt -------------------------------------------------------------------------------- /data/src/main/java/com/ronnie/data/models/entities/RemoteKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/java/com/ronnie/data/models/entities/RemoteKey.kt -------------------------------------------------------------------------------- /data/src/main/java/com/ronnie/data/repository/SearchImagesRepositoryImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/java/com/ronnie/data/repository/SearchImagesRepositoryImpl.kt -------------------------------------------------------------------------------- /data/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/data/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /domain/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /domain/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/domain/build.gradle -------------------------------------------------------------------------------- /domain/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /domain/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/domain/proguard-rules.pro -------------------------------------------------------------------------------- /domain/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/domain/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /domain/src/main/java/com/ronnie/domain/di/DomainModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/domain/src/main/java/com/ronnie/domain/di/DomainModule.kt -------------------------------------------------------------------------------- /domain/src/main/java/com/ronnie/domain/models/Image.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/domain/src/main/java/com/ronnie/domain/models/Image.kt -------------------------------------------------------------------------------- /domain/src/main/java/com/ronnie/domain/repositories/SearchImagesRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/domain/src/main/java/com/ronnie/domain/repositories/SearchImagesRepository.kt -------------------------------------------------------------------------------- /domain/src/main/java/com/ronnie/domain/usecases/SearchUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/domain/src/main/java/com/ronnie/domain/usecases/SearchUseCase.kt -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/gradlew.bat -------------------------------------------------------------------------------- /presentation/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /presentation/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/build.gradle -------------------------------------------------------------------------------- /presentation/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /presentation/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/proguard-rules.pro -------------------------------------------------------------------------------- /presentation/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/MainImageActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/MainImageActivity.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/adapters/ImagesAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/adapters/ImagesAdapter.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/adapters/LoadingStateAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/adapters/LoadingStateAdapter.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/dialogs/ConfirmDialogFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/dialogs/ConfirmDialogFragment.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/fragments/ImageDetailFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/fragments/ImageDetailFragment.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/fragments/ImagesListFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/fragments/ImagesListFragment.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/mappers/Mappers.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/mappers/Mappers.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/model/ImagePresentation.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/model/ImagePresentation.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/utils/Constants.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/utils/Constants.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/utils/DataBinder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/utils/DataBinder.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/utils/Extensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/utils/Extensions.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/utils/ImageDiffCallback.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/utils/ImageDiffCallback.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/utils/ItemOffsetDecoration.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/utils/ItemOffsetDecoration.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ronnie/presenatation/viewmodel/MainViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/java/com/ronnie/presenatation/viewmodel/MainViewModel.kt -------------------------------------------------------------------------------- /presentation/src/main/res/anim/slide_down.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/anim/slide_down.xml -------------------------------------------------------------------------------- /presentation/src/main/res/anim/slide_in_left.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/anim/slide_in_left.xml -------------------------------------------------------------------------------- /presentation/src/main/res/anim/slide_in_right.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/anim/slide_in_right.xml -------------------------------------------------------------------------------- /presentation/src/main/res/anim/slide_out_left.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/anim/slide_out_left.xml -------------------------------------------------------------------------------- /presentation/src/main/res/anim/slide_out_right.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/anim/slide_out_right.xml -------------------------------------------------------------------------------- /presentation/src/main/res/anim/slide_up.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/anim/slide_up.xml -------------------------------------------------------------------------------- /presentation/src/main/res/drawable/fruit.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/drawable/fruit.jpeg -------------------------------------------------------------------------------- /presentation/src/main/res/drawable/ic_close.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/drawable/ic_close.xml -------------------------------------------------------------------------------- /presentation/src/main/res/drawable/ic_comment.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/drawable/ic_comment.xml -------------------------------------------------------------------------------- /presentation/src/main/res/drawable/ic_download.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/drawable/ic_download.xml -------------------------------------------------------------------------------- /presentation/src/main/res/drawable/ic_favorite.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/drawable/ic_favorite.xml -------------------------------------------------------------------------------- /presentation/src/main/res/drawable/ic_info.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/drawable/ic_info.xml -------------------------------------------------------------------------------- /presentation/src/main/res/drawable/ic_search.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/drawable/ic_search.xml -------------------------------------------------------------------------------- /presentation/src/main/res/drawable/oops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/drawable/oops.png -------------------------------------------------------------------------------- /presentation/src/main/res/drawable/rounded_corner_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/drawable/rounded_corner_background.xml -------------------------------------------------------------------------------- /presentation/src/main/res/layout-land/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/layout-land/activity_main.xml -------------------------------------------------------------------------------- /presentation/src/main/res/layout-land/fragment_image_details.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/layout-land/fragment_image_details.xml -------------------------------------------------------------------------------- /presentation/src/main/res/layout-sw600dp/image_item.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/layout-sw600dp/image_item.xml -------------------------------------------------------------------------------- /presentation/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/layout/activity_main.xml -------------------------------------------------------------------------------- /presentation/src/main/res/layout/fragment_confirm_dialog.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/layout/fragment_confirm_dialog.xml -------------------------------------------------------------------------------- /presentation/src/main/res/layout/fragment_image_details.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/layout/fragment_image_details.xml -------------------------------------------------------------------------------- /presentation/src/main/res/layout/fragment_image_list.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/layout/fragment_image_list.xml -------------------------------------------------------------------------------- /presentation/src/main/res/layout/image_item.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/layout/image_item.xml -------------------------------------------------------------------------------- /presentation/src/main/res/layout/network_state_item.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/layout/network_state_item.xml -------------------------------------------------------------------------------- /presentation/src/main/res/navigation/nav_graph.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/navigation/nav_graph.xml -------------------------------------------------------------------------------- /presentation/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /presentation/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /presentation/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /presentation/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/presentation/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /screenshots/arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/screenshots/arch.png -------------------------------------------------------------------------------- /screenshots/details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/screenshots/details.png -------------------------------------------------------------------------------- /screenshots/dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/screenshots/dialog.png -------------------------------------------------------------------------------- /screenshots/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/screenshots/empty.png -------------------------------------------------------------------------------- /screenshots/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/screenshots/error.png -------------------------------------------------------------------------------- /screenshots/error_paging.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/screenshots/error_paging.png -------------------------------------------------------------------------------- /screenshots/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/screenshots/home.png -------------------------------------------------------------------------------- /screenshots/tab1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/screenshots/tab1.png -------------------------------------------------------------------------------- /screenshots/tab2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/screenshots/tab2.png -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ronnieotieno/PixabayApi/HEAD/settings.gradle --------------------------------------------------------------------------------