├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── app ├── build.gradle ├── screenshots │ ├── com.karumi.ui.view.MainActivityTest_doesNotShowAvengersBadgeIfASuperHeroIsNotPartOfTheAvengersTeam.png │ ├── com.karumi.ui.view.MainActivityTest_showsAvengersBadgeIfASuperHeroIsPartOfTheAvengersTeam.png │ ├── com.karumi.ui.view.MainActivityTest_showsEmptyCaseIfThereAreNoSuperHeroes.png │ ├── com.karumi.ui.view.MainActivityTest_showsJustOneSuperHero.png │ ├── com.karumi.ui.view.MainActivityTest_showsSuperHeroesIfThereAreSomeSuperHeroes.png │ ├── com.karumi.ui.view.SuperHeroDetailActivityTest_doesNotShowAvengersBadgeIfSuperHeroIsNotPartOfTheAvengersTeam.png │ ├── com.karumi.ui.view.SuperHeroDetailActivityTest_showsAvengersBadgeIfSuperHeroIsPartOfTheAvengersTeam.png │ ├── com.karumi.ui.view.SuperHeroViewHolderTest_showsAnySuperHero.png │ ├── com.karumi.ui.view.SuperHeroViewHolderTest_showsAvengersBadge.png │ ├── com.karumi.ui.view.SuperHeroViewHolderTest_showsSuperHeroesWithLongDescriptions.png │ └── com.karumi.ui.view.SuperHeroViewHolderTest_showsSuperHeroesWithLongNames.png └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── karumi │ │ ├── com.karumi.InjectedTestRunner.kt │ │ ├── mockito │ │ └── MockitoExtensions.kt │ │ └── ui │ │ └── view │ │ ├── AcceptanceTest.kt │ │ ├── MainActivityTest.kt │ │ ├── ScreenshotTest.kt │ │ ├── SuperHeroDetailActivityTest.kt │ │ └── SuperHeroViewHolderTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── karumi │ │ │ ├── SuperHeroesApplication.kt │ │ │ ├── common │ │ │ ├── TimeProviders.kt │ │ │ ├── WeakRef.kt │ │ │ └── eitherExtensions.kt │ │ │ ├── data │ │ │ └── repository │ │ │ │ ├── MemorySuperHeroDataSource.kt │ │ │ │ ├── NetworkSuperHeroDataSource.kt │ │ │ │ ├── SuperHeroDataSource.kt │ │ │ │ └── SuperHeroRepository.kt │ │ │ ├── domain │ │ │ ├── model │ │ │ │ ├── Errors.kt │ │ │ │ └── SuperHero.kt │ │ │ └── usecase │ │ │ │ ├── GetSuperHeroByName.kt │ │ │ │ └── GetSuperHeroes.kt │ │ │ └── ui │ │ │ ├── Lifecycle.kt │ │ │ ├── presenter │ │ │ ├── SuperHeroDetailPresenter.kt │ │ │ └── SuperHeroesPresenter.kt │ │ │ ├── utils │ │ │ └── PicassoUtils.kt │ │ │ └── view │ │ │ ├── BaseActivity.kt │ │ │ ├── ErrorMessages.kt │ │ │ ├── MainActivity.kt │ │ │ ├── SuperHeroDetailActivity.kt │ │ │ └── adapter │ │ │ ├── SuperHeroViewHolder.kt │ │ │ └── SuperHeroesAdapter.kt │ └── res │ │ ├── drawable │ │ └── super_hero_gradient.xml │ │ ├── layout │ │ ├── main_activity.xml │ │ ├── super_hero_detail_activity.xml │ │ └── super_hero_row.xml │ │ ├── mipmap-xxhdpi │ │ ├── ic_avengers.png │ │ └── ic_launcher.png │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── karumi │ └── data │ └── repository │ └── SuperHeroRepositoryTest.kt ├── art └── ApplicationScreencast.gif ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/README.md -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/screenshots/com.karumi.ui.view.MainActivityTest_doesNotShowAvengersBadgeIfASuperHeroIsNotPartOfTheAvengersTeam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/screenshots/com.karumi.ui.view.MainActivityTest_doesNotShowAvengersBadgeIfASuperHeroIsNotPartOfTheAvengersTeam.png -------------------------------------------------------------------------------- /app/screenshots/com.karumi.ui.view.MainActivityTest_showsAvengersBadgeIfASuperHeroIsPartOfTheAvengersTeam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/screenshots/com.karumi.ui.view.MainActivityTest_showsAvengersBadgeIfASuperHeroIsPartOfTheAvengersTeam.png -------------------------------------------------------------------------------- /app/screenshots/com.karumi.ui.view.MainActivityTest_showsEmptyCaseIfThereAreNoSuperHeroes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/screenshots/com.karumi.ui.view.MainActivityTest_showsEmptyCaseIfThereAreNoSuperHeroes.png -------------------------------------------------------------------------------- /app/screenshots/com.karumi.ui.view.MainActivityTest_showsJustOneSuperHero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/screenshots/com.karumi.ui.view.MainActivityTest_showsJustOneSuperHero.png -------------------------------------------------------------------------------- /app/screenshots/com.karumi.ui.view.MainActivityTest_showsSuperHeroesIfThereAreSomeSuperHeroes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/screenshots/com.karumi.ui.view.MainActivityTest_showsSuperHeroesIfThereAreSomeSuperHeroes.png -------------------------------------------------------------------------------- /app/screenshots/com.karumi.ui.view.SuperHeroDetailActivityTest_doesNotShowAvengersBadgeIfSuperHeroIsNotPartOfTheAvengersTeam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/screenshots/com.karumi.ui.view.SuperHeroDetailActivityTest_doesNotShowAvengersBadgeIfSuperHeroIsNotPartOfTheAvengersTeam.png -------------------------------------------------------------------------------- /app/screenshots/com.karumi.ui.view.SuperHeroDetailActivityTest_showsAvengersBadgeIfSuperHeroIsPartOfTheAvengersTeam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/screenshots/com.karumi.ui.view.SuperHeroDetailActivityTest_showsAvengersBadgeIfSuperHeroIsPartOfTheAvengersTeam.png -------------------------------------------------------------------------------- /app/screenshots/com.karumi.ui.view.SuperHeroViewHolderTest_showsAnySuperHero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/screenshots/com.karumi.ui.view.SuperHeroViewHolderTest_showsAnySuperHero.png -------------------------------------------------------------------------------- /app/screenshots/com.karumi.ui.view.SuperHeroViewHolderTest_showsAvengersBadge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/screenshots/com.karumi.ui.view.SuperHeroViewHolderTest_showsAvengersBadge.png -------------------------------------------------------------------------------- /app/screenshots/com.karumi.ui.view.SuperHeroViewHolderTest_showsSuperHeroesWithLongDescriptions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/screenshots/com.karumi.ui.view.SuperHeroViewHolderTest_showsSuperHeroesWithLongDescriptions.png -------------------------------------------------------------------------------- /app/screenshots/com.karumi.ui.view.SuperHeroViewHolderTest_showsSuperHeroesWithLongNames.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/screenshots/com.karumi.ui.view.SuperHeroViewHolderTest_showsSuperHeroesWithLongNames.png -------------------------------------------------------------------------------- /app/src/androidTest/java/com/karumi/com.karumi.InjectedTestRunner.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/androidTest/java/com/karumi/com.karumi.InjectedTestRunner.kt -------------------------------------------------------------------------------- /app/src/androidTest/java/com/karumi/mockito/MockitoExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/androidTest/java/com/karumi/mockito/MockitoExtensions.kt -------------------------------------------------------------------------------- /app/src/androidTest/java/com/karumi/ui/view/AcceptanceTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/androidTest/java/com/karumi/ui/view/AcceptanceTest.kt -------------------------------------------------------------------------------- /app/src/androidTest/java/com/karumi/ui/view/MainActivityTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/androidTest/java/com/karumi/ui/view/MainActivityTest.kt -------------------------------------------------------------------------------- /app/src/androidTest/java/com/karumi/ui/view/ScreenshotTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/androidTest/java/com/karumi/ui/view/ScreenshotTest.kt -------------------------------------------------------------------------------- /app/src/androidTest/java/com/karumi/ui/view/SuperHeroDetailActivityTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/androidTest/java/com/karumi/ui/view/SuperHeroDetailActivityTest.kt -------------------------------------------------------------------------------- /app/src/androidTest/java/com/karumi/ui/view/SuperHeroViewHolderTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/androidTest/java/com/karumi/ui/view/SuperHeroViewHolderTest.kt -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/SuperHeroesApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/SuperHeroesApplication.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/common/TimeProviders.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/common/TimeProviders.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/common/WeakRef.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/common/WeakRef.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/common/eitherExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/common/eitherExtensions.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/data/repository/MemorySuperHeroDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/data/repository/MemorySuperHeroDataSource.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/data/repository/NetworkSuperHeroDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/data/repository/NetworkSuperHeroDataSource.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/data/repository/SuperHeroDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/data/repository/SuperHeroDataSource.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/data/repository/SuperHeroRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/data/repository/SuperHeroRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/domain/model/Errors.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/domain/model/Errors.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/domain/model/SuperHero.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/domain/model/SuperHero.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/domain/usecase/GetSuperHeroByName.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/domain/usecase/GetSuperHeroByName.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/domain/usecase/GetSuperHeroes.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/domain/usecase/GetSuperHeroes.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/ui/Lifecycle.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/ui/Lifecycle.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/ui/presenter/SuperHeroDetailPresenter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/ui/presenter/SuperHeroDetailPresenter.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/ui/presenter/SuperHeroesPresenter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/ui/presenter/SuperHeroesPresenter.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/ui/utils/PicassoUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/ui/utils/PicassoUtils.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/ui/view/BaseActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/ui/view/BaseActivity.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/ui/view/ErrorMessages.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/ui/view/ErrorMessages.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/ui/view/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/ui/view/MainActivity.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/ui/view/SuperHeroDetailActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/ui/view/SuperHeroDetailActivity.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/ui/view/adapter/SuperHeroViewHolder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/ui/view/adapter/SuperHeroViewHolder.kt -------------------------------------------------------------------------------- /app/src/main/java/com/karumi/ui/view/adapter/SuperHeroesAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/java/com/karumi/ui/view/adapter/SuperHeroesAdapter.kt -------------------------------------------------------------------------------- /app/src/main/res/drawable/super_hero_gradient.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/res/drawable/super_hero_gradient.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/main_activity.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/res/layout/main_activity.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/super_hero_detail_activity.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/res/layout/super_hero_detail_activity.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/super_hero_row.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/res/layout/super_hero_row.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_avengers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/res/mipmap-xxhdpi/ic_avengers.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /app/src/test/java/com/karumi/data/repository/SuperHeroRepositoryTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/app/src/test/java/com/karumi/data/repository/SuperHeroRepositoryTest.kt -------------------------------------------------------------------------------- /art/ApplicationScreencast.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/art/ApplicationScreencast.gif -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karumi/SuperHeroesKotlin/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | --------------------------------------------------------------------------------