From 4578e3785e69c3f38a3c5f3dc28dafa5067ceccb Mon Sep 17 00:00:00 2001 From: 62160052 <62160052@go.buu.ac.th> Date: Sat, 24 Sep 2022 21:55:33 +0700 Subject: [PATCH] Add a binding adapter for the status ImageView --- .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/7.3.3/fileHashes/fileHashes.bin | Bin 77165 -> 77465 bytes .gradle/7.3.3/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .gradle/buildOutputCleanup/outputFiles.bin | Bin 253412 -> 253466 bytes .idea/misc.xml | 2 +- .../marsphotos/overview/BindingAdapters.kt | 19 ++++++++++++++++++ app/src/main/res/layout/fragment_overview.xml | 9 +++++++++ 8 files changed, 29 insertions(+), 1 deletion(-) diff --git a/.gradle/7.3.3/executionHistory/executionHistory.lock b/.gradle/7.3.3/executionHistory/executionHistory.lock index 457b7ebb77113ea45bc3d73f5299d4630487485c..4469129c3bb5f4725d97e870d2eef3baf49eb0f5 100644 GIT binary patch literal 17 VcmZRsUgMuDB)xe(0~j!-0RSs;1Kj`s literal 17 VcmZRsUgMuDB)xe(0~jy{0{|;t1IhpZ diff --git a/.gradle/7.3.3/fileHashes/fileHashes.bin b/.gradle/7.3.3/fileHashes/fileHashes.bin index dd3d2f91fa2d28cf91eb7aa9fe6c428d7f912705..daaa7385d680d370f680dc3dd38ce92094a58cdb 100644 GIT binary patch delta 2710 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 DkD!4A delta 2501 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 G=>Y)k12|a# diff --git a/.gradle/7.3.3/fileHashes/fileHashes.lock b/.gradle/7.3.3/fileHashes/fileHashes.lock index ff67b27b714d637e6dd8293752c7961cdeb30edd..4f844c6cb676e0d5b72b4a6935483af81d11dde1 100644 GIT binary patch literal 17 VcmZR6R%ybQyvz0`0~m0y001xo1LObz literal 17 VcmZR6R%ybQyvz0`0~oNE0RS*^1XTb4 diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 2cf206dd06a093fbe2e880dd995f4f3a0c880e3f..c0bd8f792082dc92e40f2232bb27889b38332797 100644 GIT binary patch literal 17 UcmZQBSl$}m?k^O|00u((04jR}bpQYW literal 17 UcmZQBSl$}m?k^O|00u%F04h`iP5=M^ diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin index 4df35562fd76e45873ff29ffc07676b0c53e8926..5bdf773ca1ba312d135a6b6b9209d4f4c5304ff8 100644 GIT binary patch delta 273 zcmaE|n}60G{)R1#S;~xmw`VIeo@D3$c2wZh71k3BAi#W&W4pFC<7;)sliT%!8GUav zp4?um$Mlhz-+%Xm^r@%Tf)p_@-~F~d)rje_8sp22iW;obKWH)WZnlfNz%<?A64Qj~ z3Y|=UrbRMFO@C0$7&X0N15@4hfD)!>jGF~gdl;uD6foTYsXI3P!BM6yn;*peV4OZ- zAJZa`*o5g09gH`&8x%9KF>ikm&X~anHe>UJq!#As3kn!LCQmpYHTlD(8{0ROGbK!9 z6xlAw$(+c>&pC0OA>&dBsN<e&&*W#W7H0goQBgq*<T%607jD&UUhwP#^Y#x@n97;A P8#^*@oHPA`9HSWkoF8st delta 208 zcmbQWhyTfL{)R1#S;~xmwr49do@C$dqs{n8opmDvgSX)HE1FD-+iijw9d0w8*j}s0 z^pSacn-SA3HO7k@6&+Zof6!v$-E0?kfoZzKC8i0}6*`&zOp9cUn*L!D<Amu2$Cwsv zH<->8#<+b#3ezFR=?gNMj!mBM>eb{4es!A?WSFK;*vGU8qSK*+@y2$8VkS1`?H>x5 z6lO3AZx`fbPGsBu;W1-6<MxjN%-lkZH#aI;h=J@hoP6O{-S!2UOb$$&5^k|fZ`i=( LyWQB4dE*=agrQQk diff --git a/.idea/misc.xml b/.idea/misc.xml index 2499995..9253bc6 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 4d86bb3..1dd891f 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 6688d39..04cf6c3 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 -- GitLab