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

Commit 2aa20af6 authored by Jonathan Klee's avatar Jonathan Klee
Browse files

fix: Fix upload for unlimited quota case

parent 2cca7ff1
Loading
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ import foundation.e.drive.database.FailedSyncPrefsManager
import foundation.e.drive.models.SyncRequest
import foundation.e.drive.models.SyncWrapper
import foundation.e.drive.utils.AppConstants.ACCOUNT_DATA_RELATIVE_QUOTA_KEY
import foundation.e.drive.utils.AppConstants.ACCOUNT_DATA_TOTAL_QUOTA_KEY
import foundation.e.drive.utils.CommonUtils
import foundation.e.drive.work.WorkLauncher
import timber.log.Timber
@@ -58,6 +59,7 @@ interface SyncManager {
 */
object SyncProxy: SyncRequestCollector, SyncManager {
    private const val MAX_RELATIVE_QUOTA = 99.0
    private const val UNLIMITED_QUOTA = -3

    private val syncRequestQueue: ConcurrentLinkedQueue<SyncRequest> = ConcurrentLinkedQueue() //could we use channel instead ?
    private val startedRequests: ConcurrentHashMap<String, SyncWrapper> = ConcurrentHashMap()
@@ -227,10 +229,13 @@ object SyncProxy: SyncRequestCollector, SyncManager {
            accountManager
        ) ?: return true

        val totalQuota = accountManager.getUserData(account, ACCOUNT_DATA_TOTAL_QUOTA_KEY)
            .toIntOrNull() ?: UNLIMITED_QUOTA

        val relativeQuota = accountManager.getUserData(account, ACCOUNT_DATA_RELATIVE_QUOTA_KEY)
            ?: "$MAX_RELATIVE_QUOTA"

        return relativeQuota.toFloat() >= MAX_RELATIVE_QUOTA
        return totalQuota != UNLIMITED_QUOTA && relativeQuota.toFloat() >= MAX_RELATIVE_QUOTA
    }

    override fun pollSyncRequest(): SyncRequest? {