diff --git a/.gradle/7.3.3/executionHistory/executionHistory.lock b/.gradle/7.3.3/executionHistory/executionHistory.lock index c9eddb154f2508550d8fdf99e085a07e713360e9..c41e9806ac783a6a763ac7e7d8333cf8e78cd4f3 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 9df50f3644a98515edc0b6c7c499a4363b8442ed..6a58db0f47cedb2b3c629567bbc6f1827e652adf 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 40bd99b62265cd5714eaf05e5568d28d81541698..cf8dc8c0682cd765086a7bdef66aa1acc0c5f5d9 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 16dd642da3fcddcc13e9da9ddc1662109c3ce34b..0d8081ab3b7ec6220c85bdddf04424e1a3bd9acb 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.idea/misc.xml b/.idea/misc.xml index 2a4d5b521db9a0a0d1792306f9a568dce6dcdfbe..d4773db8c26b017fb1741afb75890151fb784c33 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> + <component name="DesignSurface"> + <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/grid_view_item.xml" value="0.24048913043478262" /> + </map> + </option> + </component> <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/build/classes" /> </component> 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 2c00e64286b9e01fc6f8370efb250f3f141de1f3..b4e374e1cfce7bb5e7a6493a69e5fd2435ed029c 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 @@ -4,12 +4,16 @@ import android.widget.ImageView import androidx.core.net.toUri import androidx.databinding.BindingAdapter import coil.load +import com.example.android.marsphotos.R @BindingAdapter("imageUrl") fun bindImage(imgView: ImageView, imgUrl: String?) { imgUrl?.let { val imgUri = imgUrl.toUri().buildUpon().scheme("https").build() - imgView.load(imgUri) + imgView.load(imgUri) { + placeholder(R.drawable.loading_animation) + error(R.drawable.ic_broken_image) + } } } diff --git a/app/src/main/java/com/example/android/marsphotos/overview/OverviewFragment.kt b/app/src/main/java/com/example/android/marsphotos/overview/OverviewFragment.kt index 3406411e922b8a3d9db06f9f27925423bf58572f..9d0c465bd9f2f44bd972a92483f52bd56f9acfbd 100644 --- a/app/src/main/java/com/example/android/marsphotos/overview/OverviewFragment.kt +++ b/app/src/main/java/com/example/android/marsphotos/overview/OverviewFragment.kt @@ -23,6 +23,7 @@ import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import com.example.android.marsphotos.databinding.FragmentOverviewBinding +import com.example.android.marsphotos.databinding.GridViewItemBinding /** * This fragment shows the the status of the Mars photos web services transaction. @@ -40,6 +41,7 @@ class OverviewFragment : Fragment() { savedInstanceState: Bundle? ): View? { val binding = FragmentOverviewBinding.inflate(inflater) + // val binding = GridViewItemBinding.inflate(inflater) // Allows Data Binding to Observe LiveData with the lifecycle of this Fragment binding.lifecycleOwner = this diff --git a/app/src/main/res/layout/grid_view_item.xml b/app/src/main/res/layout/grid_view_item.xml index f72424d24c2f90f473b50fd50c459527fced7d27..9353304d789b77ec85b52b9f81f92fe7646c44b5 100644 --- a/app/src/main/res/layout/grid_view_item.xml +++ b/app/src/main/res/layout/grid_view_item.xml @@ -19,6 +19,11 @@ <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools"> + <data> + <variable + name="viewModel" + type="com.example.android.marsphotos.overview.OverviewViewModel" /> + </data> <ImageView android:id="@+id/mars_image" android:layout_width="wrap_content" @@ -26,5 +31,6 @@ android:scaleType="fitXY" android:adjustViewBounds="true" android:padding="2dp" + app:imageUrl="@{viewModel.photos.imgSrcUrl}" tools:src="@tools:sample/backgrounds/scenic"/> </layout>