diff --git a/app/build.gradle b/app/build.gradle index e276955ac..9c3fcace7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -205,5 +205,7 @@ dependencies { implementation "androidx.lifecycle:lifecycle-viewmodel-compose:$rootProject.lifecycleVersion" implementation "androidx.compose.material:material-icons-extended:$rootProject.composeVersion" + // Shimmer effect + implementation "com.facebook.shimmer:shimmer:$rootProject.shimmerVersion" } apply plugin: 'com.google.gms.google-services' diff --git a/app/src/main/java/org/mifos/mobile/ui/fragments/HomeOldFragment.kt b/app/src/main/java/org/mifos/mobile/ui/fragments/HomeOldFragment.kt index d1eef0368..140140187 100644 --- a/app/src/main/java/org/mifos/mobile/ui/fragments/HomeOldFragment.kt +++ b/app/src/main/java/org/mifos/mobile/ui/fragments/HomeOldFragment.kt @@ -256,9 +256,11 @@ class HomeOldFragment : BaseFragment(), OnRefreshListener { lifecycleScope.launchWhenStarted { viewModel.homeUiState.collect { when (it) { - is HomeUiState.Loading -> showProgress() + is HomeUiState.Loading ->{ + binding.detailsOfCustomer.visibility = View.INVISIBLE + } is HomeUiState.UserImage -> { - hideProgress() + stopShimmerEffect() showUserImage(it.image) } is HomeUiState.ClientAccountDetails -> { @@ -271,7 +273,7 @@ class HomeOldFragment : BaseFragment(), OnRefreshListener { showError(getString(it.errorMessage)) } is HomeUiState.UserDetails -> { - hideProgress() + stopShimmerEffect() showUserDetails(it.client) } is HomeUiState.UnreadNotificationsCount -> { @@ -360,6 +362,12 @@ class HomeOldFragment : BaseFragment(), OnRefreshListener { private fun userImageClicked() { startActivity(Intent(activity, UserProfileActivity::class.java)) } + + private fun stopShimmerEffect(){ + binding.shimmerViewContainer.stopShimmer() + binding.detailsOfCustomer.visibility = View.VISIBLE + binding.shimmerViewContainer.visibility = View.INVISIBLE + } /** * Calls `openAccount()` for opening [ClientAccountsFragment] diff --git a/app/src/main/res/layout/fragment_home_old.xml b/app/src/main/res/layout/fragment_home_old.xml index fa4664f36..be49e6755 100644 --- a/app/src/main/res/layout/fragment_home_old.xml +++ b/app/src/main/res/layout/fragment_home_old.xml @@ -17,7 +17,17 @@ android:layout_marginHorizontal="@dimen/Mifos.DesignSystem.Spacing.screenHorizontalMargin" android:animateLayoutChanges="true" android:orientation="vertical"> - + + + + + + + + + + + - + @drawable/splash_background + + diff --git a/build.gradle b/build.gradle index 31a15880c..050ad00ca 100644 --- a/build.gradle +++ b/build.gradle @@ -95,4 +95,5 @@ ext { composeActivity = '1.7.2' materialVersion = '1.1.0' lifecycleVersion = '2.6.1' + shimmerVersion = '0.5.0' }