Skip to content

Commit

Permalink
feat: Add setExpeditedIfAvailable for foreground work
Browse files Browse the repository at this point in the history
Fixes KDRIVE-ANDROID-K1
  • Loading branch information
sirambd committed Oct 10, 2023
1 parent 3225365 commit 3ee9078
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,4 @@ object BulkOperationsUtils {
.build()
).get()?.isNotEmpty() == true
}
}
}
8 changes: 8 additions & 0 deletions app/src/main/java/com/infomaniak/drive/utils/Extensions.kt
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ import androidx.core.view.isGone
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import androidx.work.OneTimeWorkRequest
import androidx.work.OutOfQuotaPolicy
import coil.load
import coil.request.Disposable
import com.google.android.material.card.MaterialCardView
Expand Down Expand Up @@ -376,3 +378,9 @@ fun <T> ApiResponse<ArrayList<T>>.isLastPage() = (data?.size ?: 0) < itemsPerPag
fun Context.getInfomaniakLogin(): InfomaniakLogin {
return InfomaniakLogin(this, appUID = BuildConfig.APPLICATION_ID, clientID = BuildConfig.CLIENT_ID)
}

//region Worker
fun OneTimeWorkRequest.Builder.setExpeditedIfAvailable() = apply {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
}
//endregion
4 changes: 1 addition & 3 deletions app/src/main/java/com/infomaniak/drive/utils/SyncUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,7 @@ object SyncUtils {
if (!isSyncActive() || force) {
val request = OneTimeWorkRequestBuilder<UploadWorker>()
.setConstraints(UploadWorker.workConstraints())
.apply {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
}
.setExpeditedIfAvailable()
.setInputData(data)
.build()
WorkManager.getInstance(this).enqueueUniqueWork(UploadWorker.TAG, ExistingWorkPolicy.REPLACE, request)
Expand Down
1 change: 1 addition & 0 deletions app/src/main/java/com/infomaniak/drive/utils/Utils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,7 @@ object Utils {
.addTag(file.getWorkerTag())
.setInputData(inputData)
.setConstraints(constraints)
.setExpeditedIfAvailable()
.build()

workManager.enqueueUniqueWork(DownloadWorker.TAG, ExistingWorkPolicy.APPEND_OR_REPLACE, downloadRequest)
Expand Down

0 comments on commit 3ee9078

Please sign in to comment.