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

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

fetch eligible system apps beforehand

parent 1d95bb38
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -120,6 +120,7 @@ class MainActivity : AppCompatActivity() {
        }

        viewModel.updateAppWarningList()
        viewModel.updateEligibleSystemAppsList()

        observeEvents()
    }
+9 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import foundation.e.apps.data.blockedApps.BlockedAppRepository
import foundation.e.apps.data.enums.ResultStatus
import foundation.e.apps.data.enums.User
import foundation.e.apps.data.application.data.Application
import foundation.e.apps.data.gitlab.SystemAppsUpdatesRepository
import foundation.e.apps.data.login.AuthenticatorRepository
import foundation.e.apps.data.preference.DataStoreManager
import foundation.e.apps.data.updates.UpdatesManagerRepository
@@ -39,6 +40,7 @@ class UpdatesWorker @AssistedInject constructor(
    private val dataStoreManager: DataStoreManager,
    private val authenticatorRepository: AuthenticatorRepository,
    private val appInstallProcessor: AppInstallProcessor,
    private val systemAppsUpdatesRepository: SystemAppsUpdatesRepository,
    private val blockedAppRepository: BlockedAppRepository,
) : CoroutineWorker(context, params) {

@@ -62,6 +64,7 @@ class UpdatesWorker @AssistedInject constructor(
            }

            refreshBlockedAppList()
            refreshEligibleSystemApps()
            checkForUpdates()
            Result.success()
        } catch (e: Throwable) {
@@ -80,6 +83,12 @@ class UpdatesWorker @AssistedInject constructor(
        }
    }

    private suspend fun refreshEligibleSystemApps() {
        if (systemAppsUpdatesRepository.getAllEligibleApps().isEmpty()) {
            systemAppsUpdatesRepository.fetchAllEligibleApps()
        }
    }

    private suspend fun checkManualUpdateRunning(): Boolean {
        val workInfos =
            withContext(Dispatchers.IO) {
+8 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import foundation.e.apps.data.enums.isInitialized
import foundation.e.apps.data.enums.isUnFiltered
import foundation.e.apps.data.fusedDownload.FusedManagerRepository
import foundation.e.apps.data.fusedDownload.models.FusedDownload
import foundation.e.apps.data.gitlab.SystemAppsUpdatesRepository
import foundation.e.apps.data.preference.AppLoungeDataStore
import foundation.e.apps.data.preference.getSync
import foundation.e.apps.install.pkg.AppLoungePackageManager
@@ -59,6 +60,7 @@ class MainActivityViewModel @Inject constructor(
    private val pwaManager: PWAManager,
    private val ecloudRepository: EcloudRepository,
    private val blockedAppRepository: BlockedAppRepository,
    private val systemAppsUpdatesRepository: SystemAppsUpdatesRepository,
    private val appInstallProcessor: AppInstallProcessor,
) : ViewModel() {

@@ -229,6 +231,12 @@ class MainActivityViewModel @Inject constructor(
        }
    }

    fun updateEligibleSystemAppsList() {
        viewModelScope.launch {
            systemAppsUpdatesRepository.fetchAllEligibleApps()
        }
    }

    fun getAppNameByPackageName(packageName: String): String {
        return appLoungePackageManager.getAppNameFromPackageName(packageName)
    }