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

Commit 5ac69995 authored by Jonathan Klee's avatar Jonathan Klee
Browse files

Rename FusedAPIInterface in ApplicationInstaller

parent cb1af144
Loading
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -18,15 +18,11 @@

package foundation.e.apps.data.fused

import android.widget.ImageView
import foundation.e.apps.data.fused.data.FusedApp

/**
 * FusedAPIInterface to allow adapter classes to install applications easily
 */
interface FusedAPIInterface {
interface ApplicationInstaller {

    fun getApplication(app: FusedApp, appIcon: ImageView? = null)
    fun installApplication(app: FusedApp)

    fun cancelDownload(app: FusedApp)
}
+4 −5
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ package foundation.e.apps.ui.applicationlist

import android.os.Bundle
import android.view.View
import android.widget.ImageView
import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
@@ -34,7 +33,7 @@ import dagger.hilt.android.AndroidEntryPoint
import foundation.e.apps.R
import foundation.e.apps.data.ResultSupreme
import foundation.e.apps.data.enums.Status
import foundation.e.apps.data.fused.FusedAPIInterface
import foundation.e.apps.data.fused.ApplicationInstaller
import foundation.e.apps.data.fused.data.FusedApp
import foundation.e.apps.data.login.AuthObject
import foundation.e.apps.data.login.exceptions.GPlayLoginException
@@ -54,7 +53,7 @@ import javax.inject.Inject
@AndroidEntryPoint
class ApplicationListFragment :
    TimeoutFragment(R.layout.fragment_application_list),
    FusedAPIInterface {
    ApplicationInstaller {

    // protected to avoid SyntheticAccessor
    protected val args: ApplicationListFragmentArgs by navArgs()
@@ -196,7 +195,7 @@ class ApplicationListFragment :
            ),
            positiveButtonText = getString(R.string.dialog_confirm),
            positiveButtonAction = {
                getApplication(fusedApp)
                installApplication(fusedApp)
            },
            cancelButtonText = getString(R.string.dialog_cancel),
        ).show(childFragmentManager, "HomeFragment")
@@ -333,7 +332,7 @@ class ApplicationListFragment :
        super.onPause()
    }

    override fun getApplication(app: FusedApp, appIcon: ImageView?) {
    override fun installApplication(app: FusedApp) {
        mainActivityViewModel.getApplication(app)
    }

+8 −9
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ package foundation.e.apps.ui.applicationlist
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import androidx.core.content.ContextCompat
import androidx.core.view.children
import androidx.lifecycle.LifecycleOwner
@@ -40,7 +39,7 @@ import foundation.e.apps.data.cleanapk.CleanApkRetrofit
import foundation.e.apps.data.enums.Origin
import foundation.e.apps.data.enums.Status
import foundation.e.apps.data.enums.User
import foundation.e.apps.data.fused.FusedAPIInterface
import foundation.e.apps.data.fused.ApplicationInstaller
import foundation.e.apps.data.fused.data.FusedApp
import foundation.e.apps.databinding.ApplicationListItemBinding
import foundation.e.apps.install.pkg.InstallerService
@@ -56,7 +55,7 @@ import javax.inject.Singleton

@Singleton
class ApplicationListRVAdapter(
    private val fusedAPIInterface: FusedAPIInterface,
    private val applicationInstaller: ApplicationInstaller,
    private val privacyInfoViewModel: PrivacyInfoViewModel,
    private val appInfoFetchViewModel: AppInfoFetchViewModel,
    private val mainActivityViewModel: MainActivityViewModel,
@@ -326,7 +325,7 @@ class ApplicationListRVAdapter(
            backgroundTintList =
                ContextCompat.getColorStateList(view.context, android.R.color.transparent)
            setOnClickListener {
                installApplication(searchApp, appIcon)
                installApplication(searchApp)
            }
        }
    }
@@ -447,7 +446,7 @@ class ApplicationListRVAdapter(
                if (searchApp.isFree || searchApp.isPurchased) {
                    disableInstallButton()
                    text = context.getText(R.string.cancel)
                    installApplication(searchApp, appIcon)
                    installApplication(searchApp)
                } else {
                    paidAppHandler?.invoke(searchApp)
                }
@@ -504,7 +503,7 @@ class ApplicationListRVAdapter(
                if (mainActivityViewModel.checkUnsupportedApplication(searchApp, context)) {
                    return@setOnClickListener
                }
                installApplication(searchApp, appIcon)
                installApplication(searchApp)
            }
        }
        progressBarInstall.visibility = View.GONE
@@ -543,12 +542,12 @@ class ApplicationListRVAdapter(
        this.submitList(newList.map { it.copy() })
    }

    private fun installApplication(searchApp: FusedApp, appIcon: ImageView) {
        fusedAPIInterface.getApplication(searchApp, appIcon)
    private fun installApplication(searchApp: FusedApp) {
        applicationInstaller.installApplication(searchApp)
    }

    private fun cancelDownload(searchApp: FusedApp) {
        fusedAPIInterface.cancelDownload(searchApp)
        applicationInstaller.cancelDownload(searchApp)
    }

    override fun onDetachedFromRecyclerView(recyclerView: RecyclerView) {
+4 −5
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ package foundation.e.apps.ui.home

import android.os.Bundle
import android.view.View
import android.widget.ImageView
import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
@@ -32,7 +31,7 @@ import dagger.hilt.android.AndroidEntryPoint
import foundation.e.apps.R
import foundation.e.apps.data.ResultSupreme
import foundation.e.apps.data.enums.Status
import foundation.e.apps.data.fused.FusedAPIInterface
import foundation.e.apps.data.fused.ApplicationInstaller
import foundation.e.apps.data.fused.data.FusedApp
import foundation.e.apps.data.fused.data.FusedHome
import foundation.e.apps.data.login.AuthObject
@@ -53,7 +52,7 @@ import kotlinx.coroutines.launch
import javax.inject.Inject

@AndroidEntryPoint
class HomeFragment : TimeoutFragment(R.layout.fragment_home), FusedAPIInterface {
class HomeFragment : TimeoutFragment(R.layout.fragment_home), ApplicationInstaller {

    /*
     * Make adapter nullable to avoid memory leaks.
@@ -134,7 +133,7 @@ class HomeFragment : TimeoutFragment(R.layout.fragment_home), FusedAPIInterface
            ),
            positiveButtonText = getString(R.string.dialog_confirm),
            positiveButtonAction = {
                getApplication(fusedApp)
                installApplication(fusedApp)
            },
            cancelButtonText = getString(R.string.dialog_cancel),
        ).show(childFragmentManager, "HomeFragment")
@@ -284,7 +283,7 @@ class HomeFragment : TimeoutFragment(R.layout.fragment_home), FusedAPIInterface
        homeParentRVAdapter = null
    }

    override fun getApplication(app: FusedApp, appIcon: ImageView?) {
    override fun installApplication(app: FusedApp) {
        mainActivityViewModel.getApplication(app)
    }

+9 −10
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ package foundation.e.apps.ui.home.model
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import androidx.core.content.ContextCompat
import androidx.lifecycle.LifecycleOwner
import androidx.navigation.findNavController
@@ -37,7 +36,7 @@ import foundation.e.apps.data.cleanapk.CleanApkRetrofit
import foundation.e.apps.data.enums.Origin
import foundation.e.apps.data.enums.Status
import foundation.e.apps.data.enums.User
import foundation.e.apps.data.fused.FusedAPIInterface
import foundation.e.apps.data.fused.ApplicationInstaller
import foundation.e.apps.data.fused.data.FusedApp
import foundation.e.apps.databinding.HomeChildListItemBinding
import foundation.e.apps.ui.AppInfoFetchViewModel
@@ -47,7 +46,7 @@ import foundation.e.apps.utils.disableInstallButton
import foundation.e.apps.utils.enableInstallButton

class HomeChildRVAdapter(
    private var fusedAPIInterface: FusedAPIInterface?,
    private var applicationInstaller: ApplicationInstaller?,
    private val appInfoFetchViewModel: AppInfoFetchViewModel,
    private val mainActivityViewModel: MainActivityViewModel,
    private var lifecycleOwner: LifecycleOwner?,
@@ -136,7 +135,7 @@ class HomeChildRVAdapter(
            enableInstallButton()
            text = context.getString(R.string.retry)
            setOnClickListener {
                installApplication(homeApp, appIcon)
                installApplication(homeApp)
            }
        }
        progressBarInstall.visibility = View.GONE
@@ -201,7 +200,7 @@ class HomeChildRVAdapter(
                if (homeApp.isFree) {
                    disableInstallButton()
                    text = context.getString(R.string.cancel)
                    installApplication(homeApp, appIcon)
                    installApplication(homeApp)
                } else {
                    paidAppHandler?.invoke(homeApp)
                }
@@ -221,7 +220,7 @@ class HomeChildRVAdapter(
                if (mainActivityViewModel.checkUnsupportedApplication(homeApp, context)) {
                    return@setOnClickListener
                }
                installApplication(homeApp, appIcon)
                installApplication(homeApp)
            }
        }
        progressBarInstall.visibility = View.GONE
@@ -283,18 +282,18 @@ class HomeChildRVAdapter(
        this.submitList(newList.map { it.copy() })
    }

    private fun installApplication(homeApp: FusedApp, appIcon: ImageView) {
        fusedAPIInterface?.getApplication(homeApp, appIcon)
    private fun installApplication(homeApp: FusedApp) {
        applicationInstaller?.installApplication(homeApp)
    }

    private fun cancelDownload(homeApp: FusedApp) {
        fusedAPIInterface?.cancelDownload(homeApp)
        applicationInstaller?.cancelDownload(homeApp)
    }

    override fun onDetachedFromRecyclerView(recyclerView: RecyclerView) {
        super.onDetachedFromRecyclerView(recyclerView)
        lifecycleOwner = null
        paidAppHandler = null
        fusedAPIInterface = null
        applicationInstaller = null
    }
}
Loading