diff --git a/app/build.gradle b/app/build.gradle index 5f4282d..fdf0b35 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -51,4 +51,6 @@ dependencies { // LiveData implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.2.0" implementation 'androidx.legacy:legacy-support-v4:1.0.0' + //Facebook Shimmer + implementation 'com.facebook.shimmer:shimmer:0.5.0' } diff --git a/app/src/main/java/id/husni/sultengcovid/fragment/DistrictFragment.kt b/app/src/main/java/id/husni/sultengcovid/fragment/DistrictFragment.kt index b29da43..84ae59d 100644 --- a/app/src/main/java/id/husni/sultengcovid/fragment/DistrictFragment.kt +++ b/app/src/main/java/id/husni/sultengcovid/fragment/DistrictFragment.kt @@ -6,6 +6,7 @@ package id.husni.sultengcovid.fragment +import android.opengl.Visibility import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater @@ -41,10 +42,23 @@ class DistrictFragment : Fragment() { val viewModel : DistrictViewModel = ViewModelProvider(this,ViewModelProvider.NewInstanceFactory()).get(DistrictViewModel::class.java) viewModel.setDistrictData() + showShimmer(true) viewModel.getDistrictData().observe(this, Observer> { adapter.districts = it + showShimmer(false) }) } + private fun showShimmer(isShow: Boolean) { + if (isShow){ + districtShimmer.showShimmer(true) + districtShimmer.visibility = View.VISIBLE + } + else{ + districtShimmer.showShimmer(false) + districtShimmer.visibility = View.GONE + } + } + } diff --git a/app/src/main/java/id/husni/sultengcovid/utilities/AppsUtilities.kt b/app/src/main/java/id/husni/sultengcovid/utilities/AppsUtilities.kt index a700065..319c74e 100644 --- a/app/src/main/java/id/husni/sultengcovid/utilities/AppsUtilities.kt +++ b/app/src/main/java/id/husni/sultengcovid/utilities/AppsUtilities.kt @@ -10,7 +10,6 @@ class AppsUtilities { companion object{ const val BASE_URL = "https://banuacoders.com/api/pico/" const val ENDPOINT_PROVINCE = "provinsi/72" - //TODO : NEXT const val ENDPOINT_DISTRICT = "kabupaten" const val ENDPOINT_HOSPITAL = "rumahsakit" } diff --git a/app/src/main/java/id/husni/sultengcovid/viewmodel/DistrictViewModel.kt b/app/src/main/java/id/husni/sultengcovid/viewmodel/DistrictViewModel.kt index a54fcfc..cefc57d 100644 --- a/app/src/main/java/id/husni/sultengcovid/viewmodel/DistrictViewModel.kt +++ b/app/src/main/java/id/husni/sultengcovid/viewmodel/DistrictViewModel.kt @@ -32,7 +32,7 @@ class DistrictViewModel : ViewModel(){ } override fun onFailure(call: Call, t: Throwable) { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + } }) diff --git a/app/src/main/java/id/husni/sultengcovid/viewmodel/ProvinceViewModel.kt b/app/src/main/java/id/husni/sultengcovid/viewmodel/ProvinceViewModel.kt index 4b1df39..af219ad 100644 --- a/app/src/main/java/id/husni/sultengcovid/viewmodel/ProvinceViewModel.kt +++ b/app/src/main/java/id/husni/sultengcovid/viewmodel/ProvinceViewModel.kt @@ -28,7 +28,7 @@ class ProvinceViewModel : ViewModel() { } override fun onFailure(call: Call, t: Throwable) { - TODO("not implemented") + } }) } diff --git a/app/src/main/res/drawable/ic_placeholder.xml b/app/src/main/res/drawable/ic_placeholder.xml new file mode 100644 index 0000000..deac479 --- /dev/null +++ b/app/src/main/res/drawable/ic_placeholder.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/app/src/main/res/layout/district_item_placeholder.xml b/app/src/main/res/layout/district_item_placeholder.xml new file mode 100644 index 0000000..7c71c9b --- /dev/null +++ b/app/src/main/res/layout/district_item_placeholder.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + +