From 2f4d461e71157add6053838fd0481e1017044302 Mon Sep 17 00:00:00 2001 From: kmanikanta335 <118070186+kmanikanta335@users.noreply.github.com> Date: Sun, 19 Nov 2023 16:13:18 +0530 Subject: [PATCH] Feat #2412: Implement Shimmer while user details are being loaded Feat #2412: Implement Shimmer while user details are being loaded Feat #2412: Implement Shimmer while user details are being loaded Feat #2412: Implement Shimmer while user details are being loaded Feat #2412: Implement Shimmer while user details are being loaded --- app/build.gradle | 4 ++ .../mobile/ui/fragments/HomeOldFragment.kt | 14 ++++-- app/src/main/res/layout/fragment_home_old.xml | 46 ++++++++++++++++++- app/src/main/res/values/styles.xml | 4 ++ build.gradle | 1 + 5 files changed, 64 insertions(+), 5 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5b84004a7..b000ae1dd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -203,5 +203,9 @@ dependencies { debugImplementation "androidx.compose.ui:ui-tooling:$rootProject.composeVersion" implementation "androidx.compose.material3:material3:$rootProject.materialVersion" implementation "androidx.lifecycle:lifecycle-viewmodel-compose:$rootProject.lifecycleVersion" + + // 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 ea8a7ee22..ab8561c48 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' }