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

Commit 49c099b5 authored by Hasib Prince's avatar Hasib Prince
Browse files

refactoring: homepage

parent 38fbf14c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -40,8 +40,8 @@ import com.google.android.material.snackbar.Snackbar
import dagger.hilt.android.AndroidEntryPoint
import foundation.e.apps.data.fusedDownload.models.FusedDownload
import foundation.e.apps.data.login.AuthObject
import foundation.e.apps.data.login.PlayStoreAuthenticator
import foundation.e.apps.data.login.LoginViewModel
import foundation.e.apps.data.login.PlayStoreAuthenticator
import foundation.e.apps.data.login.exceptions.GPlayValidationException
import foundation.e.apps.data.preference.PreferenceManagerModule
import foundation.e.apps.databinding.ActivityMainBinding
@@ -105,7 +105,7 @@ class MainActivity : AppCompatActivity() {
            }
        }

        viewModel.setupConnectivityManager(this)
        viewModel.setupConnectivityManager(this.applicationContext)

        viewModel.internetConnection.observe(this) { isInternetAvailable ->
            hasInternet = isInternetAvailable
+6 −4
Original line number Diff line number Diff line
@@ -27,16 +27,13 @@ import com.aurora.gplayapi.SearchSuggestEntry
import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.Artwork
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.data.models.Category as GplayapiCategory
import com.aurora.gplayapi.data.models.SearchBundle
import com.aurora.gplayapi.data.models.StreamCluster
import dagger.hilt.android.qualifiers.ApplicationContext
import foundation.e.apps.R
import foundation.e.apps.data.ResultSupreme
import foundation.e.apps.data.cleanapk.CleanApkDownloadInfoFetcher
import foundation.e.apps.data.cleanapk.data.app.Application as CleanApkApplication
import foundation.e.apps.data.cleanapk.data.categories.Categories
import foundation.e.apps.data.cleanapk.data.home.Home as CleanApkHome
import foundation.e.apps.data.cleanapk.data.home.HomeScreen
import foundation.e.apps.data.cleanapk.data.search.Search
import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository
@@ -77,6 +74,9 @@ import timber.log.Timber
import javax.inject.Inject
import javax.inject.Named
import javax.inject.Singleton
import com.aurora.gplayapi.data.models.Category as GplayapiCategory
import foundation.e.apps.data.cleanapk.data.app.Application as CleanApkApplication
import foundation.e.apps.data.cleanapk.data.home.Home as CleanApkHome

typealias FusedHomeDeferred = Deferred<ResultSupreme<List<Home>>>

@@ -134,9 +134,11 @@ class ApplicationApiImpl @Inject constructor(
                resultGplay?.await()?.let {
                    emit(it)
                }

                resultOpenSource?.await()?.let {
                    emit(it)
                }

                resultPWA?.await()?.let {
                    emit(it)
                }
@@ -1311,7 +1313,7 @@ class ApplicationApiImpl @Inject constructor(
                return@forEach
            }
            val currentAppStatus =
                pkgManagerModule.getPackageStatus(it.package_name, it.latest_version_code)
                getFusedAppInstallationStatus(it)
            if (it.status != currentAppStatus) {
                return true
            }
+4 −1
Original line number Diff line number Diff line
@@ -18,8 +18,11 @@

package foundation.e.apps.data.fused.data

import java.util.UUID

data class Home(
    val title: String = String(),
    val list: List<Application> = emptyList(),
    var source: String = String()
    var source: String = String(),
    var id: String = UUID.randomUUID().toString()
)
+6 −1
Original line number Diff line number Diff line
@@ -56,7 +56,12 @@ class PkgManagerModule @Inject constructor(

    fun isInstalled(packageName: String): Boolean {
        return try {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
                packageManager.getPackageInfo(packageName, PackageManager.PackageInfoFlags.of(0L))
            } else {
                packageManager.getPackageInfo(packageName, PackageManager.GET_META_DATA)
            }

            true
        } catch (e: PackageManager.NameNotFoundException) {
            false
+1 −5
Original line number Diff line number Diff line
@@ -29,11 +29,9 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
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.ApplicationInstaller
import foundation.e.apps.data.fused.data.Application
import foundation.e.apps.data.fused.data.Home
import foundation.e.apps.data.login.AuthObject
import foundation.e.apps.data.login.exceptions.GPlayException
import foundation.e.apps.data.login.exceptions.GPlayLoginException
@@ -253,9 +251,7 @@ class HomeFragment : TimeoutFragment(R.layout.fragment_home), ApplicationInstall
            updateProgressOfDownloadingAppItemViews(homeParentRVAdapter, it)
        }

        if (homeViewModel.isAnyAppInstallStatusChanged(homeParentRVAdapter?.currentList)) {
            repostAuthObjects()
        }
        homeViewModel.checkAnyChangeInAppStatus()
    }

    override fun onPause() {
Loading