diff --git a/app/src/main/java/foundation/e/apps/application/ApplicationFragment.kt b/app/src/main/java/foundation/e/apps/application/ApplicationFragment.kt index 61ca82e171dd2b4b00a45af4e20f94771b932c9b..c575c14647ef522e14208d392d6aa66fc32e24c5 100644 --- a/app/src/main/java/foundation/e/apps/application/ApplicationFragment.kt +++ b/app/src/main/java/foundation/e/apps/application/ApplicationFragment.kt @@ -177,6 +177,8 @@ class ApplicationFragment : TimeoutFragment(R.layout.fragment_application) { */ val it = resultPair.first + togglePrivacyInfoVisibility(false) + isDetailsLoaded = true if (applicationViewModel.appStatus.value == null) { applicationViewModel.appStatus.value = it.status @@ -211,6 +213,7 @@ class ApplicationFragment : TimeoutFragment(R.layout.fragment_application) { mainActivityViewModel.downloadList.observe(viewLifecycleOwner) { list -> applicationViewModel.updateApplicationStatus(list) } + stopLoadingUI() } private fun updateAppDescriptionText(it: FusedApp) { @@ -383,7 +386,13 @@ class ApplicationFragment : TimeoutFragment(R.layout.fragment_application) { /* Remove trailing slash (if present) that can become part of the packageName */ val packageName = args.packageName.run { if (endsWith('/')) dropLast(1) else this } - applicationViewModel.loadData(args.id, packageName, origin, isFdroidDeepLink, authObjectList) { + applicationViewModel.loadData( + args.id, + packageName, + origin, + isFdroidDeepLink, + authObjectList + ) { clearAndRestartGPlayLogin() true } @@ -704,7 +713,7 @@ class ApplicationFragment : TimeoutFragment(R.layout.fragment_application) { return } val downloadedSize = "${ - Formatter.formatFileSize(requireContext(), progressResult.second).substringBefore(" MB") + Formatter.formatFileSize(requireContext(), progressResult.second).substringBefore(" MB") }/${Formatter.formatFileSize(requireContext(), progressResult.first)}" val progressPercentage = ((progressResult.second / progressResult.first.toDouble()) * 100f).toInt() @@ -732,7 +741,6 @@ class ApplicationFragment : TimeoutFragment(R.layout.fragment_application) { private fun fetchAppTracker(fusedApp: FusedApp) { privacyInfoViewModel.getAppPrivacyInfoLiveData(fusedApp).observe(viewLifecycleOwner) { updatePrivacyScore() - stopLoadingUI() } } @@ -761,6 +769,18 @@ class ApplicationFragment : TimeoutFragment(R.layout.fragment_application) { ) appPrivacyScore.compoundDrawablePadding = 15 } + togglePrivacyInfoVisibility(true) + } + + private fun togglePrivacyInfoVisibility(visible: Boolean) { + val visibility = if (visible) View.VISIBLE else View.INVISIBLE + binding.privacyInclude.run { + appPermissions.visibility = visibility + appTrackers.visibility = visibility + loadingBar.isVisible = !visible + } + binding.ratingsInclude.loadingBar.isVisible = !visible + binding.ratingsInclude.appPrivacyScore.visibility = visibility } override fun onDestroyView() { diff --git a/app/src/main/res/drawable/ic_arrow_forward.xml b/app/src/main/res/drawable/ic_arrow_forward.xml index 9ca87105193f2eb420b252612649e21f0bbccd04..0a075dffb72ed50eff7030b600dfb7d87ef000cd 100644 --- a/app/src/main/res/drawable/ic_arrow_forward.xml +++ b/app/src/main/res/drawable/ic_arrow_forward.xml @@ -17,8 +17,8 @@ --> - - - - - + android:textSize="15sp" + android:drawableEnd="@drawable/ic_arrow_forward" + android:visibility="invisible" /> + android:textSize="15sp" + android:drawableEnd="@drawable/ic_arrow_forward" + android:visibility="invisible" /> - - + + diff --git a/app/src/main/res/layout/fragment_application_ratings.xml b/app/src/main/res/layout/fragment_application_ratings.xml index 4c255c3c9586ed12b3f96f775c1e6549e09c0e06..f77206a155c2a0ecc391a3f047ee3ae797dd512c 100644 --- a/app/src/main/res/layout/fragment_application_ratings.xml +++ b/app/src/main/res/layout/fragment_application_ratings.xml @@ -69,7 +69,7 @@ app:drawableStartCompat="@drawable/ic_star" /> - + + + android:textSize="25sp" + android:visibility="invisible" + app:layout_constraintBottom_toTopOf="@+id/materialTextView2" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> - + app:drawableStartCompat="@drawable/ic_lock" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" /> +