├── .gitignore ├── .idea ├── encodings.xml ├── misc.xml ├── modules.xml ├── runConfigurations.xml └── vcs.xml ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── antonicastejon │ │ └── cryptodata │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── antonicastejon │ │ │ └── cryptodata │ │ │ ├── CryptoApplication.kt │ │ │ ├── common │ │ │ ├── ActivityUtils.kt │ │ │ └── NumberUtils.kt │ │ │ ├── di │ │ │ ├── ApplicationComponent.kt │ │ │ ├── ApplicationModule.kt │ │ │ ├── DaggerViewModelFactory.kt │ │ │ ├── NetModule.kt │ │ │ ├── RepositoryModule.kt │ │ │ ├── UseCasesModule.kt │ │ │ ├── ViewModelFactoryModule.kt │ │ │ └── ViewModelModule.kt │ │ │ ├── domain │ │ │ ├── CryptoListInteractor.kt │ │ │ └── CryptoListUseCases.kt │ │ │ ├── model │ │ │ ├── CoinMarketCapApi.kt │ │ │ ├── CoinMarketCapDownloader.kt │ │ │ └── CoinMarketCapRepository.kt │ │ │ └── presentation │ │ │ ├── common │ │ │ └── CryptoListRecyclerAdapter.kt │ │ │ ├── main │ │ │ ├── MainActivity.kt │ │ │ ├── crypto_list │ │ │ │ ├── CryptoListFragment.kt │ │ │ │ ├── CryptoListFragmentDI.kt │ │ │ │ ├── CryptoListState.kt │ │ │ │ └── CryptoListViewModel.kt │ │ │ └── di │ │ │ │ ├── MainActivityModule.kt │ │ │ │ └── MainActivitySubcomponent.kt │ │ │ └── widgets │ │ │ └── paginatedRecyclerView │ │ │ ├── PaginationAdapter.kt │ │ │ └── PaginationScrollListener.kt │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── crypto_list_fragment.xml │ │ ├── crypto_list_item.xml │ │ └── list_loading_footer_item.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── antonicastejon │ └── cryptodata │ ├── ExampleUnitTest.kt │ ├── common │ ├── CryptoListMockObjects.kt │ ├── MockitoUtils.kt │ └── SchedulerImmediate.kt │ ├── use_cases │ └── CryptoListUseCasesUnitTest.kt │ └── viewmodels │ └── CryptoListUnitTest.kt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/.idea/encodings.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/.idea/modules.xml -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/.idea/runConfigurations.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/androidTest/java/com/antonicastejon/cryptodata/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/androidTest/java/com/antonicastejon/cryptodata/ExampleInstrumentedTest.kt -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/CryptoApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/CryptoApplication.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/common/ActivityUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/common/ActivityUtils.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/common/NumberUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/common/NumberUtils.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/di/ApplicationComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/di/ApplicationComponent.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/di/ApplicationModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/di/ApplicationModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/di/DaggerViewModelFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/di/DaggerViewModelFactory.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/di/NetModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/di/NetModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/di/RepositoryModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/di/RepositoryModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/di/UseCasesModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/di/UseCasesModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/di/ViewModelFactoryModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/di/ViewModelFactoryModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/di/ViewModelModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/di/ViewModelModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/domain/CryptoListInteractor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/domain/CryptoListInteractor.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/domain/CryptoListUseCases.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/domain/CryptoListUseCases.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/model/CoinMarketCapApi.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/model/CoinMarketCapApi.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/model/CoinMarketCapDownloader.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/model/CoinMarketCapDownloader.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/model/CoinMarketCapRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/model/CoinMarketCapRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/presentation/common/CryptoListRecyclerAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/presentation/common/CryptoListRecyclerAdapter.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/presentation/main/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/presentation/main/MainActivity.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/presentation/main/crypto_list/CryptoListFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/presentation/main/crypto_list/CryptoListFragment.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/presentation/main/crypto_list/CryptoListFragmentDI.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/presentation/main/crypto_list/CryptoListFragmentDI.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/presentation/main/crypto_list/CryptoListState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/presentation/main/crypto_list/CryptoListState.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/presentation/main/crypto_list/CryptoListViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/presentation/main/crypto_list/CryptoListViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/presentation/main/di/MainActivityModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/presentation/main/di/MainActivityModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/presentation/main/di/MainActivitySubcomponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/presentation/main/di/MainActivitySubcomponent.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/presentation/widgets/paginatedRecyclerView/PaginationAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/presentation/widgets/paginatedRecyclerView/PaginationAdapter.kt -------------------------------------------------------------------------------- /app/src/main/java/com/antonicastejon/cryptodata/presentation/widgets/paginatedRecyclerView/PaginationScrollListener.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/java/com/antonicastejon/cryptodata/presentation/widgets/paginatedRecyclerView/PaginationScrollListener.kt -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/layout/activity_main.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/crypto_list_fragment.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/layout/crypto_list_fragment.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/crypto_list_item.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/layout/crypto_list_item.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/list_loading_footer_item.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/layout/list_loading_footer_item.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/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/antonicg/cryptodata/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/antonicg/cryptodata/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /app/src/test/java/com/antonicastejon/cryptodata/ExampleUnitTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/test/java/com/antonicastejon/cryptodata/ExampleUnitTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/antonicastejon/cryptodata/common/CryptoListMockObjects.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/test/java/com/antonicastejon/cryptodata/common/CryptoListMockObjects.kt -------------------------------------------------------------------------------- /app/src/test/java/com/antonicastejon/cryptodata/common/MockitoUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/test/java/com/antonicastejon/cryptodata/common/MockitoUtils.kt -------------------------------------------------------------------------------- /app/src/test/java/com/antonicastejon/cryptodata/common/SchedulerImmediate.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/test/java/com/antonicastejon/cryptodata/common/SchedulerImmediate.kt -------------------------------------------------------------------------------- /app/src/test/java/com/antonicastejon/cryptodata/use_cases/CryptoListUseCasesUnitTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/test/java/com/antonicastejon/cryptodata/use_cases/CryptoListUseCasesUnitTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/antonicastejon/cryptodata/viewmodels/CryptoListUnitTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/app/src/test/java/com/antonicastejon/cryptodata/viewmodels/CryptoListUnitTest.kt -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonicg/cryptodata/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | --------------------------------------------------------------------------------