diff --git a/.gradle/7.3.3/executionHistory/executionHistory.lock b/.gradle/7.3.3/executionHistory/executionHistory.lock index 457b7ebb77113ea45bc3d73f5299d4630487485c..4469129c3bb5f4725d97e870d2eef3baf49eb0f5 100644 Binary files a/.gradle/7.3.3/executionHistory/executionHistory.lock and b/.gradle/7.3.3/executionHistory/executionHistory.lock differ diff --git a/.gradle/7.3.3/fileHashes/fileHashes.bin b/.gradle/7.3.3/fileHashes/fileHashes.bin index dd3d2f91fa2d28cf91eb7aa9fe6c428d7f912705..daaa7385d680d370f680dc3dd38ce92094a58cdb 100644 Binary files a/.gradle/7.3.3/fileHashes/fileHashes.bin and b/.gradle/7.3.3/fileHashes/fileHashes.bin differ diff --git a/.gradle/7.3.3/fileHashes/fileHashes.lock b/.gradle/7.3.3/fileHashes/fileHashes.lock index ff67b27b714d637e6dd8293752c7961cdeb30edd..4f844c6cb676e0d5b72b4a6935483af81d11dde1 100644 Binary files a/.gradle/7.3.3/fileHashes/fileHashes.lock and b/.gradle/7.3.3/fileHashes/fileHashes.lock differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 2cf206dd06a093fbe2e880dd995f4f3a0c880e3f..c0bd8f792082dc92e40f2232bb27889b38332797 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin index 4df35562fd76e45873ff29ffc07676b0c53e8926..5bdf773ca1ba312d135a6b6b9209d4f4c5304ff8 100644 Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and b/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/.idea/misc.xml b/.idea/misc.xml index 24999951bf83a5332864aadd52a348e4f6944dec..9253bc6e2be5185771f85ea56cf6ada039583c4d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ <option name="filePathToZoomLevelMap"> <map> <entry key="..\:/Users/Fair/Desktop/android-basics-kotlin-mars-photos-app-starter/app/src/main/res/drawable/ic_broken_image.xml" value="0.226" /> - <entry key="..\:/Users/Fair/Desktop/android-basics-kotlin-mars-photos-app-starter/app/src/main/res/layout/fragment_overview.xml" value="0.33" /> + <entry key="..\:/Users/Fair/Desktop/android-basics-kotlin-mars-photos-app-starter/app/src/main/res/layout/fragment_overview.xml" value="0.25" /> <entry key="..\:/Users/Fair/Desktop/android-basics-kotlin-mars-photos-app-starter/app/src/main/res/layout/grid_view_item.xml" value="0.24048913043478262" /> </map> </option> diff --git a/app/src/main/java/com/example/android/marsphotos/overview/BindingAdapters.kt b/app/src/main/java/com/example/android/marsphotos/overview/BindingAdapters.kt index 4d86bb34d92f16ddd2eaa672fd0fa710bee748b0..1dd891f40de829109fce72fc250f9e3130e3cbae 100644 --- a/app/src/main/java/com/example/android/marsphotos/overview/BindingAdapters.kt +++ b/app/src/main/java/com/example/android/marsphotos/overview/BindingAdapters.kt @@ -1,5 +1,6 @@ package com.example.android.marsphotos.overview +import android.view.View import android.widget.ImageView import androidx.core.net.toUri import androidx.databinding.BindingAdapter @@ -26,6 +27,24 @@ fun bindRecyclerView(recyclerView: RecyclerView, adapter.submitList(data) } +@BindingAdapter("marsApiStatus") +fun bindStatus(statusImageView: ImageView, + status: MarsApiStatus?) { + when (status) { + MarsApiStatus.LOADING -> { + statusImageView.visibility = View.VISIBLE + statusImageView.setImageResource(R.drawable.loading_animation) + } + MarsApiStatus.ERROR -> { + statusImageView.visibility = View.VISIBLE + statusImageView.setImageResource(R.drawable.ic_connection_error) + } + MarsApiStatus.DONE -> { + statusImageView.visibility = View.GONE + } + } +} + class BindingAdapters { } diff --git a/app/src/main/res/layout/fragment_overview.xml b/app/src/main/res/layout/fragment_overview.xml index 6688d398ccd67bd08576df29bc384ef44dde6d94..04cf6c373c3f179ef088739fce9652115238571e 100644 --- a/app/src/main/res/layout/fragment_overview.xml +++ b/app/src/main/res/layout/fragment_overview.xml @@ -46,6 +46,15 @@ tools:itemCount="16" tools:listitem="@layout/grid_view_item" app:spanCount="2" /> + <ImageView + android:id="@+id/status_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:marsApiStatus="@{viewModel.status}" /> </androidx.constraintlayout.widget.ConstraintLayout> </layout> \ No newline at end of file