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

Commit 39768a50 authored by Jonathan Klee's avatar Jonathan Klee
Browse files

Merge branch '0000-s-fused-renamings' into 'main'

Rename FusedAPIInterface in ApplicationInstaller

See merge request !389
parents c012a3d0 39d853f1
Loading
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@
    <ID>LongMethod:MainActivity.kt$MainActivity$override fun onCreate(savedInstanceState: Bundle?)</ID>
    <ID>LongMethod:NativeDeviceInfoProviderModule.kt$NativeDeviceInfoProviderModule$@Singleton @Provides fun provideNativeDeviceProperties( @ApplicationContext context: Context, ): Properties</ID>
    <ID>LongParameterList:ApplicationDialogFragment.kt$ApplicationDialogFragment$( drawable: Int = -1, title: String, message: String, positiveButtonText: String = "", positiveButtonAction: (() -&gt; Unit)? = null, cancelButtonText: String = "", cancelButtonAction: (() -&gt; Unit)? = null, cancellable: Boolean = true, onDismissListener: (() -&gt; Unit)? = null, )</ID>
    <ID>LongParameterList:ApplicationListRVAdapter.kt$ApplicationListRVAdapter$( private val fusedAPIInterface: FusedAPIInterface, private val privacyInfoViewModel: PrivacyInfoViewModel, private val appInfoFetchViewModel: AppInfoFetchViewModel, private val mainActivityViewModel: MainActivityViewModel, private val currentDestinationId: Int, private var lifecycleOwner: LifecycleOwner?, private var paidAppHandler: ((FusedApp) -&gt; Unit)? = null )</ID>
    <ID>LongParameterList:ApplicationListRVAdapter.kt$ApplicationListRVAdapter$( private val applicationInstaller: ApplicationInstaller, private val privacyInfoViewModel: PrivacyInfoViewModel, private val appInfoFetchViewModel: AppInfoFetchViewModel, private val mainActivityViewModel: MainActivityViewModel, private val currentDestinationId: Int, private var lifecycleOwner: LifecycleOwner?, private var paidAppHandler: ((FusedApp) -&gt; Unit)? = null )</ID>
    <ID>LongParameterList:ApplicationViewModel.kt$ApplicationViewModel$( id: String, packageName: String, origin: Origin, isFdroidLink: Boolean, authObjectList: List&lt;AuthObject&gt;, retryBlock: (failedObjects: List&lt;AuthObject&gt;) -&gt; Boolean, )</ID>
    <ID>LongParameterList:CleanApkRetrofit.kt$CleanApkRetrofit$( @Query("keyword") keyword: String, @Query("source") source: String = APP_SOURCE_FOSS, @Query("type") type: String = APP_TYPE_ANY, @Query("nres") nres: Int = 20, @Query("page") page: Int = 1, @Query("by") by: String? = null, )</ID>
    <ID>LongParameterList:EglExtensionProvider.kt$EglExtensionProvider$( egl10: EGL10, eglDisplay: EGLDisplay, eglConfig: EGLConfig?, ai: IntArray, ai1: IntArray?, set: MutableSet&lt;String&gt; )</ID>
@@ -195,7 +195,7 @@
    <ID>TooManyFunctions:AppInstallProcessor.kt$AppInstallProcessor</ID>
    <ID>TooManyFunctions:AppPrivacyInfoRepositoryImpl.kt$AppPrivacyInfoRepositoryImpl : IAppPrivacyInfoRepository</ID>
    <ID>TooManyFunctions:ApplicationFragment.kt$ApplicationFragment : TimeoutFragment</ID>
    <ID>TooManyFunctions:ApplicationListFragment.kt$ApplicationListFragment : TimeoutFragmentFusedAPIInterface</ID>
    <ID>TooManyFunctions:ApplicationListFragment.kt$ApplicationListFragment : TimeoutFragmentApplicationInstaller</ID>
    <ID>TooManyFunctions:ApplicationListRVAdapter.kt$ApplicationListRVAdapter : ListAdapter</ID>
    <ID>TooManyFunctions:DownloadManager.kt$DownloadManager</ID>
    <ID>TooManyFunctions:FusedAPIRepository.kt$FusedAPIRepository</ID>
@@ -205,7 +205,7 @@
    <ID>TooManyFunctions:FusedManagerRepository.kt$FusedManagerRepository</ID>
    <ID>TooManyFunctions:GPlayHttpClient.kt$GPlayHttpClient : IHttpClient</ID>
    <ID>TooManyFunctions:HomeChildRVAdapter.kt$HomeChildRVAdapter : ListAdapter</ID>
    <ID>TooManyFunctions:HomeFragment.kt$HomeFragment : TimeoutFragmentFusedAPIInterface</ID>
    <ID>TooManyFunctions:HomeFragment.kt$HomeFragment : TimeoutFragmentApplicationInstaller</ID>
    <ID>TooManyFunctions:IFusedManager.kt$IFusedManager</ID>
    <ID>TooManyFunctions:LoginData.kt$LoginData</ID>
    <ID>TooManyFunctions:MainActivity.kt$MainActivity : AppCompatActivity</ID>
@@ -214,9 +214,9 @@
    <ID>TooManyFunctions:PlayStoreAuthenticator.kt$PlayStoreAuthenticator : StoreAuthenticatorAuthDataValidator</ID>
    <ID>TooManyFunctions:PlayStoreRepositoryImpl.kt$PlayStoreRepositoryImpl : PlayStoreRepository</ID>
    <ID>TooManyFunctions:RetrofitModule.kt$RetrofitModule</ID>
    <ID>TooManyFunctions:SearchFragment.kt$SearchFragment : TimeoutFragmentOnQueryTextListenerOnSuggestionListenerFusedAPIInterface</ID>
    <ID>TooManyFunctions:SearchFragment.kt$SearchFragment : TimeoutFragmentOnQueryTextListenerOnSuggestionListenerApplicationInstaller</ID>
    <ID>TooManyFunctions:TimeoutFragment.kt$TimeoutFragment : Fragment</ID>
    <ID>TooManyFunctions:UpdatesFragment.kt$UpdatesFragment : TimeoutFragmentFusedAPIInterface</ID>
    <ID>TooManyFunctions:UpdatesFragment.kt$UpdatesFragment : TimeoutFragmentApplicationInstaller</ID>
    <ID>TooManyFunctions:UpdatesManagerImpl.kt$UpdatesManagerImpl</ID>
    <ID>TooManyFunctions:UpdatesWorker.kt$UpdatesWorker : CoroutineWorker</ID>
    <ID>UnusedParameter:ApplicationFragment.kt$ApplicationFragment$it: ImageView</ID>
+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)
    }

Loading