Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 761e4649 authored by Saalim Quadri's avatar Saalim Quadri
Browse files

Merge branch '8872-lounge-rating' into 'main'

fix: Show NA if rating is zero'ed

See merge request !603
parents 79a456a2 0fcb114b
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -37,4 +37,6 @@ object Constants {
        "${BuildConfig.PACKAGE_NAME_PARENTAL_CONTROL}.action.APP_LOUNGE_LOGIN"

    const val REQUEST_GPLAY_LOGIN = "request_gplay_login"

    const val MIN_VALID_RATING = 0.1
}
+10 −5
Original line number Diff line number Diff line
@@ -5,9 +5,10 @@ import android.os.Build
import androidx.annotation.RequiresApi
import androidx.lifecycle.LiveData
import foundation.e.apps.OpenForTesting
import foundation.e.apps.data.Constants.MIN_VALID_RATING
import foundation.e.apps.data.application.data.Application
import foundation.e.apps.data.enums.Status
import foundation.e.apps.data.fdroid.FDroidRepository
import foundation.e.apps.data.application.data.Application
import foundation.e.apps.data.install.models.AppInstall
import foundation.e.apps.install.download.data.DownloadProgress
import foundation.e.apps.install.workmanager.InstallWorkManager
@@ -148,12 +149,16 @@ class AppManagerWrapper @Inject constructor(
        return download.id == application._id
    }

    fun handleRatingFormat(rating: Double): String {
        return if (rating % 1 == 0.0) {
    fun handleRatingFormat(rating: Double): String? {
        return if (rating >= MIN_VALID_RATING) {
            if (rating % 1 == 0.0) {
                rating.toInt().toString()
            } else {
                rating.toString()
            }
        } else {
            null
        }
    }

    suspend fun getCalculateProgressWithTotalSize(application: Application?, progress: DownloadProgress): Pair<Long, Long> {
+4 −0
Original line number Diff line number Diff line
@@ -270,4 +270,8 @@ class MainActivityViewModel @Inject constructor(
    fun launchPwa(application: Application) {
        pwaManager.launchPwa(application)
    }

    fun handleRatingFormat(rating: Double): String? {
        return appManagerWrapper.handleRatingFormat(rating)
    }
}
+7 −9
Original line number Diff line number Diff line
@@ -341,21 +341,19 @@ class ApplicationFragment : TimeoutFragment(R.layout.fragment_application) {

    private fun updateAppRating(it: Application) {
        binding.ratingsInclude.apply {
            if (it.ratings.usageQualityScore != -1.0) {
                val rating =
                    applicationViewModel.handleRatingFormat(it.ratings.usageQualityScore)
                appRating.text =
                    getString(
                        R.string.rating_out_of, rating
                    )

            val formattedRating = applicationViewModel.handleRatingFormat(it.ratings.usageQualityScore)
            if (formattedRating != null) {
                appRating.text = getString(R.string.rating_out_of, formattedRating)
                appRating.setCompoundDrawablesWithIntrinsicBounds(
                    ContextCompat.getDrawable(requireContext(), R.drawable.ic_star_blank),
                    null,
                    getRatingDrawable(rating),
                    getRatingDrawable(formattedRating),
                    null
                )
                appRating.compoundDrawablePadding = 15
            } else {
                appRating.text = getString(R.string.not_available)
                appRating.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null)
            }
            appRatingLayout.setOnClickListener {
                ApplicationDialogFragment(
+1 −1
Original line number Diff line number Diff line
@@ -215,7 +215,7 @@ class ApplicationViewModel @Inject constructor(
        return applicationLiveData.value?.first
    }

    fun handleRatingFormat(rating: Double): String {
    fun handleRatingFormat(rating: Double): String? {
        return appManagerWrapper.handleRatingFormat(rating)
    }

Loading