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

Commit e11e00a0 authored by Sayantan Roychowdhury's avatar Sayantan Roychowdhury
Browse files

UI changes for app list adapter

parent ee14c4d3
Loading
Loading
Loading
Loading
+27 −1
Original line number Original line Diff line number Diff line
@@ -20,8 +20,10 @@ package foundation.e.apps.ui.applicationlist
import android.view.LayoutInflater
import android.view.LayoutInflater
import android.view.View
import android.view.View
import android.view.ViewGroup
import android.view.ViewGroup
import android.widget.ImageView
import androidx.core.content.ContextCompat
import androidx.core.content.ContextCompat
import androidx.core.view.children
import androidx.core.view.children
import androidx.core.view.isVisible
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LiveData
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.MutableLiveData
@@ -176,12 +178,24 @@ class ApplicationListRVAdapter(
                }
                }
            }
            }
            Origin.GITLAB_RELEASES -> {
            Origin.GITLAB_RELEASES -> {
                // TODO
                setSystemAppIcon(appIcon, searchApp)
            }
            }
            else -> Timber.wtf("${searchApp.package_name} is from an unknown origin")
            else -> Timber.wtf("${searchApp.package_name} is from an unknown origin")
        }
        }
    }
    }


    private fun setSystemAppIcon(imageView: ImageView, app: Application) {
        if (!app.isSystemApp) return
        try {
            imageView.run {
                setImageDrawable(context.packageManager.getApplicationIcon(app.package_name))
            }
        } catch (e: Exception) {
            Timber.w("Icon could not be set for system app - ${app.package_name} - ${e.message}")
            e.printStackTrace()
        }
    }

    private fun ApplicationListItemBinding.updateAppInfo(searchApp: Application) {
    private fun ApplicationListItemBinding.updateAppInfo(searchApp: Application) {
        appTitle.text = searchApp.name
        appTitle.text = searchApp.name
        appInfoFetchViewModel.getAuthorName(searchApp).observe(lifecycleOwner!!) {
        appInfoFetchViewModel.getAuthorName(searchApp).observe(lifecycleOwner!!) {
@@ -190,6 +204,11 @@ class ApplicationListRVAdapter(
    }
    }


    private fun ApplicationListItemBinding.updateRating(searchApp: Application) {
    private fun ApplicationListItemBinding.updateRating(searchApp: Application) {
        if (searchApp.isSystemApp) {
            iconStar.isVisible = false
            appRating.isVisible = false
            return
        }
        if (searchApp.ratings.usageQualityScore != -1.0) {
        if (searchApp.ratings.usageQualityScore != -1.0) {
            appRating.text = searchApp.ratings.usageQualityScore.toString()
            appRating.text = searchApp.ratings.usageQualityScore.toString()
        } else {
        } else {
@@ -201,6 +220,10 @@ class ApplicationListRVAdapter(
        searchApp: Application,
        searchApp: Application,
        view: View
        view: View
    ) {
    ) {
        if (searchApp.isSystemApp) {
            appPrivacyScoreLayout.isVisible = false
            return
        }
        if (searchApp.ratings.privacyScore != -1.0) {
        if (searchApp.ratings.privacyScore != -1.0) {
            appPrivacyScore.text = view.context.getString(
            appPrivacyScore.text = view.context.getString(
                R.string.privacy_rating_out_of,
                R.string.privacy_rating_out_of,
@@ -222,6 +245,9 @@ class ApplicationListRVAdapter(
        searchApp: Application,
        searchApp: Application,
        view: View
        view: View
    ) {
    ) {
        if (searchApp.isSystemApp) {
            return
        }
        val catText = searchApp.category.ifBlank { optionalCategory }
        val catText = searchApp.category.ifBlank { optionalCategory }
        val action = when (currentDestinationId) {
        val action = when (currentDestinationId) {
            R.id.applicationListFragment -> {
            R.id.applicationListFragment -> {