diff --git a/androidApp/build.gradle.kts b/androidApp/build.gradle.kts index 0ecc81e..3844930 100755 --- a/androidApp/build.gradle.kts +++ b/androidApp/build.gradle.kts @@ -27,7 +27,7 @@ android { } lintOptions { - setAbortOnError(false) + isAbortOnError = false } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 @@ -46,15 +46,18 @@ dependencies { implementation(kotlin("stdlib-jdk7", KotlinCompilerVersion.VERSION)) implementation(project(":shared")) - implementation("androidx.constraintlayout:constraintlayout:2.0.0-beta1") - implementation("androidx.appcompat:appcompat:1.0.2") + implementation("androidx.constraintlayout:constraintlayout:2.0.0-beta2") + implementation("androidx.appcompat:appcompat:1.1.0") implementation("androidx.recyclerview:recyclerview:1.0.0") - implementation("androidx.lifecycle:lifecycle-runtime:2.0.0") - implementation("androidx.lifecycle:lifecycle-extensions:2.0.0") + implementation("androidx.lifecycle:lifecycle-runtime:2.1.0") + implementation("androidx.lifecycle:lifecycle-extensions:2.1.0") implementation("com.github.pedrovgs:renderers:3.4.0") - implementation("com.squareup.okhttp3:okhttp:3.11.0") + implementation("com.squareup.okhttp3:okhttp:3.12.1") implementation("com.squareup.picasso:picasso:2.71828") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.1") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.1") + testImplementation("junit:junit:4.12") androidTestImplementation("org.mockito:mockito-android:2.28.2") androidTestImplementation("com.nhaarman.mockitokotlin2:mockito-kotlin:2.1.0") diff --git a/androidApp/src/main/kotlin/com/karumi/gallery/app/MainActivity.kt b/androidApp/src/main/kotlin/com/karumi/gallery/app/MainActivity.kt index a33f4cb..ea20e8e 100755 --- a/androidApp/src/main/kotlin/com/karumi/gallery/app/MainActivity.kt +++ b/androidApp/src/main/kotlin/com/karumi/gallery/app/MainActivity.kt @@ -33,20 +33,29 @@ class MainActivity : AppCompatActivity(), PhotoListPresenter.View { presenter.detachView() } - override fun showLoader() { - progress.visibility = View.VISIBLE + override fun render(state: PhotoListPresenter.View.State) { + when (state) { + is PhotoListPresenter.View.State.Loading -> renderLoading() + is PhotoListPresenter.View.State.Error -> renderError() + is PhotoListPresenter.View.State.Success -> renderPhotos(state.photos) + } } - override fun hideLoader() { - progress.visibility = View.GONE + private fun renderLoading() { + progress.visibility = View.VISIBLE + errorInformation.visibility = View.GONE } - override fun onLoadError() { + private fun renderError() { + progress.visibility = View.GONE errorInformation.visibility = View.VISIBLE } - override fun plusAssign(shots: List) { - val items = shots.map { PhotoItem(it.id, it.thumbnailUrl, it.authorName) } + private fun renderPhotos(photos: List) { + progress.visibility = View.GONE + errorInformation.visibility = View.GONE + + val items = photos.map { PhotoItem(it.id, it.thumbnailUrl, it.authorName) } adapter.addAll(items) adapter.notifyDataSetChanged() } diff --git a/iosApp/PhotoGallery/PhotoCollectionViewCell.xib b/iosApp/PhotoGallery/PhotoCollectionViewCell.xib index 169a230..22a9248 100644 --- a/iosApp/PhotoGallery/PhotoCollectionViewCell.xib +++ b/iosApp/PhotoGallery/PhotoCollectionViewCell.xib @@ -1,28 +1,28 @@ - + - + - + - + - +