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

Commit 46381d43 authored by Hasib Prince's avatar Hasib Prince
Browse files

instant visual feedback added for install button

parent e967aec1
Loading
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -403,12 +403,7 @@ class ApplicationListRVAdapter(

    private fun ApplicationListItemBinding.handleInstalling(view: View, holder: ViewHolder) {
        installButton.apply {
            isEnabled = false
            text = context.getString(R.string.installing)
            setTextColor(context.getColor(R.color.light_grey))
            backgroundTintList =
                ContextCompat.getColorStateList(view.context, android.R.color.transparent)
            strokeColor = ContextCompat.getColorStateList(view.context, R.color.light_grey)
            disableInstallButton(this, R.string.installing)
        }
        progressBarInstall.visibility = View.GONE
    }
@@ -448,6 +443,7 @@ class ApplicationListRVAdapter(
                    return@setOnClickListener
                }
                if (searchApp.isFree || searchApp.isPurchased) {
                    disableInstallButton(view, R.string.cancel)
                    installApplication(searchApp, appIcon)
                } else {
                    paidAppHandler?.invoke(searchApp)
@@ -456,6 +452,15 @@ class ApplicationListRVAdapter(
        }
    }

    private fun MaterialButton.disableInstallButton(view: View, buttonString: Int) {
        isEnabled = false
        text = context.getString(buttonString)
        strokeColor = getStrokeColor(isEnabled, view)
        setButtonTextColor(isEnabled)
        backgroundTintList =
            ContextCompat.getColorStateList(view.context, android.R.color.transparent)
    }

    private fun updateUIByPaymentType(
        searchApp: FusedApp,
        materialButton: MaterialButton,
+14 −9
Original line number Diff line number Diff line
@@ -162,15 +162,7 @@ class HomeChildRVAdapter(

    private fun HomeChildListItemBinding.handleInstalling(view: View) {
        installButton.apply {
            isEnabled = false
            setTextColor(context.getColor(R.color.light_grey))
            text = context.getString(R.string.installing)
            backgroundTintList = ContextCompat.getColorStateList(
                view.context,
                android.R.color.transparent
            )
            strokeColor =
                ContextCompat.getColorStateList(view.context, R.color.light_grey)
            disableInstallButton(this, R.string.installing)
        }
        progressBarInstall.visibility = View.GONE
    }
@@ -215,6 +207,7 @@ class HomeChildRVAdapter(
                    return@setOnClickListener
                }
                if (homeApp.isFree) {
                    disableInstallButton(view, R.string.cancel)
                    installApplication(homeApp, appIcon)
                } else {
                    paidAppHandler?.invoke(homeApp)
@@ -223,6 +216,18 @@ class HomeChildRVAdapter(
        }
    }

    private fun MaterialButton.disableInstallButton(view: View, buttonString: Int) {
        isEnabled = false
        text = context.getString(buttonString)
        setTextColor(context.getColor(R.color.light_grey))
        backgroundTintList = ContextCompat.getColorStateList(
            view.context,
            android.R.color.transparent
        )
        strokeColor =
            ContextCompat.getColorStateList(view.context, R.color.light_grey)
    }

    private fun HomeChildListItemBinding.handleUpdatable(
        view: View,
        homeApp: FusedApp
+0 −2
Original line number Diff line number Diff line
@@ -20,8 +20,6 @@ package foundation.e.apps.util
import androidx.lifecycle.LiveData
import androidx.lifecycle.Observer
import kotlinx.coroutines.delay
import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit

/**
 * Gets the value of a [LiveData] or waits for it to have one, with a timeout.